- Python機器學習(原書第3版)
- (美)塞巴斯蒂安·拉施卡 瓦希德·米爾賈利利
- 2526字
- 2021-06-11 16:13:34
1.2 三種不同類型的機器學習
本節將討論監督學習、無監督學習和強化學習這三種類型的機器學習。了解三者之間的根本差別,并通過概念性的示例,我們將形成可應用于實際問題領域的見解,如圖1-1所示。

圖 1-1
1.2.1 用監督學習預測未來
監督學習的主要目標是從有標簽的訓練數據中學習模型,以便對未知或未來的數據做出預測。在這里“監督”一詞指的是已經知道訓練樣本(輸入數據)中期待的輸出信號(標簽)。圖1-2總結了一個典型的監督學習流程,先為機器學習算法提供打過標簽的訓練數據以擬合預測模型,然后用該模型對未打過標簽的新數據進行預測。

圖 1-2
以垃圾郵件過濾為例,可以采用監督機器學習算法在打過標簽的(正確標識垃圾與非垃圾)電子郵件的語料庫上訓練模型,然后用該模型來預測新郵件是否屬于垃圾郵件。帶有離散分類標簽的監督學習任務也被稱為分類任務,例如上述的垃圾電子郵件過濾示例。監督學習的另一個子類被稱為回歸,其結果信號是連續的數值。
1.2.1.1 用于預測類標簽的分類
分類是監督學習的一個分支,其目的是根據過去的觀測結果來預測新樣本的分類標簽。這些分類標簽是離散的無序值,可以理解為樣本的組成員關系。前面提到的郵件垃圾檢測就是典型的二元分類任務,機器學習算法學習規則以區分垃圾和非垃圾郵件。
圖1-3將通過30個訓練樣本闡述二元分類任務的概念,其中15個標簽為負類(-),另外15個標簽為正類(+)。該數據集為二維,這意味著每個樣本都與x1和x2的值相關。現在,可以通過監督機器學習算法來學習一個規則——用一條虛線來表示決策邊界——區分兩類數據,并根據x1和x2的值為新數據分類。

圖 1-3
但是,類標簽集并非都是二元的。經過監督學習算法學習所獲得的預測模型可以將訓練數據集中出現過的任何維度的類標簽分配給尚未打標簽的新樣本。
多類分類任務的典型示例是手寫字符識別。首先,收集包含字母表中所有字母的多個手寫示例所形成的訓練數據集。字母(“A”“B”“C”等)代表我們要預測的不同的無序類別或類標簽。然后,當用戶通過輸入設備提供新的手寫字符時,預測模型能夠以某一準確率將其識別為字母表中的正確字母。然而,該機器學習系統卻無法正確地識別0到9之間的任何數字,因為它們并不是訓練數據集中的一部分。
1.2.1.2 用于預測連續結果的回歸
上一節學習到分類任務是為樣本分配無序的分類標簽。第二類監督學習是對連續結果的預測,也稱為回歸分析。回歸分析包括一些預測(解釋)變量和一個連續的響應變量(結果),試圖尋找那些變量之間的關系,從而能夠讓我們預測結果。
注意,機器學習領域的預測變量通常被稱為“特征”,而響應變量通常被稱為“目標變量”。本書通篇將采用該命名規則。
以預測學生SAT數學成績為例。假設學習時間與考試成績相關,以此為訓練數據通過機器學習建模,用將來打算參加該項考試學生的學習時間來預測其考試成績。
均值回歸
1886年,Francis Galton在其論文Regression towards Mediocrity in Hereditary Stature中首次提到回歸一詞。Galton描述了一種生物學現象,即種群身高的變化不會隨時間的推移而增加。
他觀察到父母的身高不會遺傳給自己的孩子,相反,孩子的身高會回歸到總體均值。
圖1-4說明了線性回歸的概念。給定特征變量x和目標變量y,對數據進行線性擬合,最小化樣本點和擬合線之間的距離——最常用的平均平方距離。現在可以用從該數據中學習到的截距和斜率來預測新數據的目標變量。

圖 1-4
1.2.2 用強化學習解決交互問題
另一類機器學習是強化學習。強化學習的目標是開發一個系統(智能體),通過與環境的交互來提高其性能。當前環境狀態的信息通常包含所謂的獎勵信號,可以把強化學習看作一個與監督學習相關的領域。然而強化學習的反饋并非標定過的正確標簽或數值,而是獎勵函數對行動度量的結果。智能體可以與環境交互完成強化學習,并通過探索性的試錯或深思熟慮的規劃來最大化這種獎勵。
強化學習的常見示例是國際象棋。智能體根據棋盤的狀態或環境來決定一系列的行動,獎勵定義為比賽的輸或贏,如圖1-5所示。

圖 1-5
強化學習有許多不同的子類。然而,一般模式是強化學習智能體試圖通過與環境的一系列交互來最大化獎勵。每種狀態都可以與正或負的獎勵相關聯,獎勵可以被定義為完成一個總目標,如贏棋或輸棋。例如國際象棋每走一步的結果都可以認為是環境的一個不同狀態。
為進一步探索國際象棋的示例,觀察一下棋盤上與贏棋相關聯的某些狀況,比如吃掉對手的棋子或威脅皇后。也注意一下棋盤上與輸棋相關聯的狀態,例如在接下來的回合中輸給對手一個棋子。下棋只有到了結束的時候才會得到獎勵(無論是正面的贏棋還是負面的輸棋)。另外,最終的獎勵也取決于對手的表現。例如,對手可能犧牲了皇后,但最終贏棋了。
強化學習涉及根據學習一系列的行動來最大化總體獎勵,這些獎勵可能即時獲得,也可能延后獲得。
1.2.3 用無監督學習發現隱藏的結構
監督學習訓練模型時,事先知道正確的答案;在強化學習的過程中,定義了智能體對特定行動的獎勵。然而,無監督學習處理的是無標簽或結構未知的數據。用無監督學習技術,可以在沒有已知結果變量或獎勵函數的指導下,探索數據結構來提取有意義的信息。
1.2.3.1 用聚類尋找子群
聚類是探索性的數據分析技術,可以在事先不了解成員關系的情況下,將信息分成有意義的子群(集群)。為在分析過程中出現的每個集群定義一組對象,集群的成員之間具有一定程度的相似性,但與其他集群中對象的差異性較大,這就是為什么聚類有時也被稱為無監督分類。聚類是一種構造信息和從數據中推導出有意義關系的有用技術。例如,它允許營銷人員根據自己的興趣發現客戶群,以便制定不同的市場營銷計劃。
圖1-6解釋了如何應用聚類把無標簽數據根據x1和x2的相似性分成三組。

圖 1-6
1.2.3.2 通過降維壓縮數據
無監督學習的另一個子類是降維。我們經常要面對高維數據。高維數據的每個觀察通常都伴隨著大量的測量數據,這對有限的存儲空間和機器學習算法的計算性能提出了挑戰。無監督降維是特征預處理中一種常用的數據去噪方法,不僅可以降低某些算法對預測性能的要求,而且可以在保留大部分相關信息的同時將數據壓縮到較小維數的子空間上。
有時降維有利于數據的可視化,例如,為了通過二維散點圖、三維散點圖或直方圖實現數據的可視化,可以把高維特征數據集映射到一維、二維或三維特征空間。圖1-7展示了一個采用非線性降維將三維瑞士卷壓縮成新的二維特征子空間的示例。

圖 1-7
- 解構產品經理:互聯網產品策劃入門寶典
- GitLab Cookbook
- LabVIEW Graphical Programming Cookbook
- 機器學習系統:設計和實現
- Learning Chef
- Getting Started with ResearchKit
- Koa開發:入門、進階與實戰
- Android NDK Beginner’s Guide
- Building Minecraft Server Modifications
- C語言程序設計同步訓練與上機指導(第三版)
- 軟件品質之完美管理:實戰經典
- ArcGIS for Desktop Cookbook
- 軟件體系結構
- Solutions Architect's Handbook
- 一步一步跟我學Scratch3.0案例