官术网_书友最值得收藏!

1.2 機器學習算法的分類

機器學習算法的能力來源于算法的質量譯者注:泛化(generalization)能力。,這正是過去這些年科學家著力更新、改進的內容。這些算法根據使用的輸入數據、訓練方式以及學習到的模型的輸出結果,可分為如下3類。

(1)監督學習:這類算法根據一系列樣本(每個樣本的輸入有對應的輸出)的觀測結果建立從輸入到輸出的映射關系,最終構建一個預測模型。

(2)非監督學習:這類算法只需一系列樣本點的輸入,不需要樣本事先標注出對應的輸出。算法學習的信息能夠構建一個描述性模型譯者注:描述這個數據集樣本間某種關系的模型。,一個經典的例子是搜索引擎譯者注:可以通過網頁間的相互引用關系、文本內容等,自動將不同網站進行歸類。

(3)強化學習:這種算法能夠通過多次迭代并觀察每次迭代后環境產生的反饋進行學習。事實上,每次迭代后的輸出結果和模型采取的行動都會對環境產生影響,而環境也會針對這些影響進行反饋。這類算法多用于語音識別和文本識別譯者注:還有游戲角色的開發。

圖1.5描述了不同機器學習算法間的關系。

圖1.5 機器學習算法分類

1.2.1 監督學習

監督學習同時用樣本的輸入集合I和每個樣本對應的標簽集合O作為輸入數據,能夠建立從輸入I到標簽O的映射關系f,即模型與參數間的關系。用于求解模型、參數的數據集稱為訓練集(training set)。監督學習的訓練流程如圖1.6所示。

圖1.6 監督學習訓練流程

所有監督學習算法的訓練都基于以下這個論斷:如果一個算法擁有足夠大的訓練集,那么經過訓練后,它能夠建立一個映射關系B——這個映射關系能夠無限逼近于潛在的真實映射關系A譯者注:從概率論的角度來說,如果數據集中的所有樣本都是從同一分布P(A)中抽樣得到的,那么通過向監督學習算法輸入足夠的樣本,算法優化后得到的分布P(B)能夠無限逼近真實分布P(A)。

在用于預測問題時,監督學習假設相似的輸入有相似的輸出。也就是說,當B足夠接近A時,在新數據上應用時,給BA同一輸入,應該產生相似的輸出結果。譯者注:從概率論的角度來說,將模型P(B)應用在新數據上時,其輸出結果應當與真實分布P(A)的輸出結果相似。

總體來說,在實際應用中這兩個假設并不總是成立的。顯然,這種算法的最終表現在很大程度上取決于輸入數據集的質量。如果輸入數據集只包含少量樣本,那么訓練得到的模型就沒有學習到足夠經驗以進行正確預測。相反,過多的冗余樣本將導致優化的模型過于復雜,會降低模型的執行速度。

此外,在實際開發中我們發現,監督學習算法對數據集中的噪聲、奇異值非常敏感。即使很小比例的奇異值,也將導致整個系統產生極大偏誤,并給出錯誤預測。譯者注:這段話太片面,在頻率視角下和概率視角下的最大似然估計方法、貝葉斯方法中的高斯分布(單極值點)的確存在這個問題。但是對于多數模型,添加先驗概率后的后驗概率分布在很大程度上解決了這個問題。對于多極值點的模型,高斯混合分布的魯棒性是非常高的。因為這段話我不太認同,所以在這里專門添加了譯者注。

在監督學習中,我們可以根據輸入數據的特點、學習任務的不同,將其分成兩類。當需要輸出離散類型的數據和對數據集中的樣本進行歸類時,此類問題稱為分類問題;當需要輸出連續的結果時,這類問題稱為回歸問題。

1.2.2 非監督學習

非監督學習的目標是自動從數據集中提取信息,整個過程中沒有事先對數據集給出任何先驗假設。與監督學習不同,訓練數據集只包含樣本的輸入,不包含對應的輸出。非監督學習的目標是能夠自動在數據集中發現有用的信息,例如聚類(根據樣本間的相似特點將樣本組合在一起),典型的應用是搜索引擎。譯者注:搜索引擎的學習算法能夠通過網頁間的相互引用關系、文本內容等,自動將不同網站分類。當用戶輸入搜索關鍵詞時,算法同樣可以將用戶輸入的指令進行歸類,并將屬于同一類別的網頁返回給用戶。在整個過程中,算法都沒有得到任何有關類別的信息,但通過計算樣本間的相似度,算法能夠自動建立樣本間的聯系。

非監督學習算法的有效性在很大程度上取決于從數據集中抽取到的信息質量。這些算法通過比較數據集中樣本間的相似和不同之處來進行學習。圖1.7展示了監督學習和非監督學習的例子。

圖1.7 監督學習vs. 非監督學習

非監督學習在處理數值型數據集時具有很好的表現,但當處理非數值型數據集時,精確度會下降一些。總體來說,非監督學習適合處理含有順序的,或者能夠被明顯劃分成組并被明確辨識的數據集。

1.2.3 強化學習

強化學習的目標是構建一種算法,這類算法通過多次迭代和觀察每次迭代后環境產生的反饋進行學習。這類算法借助模型輸出決策所引起的外部環境反饋進行交互式學習。當模型給出正確決策時,外部環境會給予正向獎勵;當出錯時,外部環境會給予負向懲罰。算法的學習目標是最大化獎勵。

監督學習好比一位“老師”譯者注:是指數據集中含有標注。,通過標注數據來教學生(算法)學習。然而,不是對于所有問題都可以有這種“老師”。很多情況下,即使人類也只能給出定性的信息(好/壞、成功/失敗等)。

這類定性信息稱為“增強信號”(reinforcement signal)。在這種情況下,模型只能得到每次學習結果的增強信號,無法獲取任何關于如何優化智能體(agent)表現(模型參數)的信息。因為我們無法針對結果定義損失函數(cost function),所以也就無法計算出梯度(gradient)以供模型優化參數。強化學習的解決辦法是創建聰明的智能體并在外部環境中不斷試錯,來從經驗中學習。

圖1.8展示了強化學習的流程。

圖1.8 強化學習與環境間的交互

主站蜘蛛池模板: 灵宝市| 嘉义县| 乌拉特后旗| 弋阳县| 镶黄旗| 汪清县| 云霄县| 灵台县| 灵川县| 繁峙县| 渝北区| 溧水县| 措美县| 长沙县| 会昌县| 澜沧| 板桥市| 禄劝| 商都县| 五指山市| 介休市| 阿尔山市| 遵义市| 阳泉市| 武隆县| 神农架林区| 都兰县| 通河县| 黄梅县| 阿坝县| 永新县| 麻城市| 康保县| 长葛市| 黄浦区| 巫山县| 德江县| 扶绥县| 横峰县| 砀山县| 台中县|