天天看點

機器學習從零基礎開始【第一節】

機器學習一詞由美國計算機遊戲和人工智能領域的先驅亞瑟·塞缪爾 (Arthur Samuel) 于 1959 年創造,并表示“它賦予計算機無需明确程式設計的學習能力”。

1997 年,湯姆·米切爾 (Tom Mitchell) 給出了一個“适定”的數學和關系定義,

“如果計算機程式在 T 上的性能(由 P 衡量)随着經驗 E 提高,則稱該計算機程式從經驗 E 中學習關于某些任務 T 和某些性能度量 P。”

機器學習是近年來的流行語。因為它是計算機科學中最有趣的子領域之一。那麼機器學習的真正含義是什麼?

讓我們嘗試用外行的術語來了解機器學習。想一想你正試圖将一團紙扔進垃圾箱。 在第一次嘗試之後,你意識到你用力過猛。第二次嘗試後,您意識到您離目标更近了,但您需要增加投擲角度。這裡發生的事情基本上是在每次投擲之後我們都在學習一些東西并改進最終結果。我們被程式設計為從我們的經驗中學習。

這意味着機器學習所關注的任務提供了一個基本的操作定義,而不是用認知術語來定義該領域。這遵循了艾倫·圖靈在他的論文“計算機與智能”中提出的“機器能思考嗎?”這個問題。被替換為“機器可以做我們(作為思考實體)可以做的事情嗎?”

在資料分析領域,機器學習用于設計複雜的模型和算法以進行預測;在商業用途中,這稱為預測分析。這些分析模型允許研究人員、資料科學家、工程師和分析師通過學習資料集(輸入)中的曆史關系和趨勢,“産生可靠、可重複的決策和結果”并發現“隐藏的見解”。

假設您決定檢視該假期的優惠。您浏覽旅行社網站并搜尋酒店。當您檢視特定酒店時,在酒店描述下方有一個标題為“您可能也喜歡這些酒店”的部分。這是機器學習的一個常見用例,稱為“推薦引擎”。同樣,許多資料點被用于訓練模型,以根據他們已經了解的大量資訊來預測在該部分下向您展示的最佳酒店。

是以,如果您希望您的程式預測,例如,繁忙路口的交通模式(任務 T),您可以通過機器學習算法運作它,并使用有關過去交通模式的資料(經驗 E),如果它已成功“學習”,然後它将更好地預測未來的流量模式(性能度量 P)。

然而,許多現實世界問題的高度複雜性通常意味着,發明每次都能完美解決這些問題的專門算法是不切實際的,如果不是不可能的話。機器學習問題的例子包括,“這是癌症嗎?”,“這些人中誰是彼此的好朋友?”,“這個人會喜歡這部電影嗎?” 此類問題是機器學習的極好目标,事實上,機器學習已被應用于此類問題并取得了巨大成功。

機器學習的分類

機器學習實作分為三大類,具體取決于學習系統可用的學習“信号”或“響應”的性質,如下所示:

監督學習: 當算法從示例資料和相關的目标響應中學習時,這些目标響應可以由數值或字元串标簽組成,例如類或标簽,以便以後在新示例中預測正确響應時,屬于監督學習的範疇. 這種方法确實類似于人類在教師監督下的學習。教師提供好的例子讓學生記住,然後學生從這些具體的例子中推導出一般規則。

無監督學習:而當算法從沒有任何關聯響應的普通示例中學習時,讓算法自行确定資料模式。這種類型的算法傾向于将資料重組為其他東西,例如可能代表一個類或一系列新的不相關值的新特征。它們在為人類提供對資料含義的洞察以及對監督機器學習算法的新有用輸入方面非常有用。

作為一種學習,它類似于人類用來判斷某些對象或事件是否屬于同一類的方法,例如通過觀察對象之間的相似程度。您在網上找到的一些以營銷自動化形式出現的推薦系統就是基于這種類型的學習。

強化學習: 當您向算法展示缺少标簽的示例時,如無監督學習。但是,您可以根據算法提出的解決方案附帶一個帶有正面或負面回報的示例,屬于強化學習類别,該類别與算法必須做出決策的應用程式相關(是以産品是規定性的,而不僅僅是描述性的,如在無監督學習中),并且決策承擔後果。在人世間,就像是在試錯中學習。

錯誤可以幫助您學習,因為它們會增加懲罰(成本、時間損失、後悔、痛苦等),告訴您某項行動比其他行動更不可能成功。當計算機學會自己玩電子遊戲時,就會出現強化學習的一個有趣例子。

在這種情況下,應用程式通過特定情況的示例展示算法,例如讓遊戲玩家在躲避敵人的同時陷入迷宮。該應用程式讓算法知道它采取的行動的結果,并且在嘗試避免它發現的危險并追求生存的同時進行學習。你可以看看谷歌 DeepMind 公司是如何建立一個強化學習程式來玩舊的 Atari 視訊遊戲的。觀看視訊時,請注意該程式最初是如何笨拙和不熟練的,但随着訓練不斷改進,直到它成為冠軍。

半監督學習:給出不完整的訓練信号:訓練集缺少一些(通常是很多)目标輸出。該原理有一個特殊情況,稱為轉導,其中整個問題執行個體集在學習時都是已知的,隻是缺少部分目标。

根據所需輸出分類

當人們考慮機器學習系統的期望輸出時,就會出現機器學習任務的另一種分類:

1.分類:當輸入被分成兩個或更多類時,學習者必須生成一個模型,将看不見的輸入配置設定給這些類中的一個或多個(多标簽分類)。這通常以受監督的方式解決。垃圾郵件過濾是分類的一個例子,其中輸入是電子郵件(或其他)消息,類别是“垃圾郵件”和“非垃圾郵件”。

2.回歸:這也是一個監督問題,輸出是連續的而不是離散的情況。

3.聚類:當一組輸入被分成組時。與分類不同,這些組是事先不知道的,這使得這通常是一項無監督的任務。

當問題無法通過典型方法解決時,機器學習就會出現。

繼續閱讀