Martin Heller
監(jiān)督學(xué)習(xí)可把標(biāo)記的訓(xùn)練數(shù)據(jù)轉(zhuǎn)化為經(jīng)過調(diào)優(yōu)的預(yù)測模型。
機(jī)器學(xué)習(xí)是人工智能的一個分支,包括從數(shù)據(jù)中自動創(chuàng)建模型的算法。從高層次上講,機(jī)器學(xué)習(xí)有四種:監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)、強(qiáng)化學(xué)習(xí)和主動機(jī)器學(xué)習(xí)。由于強(qiáng)化學(xué)習(xí)和主動機(jī)器學(xué)習(xí)相對較新,因此此類列表有時會省略它們。你也可以把半監(jiān)督學(xué)習(xí)添加到列表中,也不算錯。
什么是監(jiān)督學(xué)習(xí)?
監(jiān)督學(xué)習(xí)是從帶有正確答案(目標(biāo)值)的經(jīng)過標(biāo)記的訓(xùn)練數(shù)據(jù)開始的。在學(xué)習(xí)過程之后,將得到一個經(jīng)過調(diào)優(yōu)的權(quán)重集的模型,這可以用于預(yù)測尚未標(biāo)記的類似數(shù)據(jù)的答案。
你想要的是訓(xùn)練一個沒有過度擬合或者欠擬合的高精度模型。高精度意味著你已經(jīng)優(yōu)化了損失函數(shù)。在分類問題的情景中,準(zhǔn)確性是模型產(chǎn)生正確輸出的示例的比例。
過度擬合意味著模型與它所看到的數(shù)據(jù)關(guān)聯(lián)過于緊密,以致于不能推廣應(yīng)用到它所沒有看到的數(shù)據(jù)。欠擬合意味著模型不夠復(fù)雜,無法捕獲數(shù)據(jù)中的潛在趨勢。
選擇損失函數(shù)來反映模型的“不足之處”將損失最小化以找到最佳模型。對于數(shù)值(回歸)問題,損失函數(shù)通常是均方誤差(MSE),也可表示為均方根誤差(RMSE)或者均方根偏差(RMSD)。這對應(yīng)于數(shù)據(jù)點和模型曲線之間的歐幾里得距離。對于分類(非數(shù)值)問題,損失函數(shù)可以基于一種度量方法,包括ROC曲線下面積(AUC)、平均精度、精度恢復(fù)和對數(shù)損失等。
為了避免過度擬合,通常把標(biāo)記過的數(shù)據(jù)分為兩組,多數(shù)用于訓(xùn)練,少數(shù)用于驗證和測試。驗證集損失一般高于訓(xùn)練集損失,但這是你所關(guān)心的,因為不應(yīng)該表現(xiàn)出對模型的偏見。
對于小數(shù)據(jù)集,使用固定的維持集進(jìn)行測試驗證可能會導(dǎo)致統(tǒng)計值較低。解決這一問題的一種方法是使用交叉驗證方法,其中不同的折疊(數(shù)據(jù)子集)輪流作為不同訓(xùn)練階段的維持集。
我提到了AUC是ROC曲線下的區(qū)域。ROC是接收機(jī)工作特性曲線;該術(shù)語來自無線電信號分析,但從本質(zhì)上講,ROC曲線通過繪制真正值比率與假正值比率的關(guān)系來顯示分類器的靈敏度。ROC曲線下的區(qū)域越大越好,這樣,當(dāng)你使用它作為損失函數(shù)的基礎(chǔ)時,實際上希望最大化AUC。
機(jī)器學(xué)習(xí)的數(shù)據(jù)清理
原始數(shù)據(jù)都不是很干凈。為了更好地應(yīng)用于機(jī)器學(xué)習(xí),必須很好地過濾數(shù)據(jù)。例如,你需要:
1. 查看數(shù)據(jù)并排除任何有大量缺失數(shù)據(jù)的列。
2. 再次查看數(shù)據(jù),并選擇要用于預(yù)測的列(特征選擇)。特征選擇是你在迭代時想要改變的內(nèi)容。
3. 去掉剩余列中仍缺少數(shù)據(jù)的所有行。
4. 糾正明顯的拼寫錯誤,并合并相同的條目。例如,U.S.、US、USA和美國應(yīng)合并為一個類別。
5. 去掉數(shù)據(jù)超出范圍的行。例如,如果你分析紐約市內(nèi)的出租車行駛路線,想篩選出某些數(shù)據(jù)行,這些行中的上客和下客經(jīng)緯度坐標(biāo)點位于都市區(qū)域邊界框之外。
可以做的還有很多,而這將取決于收集的數(shù)據(jù)。這可能很乏味,但是如果你在機(jī)器學(xué)習(xí)流水線中設(shè)置了數(shù)據(jù)清理步驟,就可以隨意修改并重復(fù)這一工作。
機(jī)器學(xué)習(xí)的數(shù)據(jù)編碼與規(guī)范化
要使用分類數(shù)據(jù)進(jìn)行機(jī)器分類,需要將文本標(biāo)簽編碼為另一種形式。有兩種常見的編碼方法。
一種是標(biāo)簽編碼,這意味著每個文本標(biāo)簽值都被一個數(shù)字替換。另一種是one-hot編碼,這意味著每一文本標(biāo)簽值都被轉(zhuǎn)換為包含一個二進(jìn)制值(1或0)的列。大多數(shù)機(jī)器學(xué)習(xí)框架都具有為你進(jìn)行轉(zhuǎn)換的功能。一般來說,最好使用one-hot編碼,因為標(biāo)簽編碼有時會使機(jī)器學(xué)習(xí)算法誤認(rèn)為編碼的列是有序的。
使用數(shù)字?jǐn)?shù)據(jù)進(jìn)行機(jī)器回歸時,通常需要對數(shù)據(jù)進(jìn)行規(guī)范化。否則,范圍較大的數(shù)字可能傾向于控制特征向量之間的歐幾里得距離,其效果會被放大,但是以犧牲其他字段為代價,并且最陡的下降優(yōu)化可能難以收斂。機(jī)器學(xué)習(xí)的數(shù)據(jù)規(guī)范化和標(biāo)準(zhǔn)化方法有很多種,包括最小最大規(guī)范化、均值規(guī)范化、標(biāo)準(zhǔn)化和單位長度縮放等。這一過程通常被稱為特征縮放。
機(jī)器學(xué)習(xí)的特征工程
特征是指所觀察到的現(xiàn)象中的個體可測量屬性或者特性?!疤卣鳌钡母拍钆c解釋變量概念有關(guān),而解釋變量用于線性回歸等統(tǒng)計方法。特征向量將一行的所有特征組合成一個數(shù)字向量。
選擇特征的一種技巧是選擇一組能解釋問題的最小獨立變量。如果兩個變量高度相關(guān),要么它們應(yīng)組合成一個特征,要么應(yīng)該刪除其中一個。有時人們進(jìn)行主分量分析,將相關(guān)變量轉(zhuǎn)換成一組線性不相關(guān)的變量。
人們用來構(gòu)造新特征或者減少特征向量維數(shù)的一些轉(zhuǎn)換其實很簡單。例如,把死亡年份與出生年份相減,就得到了死亡年齡,這是壽命和死亡率分析的主要獨立變量。在其他情況下,特征構(gòu)造可能不那么明顯。
常用的機(jī)器學(xué)習(xí)算法
有幾十種機(jī)器學(xué)習(xí)算法,從線性回歸和邏輯回歸到深度神經(jīng)網(wǎng)絡(luò)和集成(其他模型的組合),復(fù)雜程度各不相同。而一些最常見的算法包括:
·線性回歸,又名最小二乘回歸(用于數(shù)值數(shù)據(jù))。
·邏輯回歸(用于二元分類)。
·線性判別分析(用于多類別分類)。
·決策樹(用于分類和回歸)。
·樸素貝葉斯(用于分類和回歸)。
·K最近鄰居,又名KNN(用于分類和回歸)。
·學(xué)習(xí)向量量化,又名LVQ(用于分類和回歸)。
·支持向量機(jī),又名SVM(用于二元分類)。
·隨機(jī)森林,一種“打包”(自舉聚合)集成算法(用于分類和回歸)。
·提升方法,包括AdaBoost和XGBoost,是一種集成算法,可以創(chuàng)建一系列模型,其中每個增量模型都試圖糾正前一個模型的錯誤(用于分類和回歸)。
·神經(jīng)網(wǎng)絡(luò)(用于分類和回歸)。
超參數(shù)調(diào)整
超參數(shù)是自由變量,而不是機(jī)器學(xué)習(xí)模型中被調(diào)整的權(quán)重。超參數(shù)隨算法的不同而不同,但通常包括學(xué)習(xí)速率,該參數(shù)用于控制批量計算錯誤后所應(yīng)用的校正深度。
一些產(chǎn)品化的機(jī)器學(xué)習(xí)平臺現(xiàn)在提供自動超參數(shù)調(diào)整功能。本質(zhì)上,你告訴系統(tǒng)想要改變哪些超參數(shù),可能想要優(yōu)化什么指標(biāo),系統(tǒng)會在允許的次數(shù)范圍內(nèi)掃描這些超參數(shù)。(谷歌云機(jī)器學(xué)習(xí)引擎的超參數(shù)調(diào)整功能從TensorFlow模型中提取適當(dāng)?shù)亩攘恐笜?biāo),因此你不必指定它。)
掃描超參數(shù)的搜索算法主要有三種:貝葉斯優(yōu)化、網(wǎng)格搜索和隨機(jī)搜索。貝葉斯優(yōu)化往往是最有效的。你能夠很容易地在代碼中實現(xiàn)自己的超參數(shù)掃描功能——即使你所使用的平臺沒有自動執(zhí)行。
總之,監(jiān)督學(xué)習(xí)把標(biāo)記過的訓(xùn)練數(shù)據(jù)轉(zhuǎn)化為經(jīng)過調(diào)優(yōu)的預(yù)測模型。在此過程中,你應(yīng)該清理數(shù)據(jù)并使之規(guī)范化,設(shè)計一組線性不相關(guān)的特征參數(shù),并嘗試使用多種算法來找到最佳模型。
Martin Heller是InfoWorld的特約編輯和審稿人。他曾是一名網(wǎng)絡(luò)和Windows編程顧問,1986年至2010年間開發(fā)過數(shù)據(jù)庫、軟件和網(wǎng)站。
原文網(wǎng)址
https://www.infoworld.com/article/3403403/supervised-learning-explained.html