新智元編譯 作者:Nick Stockton 編譯: 四疊半 【新智元導(dǎo)讀】我們將機(jī)器學(xué)習(xí)中最突出、最常用的算法分為三類:線性模型、基于樹的模型、神經(jīng)網(wǎng)絡(luò),用一張圖表簡明地指出了每一類的優(yōu)勢和劣勢。 在機(jī)器學(xué)習(xí)中,我們的目標(biāo)要么是預(yù)測(prediction),要么是聚類(clustering)。本文重點(diǎn)關(guān)注的是預(yù)測。預(yù)測是從一組輸入變量來預(yù)估輸出變量的值的過程。例如,得到有關(guān)房子的一組特征,我們可以預(yù)測它的銷售價(jià)格。預(yù)測問題可以分為兩大類:
回歸問題:其中要預(yù)測的變量是數(shù)字的(例如房屋的價(jià)格);
分類問題:其中要預(yù)測的變量是“是/否”的答案(例如,預(yù)測某個(gè)設(shè)備是否會(huì)故障)
了解了這點(diǎn),接下來讓我們看看機(jī)器學(xué)習(xí)中最突出、最常用的算法。 我們將這些算法分為3類:線性模型、基于樹的模型、神經(jīng)網(wǎng)絡(luò)。
線性模型使用簡單的公式,通過一組數(shù)據(jù)點(diǎn)找到“最佳擬合”的行。這一方法可以追溯到200多年前,在統(tǒng)計(jì)學(xué)和機(jī)器學(xué)習(xí)領(lǐng)域都得到廣泛應(yīng)用。由于它的簡單性,它對統(tǒng)計(jì)學(xué)很有用。你想要預(yù)測的變量(因變量)被表示為你已經(jīng)知道的變量(自變量)的方程,因此預(yù)測只是一個(gè)輸入自變量,然后算出方程的答案的問題。 線性回歸
線性回歸,或更準(zhǔn)確的說法“最小二乘回歸”,是線性模型的最標(biāo)準(zhǔn)形式。對于回歸問題,線性回歸是最簡單的線性模型。其缺點(diǎn)是模型容易過擬合,也就是說,模型完全適應(yīng)已進(jìn)行訓(xùn)練的數(shù)據(jù),而犧牲了推廣到新數(shù)據(jù)的能力。因此,機(jī)器學(xué)習(xí)中的線性回歸(以及我們接下來將談到的邏輯回歸)通常是“正則化”的,這意味著模型有一定的懲罰來防止過擬合。
線性模型的另一個(gè)缺點(diǎn)是,由于它們非常簡單,所以當(dāng)輸入變量不獨(dú)立時(shí),他們不容易預(yù)測更復(fù)雜些的行為。
邏輯回歸
邏輯回歸是線性回歸對分類問題的適應(yīng)。邏輯回歸的缺點(diǎn)與線性回歸相同。邏輯函數(shù)對分類問題非常好,因?yàn)樗肓碎撝敌?yīng)。 決策樹
決策樹是使用分支方法顯示決策的每一個(gè)可能的結(jié)果的圖示。比如說,你決定要點(diǎn)一份沙拉,你的第一個(gè)決策是可能是生菜的種類,然后是配菜,然后是沙拉醬的種類。我們可以在一個(gè)決策樹中表示所有可能的結(jié)果。
為了訓(xùn)練決策樹,我們需要使用訓(xùn)練數(shù)據(jù)集并找出那個(gè)屬性對目標(biāo)最有用。例如,在欺詐檢測用例中,我們可能發(fā)現(xiàn)對預(yù)測欺詐風(fēng)險(xiǎn)影響最大的屬性是國家。在以第一個(gè)屬性進(jìn)行分支后,我們得到兩個(gè)子集,這是假如我們只知道第一個(gè)屬性時(shí)最能夠準(zhǔn)確預(yù)測的。接著,我們再找出可以對這兩個(gè)子集進(jìn)行分支的第二好的屬性,再次進(jìn)行分割,如此往復(fù),直到使用足夠多的屬性后能滿足目標(biāo)的需求。
有關(guān)決策樹,新智元對一篇經(jīng)典文章做過介紹:【經(jīng)典】機(jī)器學(xué)習(xí)可視化演示 隨機(jī)森林
隨機(jī)森林是許多決策樹的平均,其中每個(gè)決策樹都用隨機(jī)的數(shù)據(jù)樣本進(jìn)行訓(xùn)練。隨機(jī)森林中的每個(gè)樹都比一個(gè)完整的決策樹弱,但是將所有樹放在一起,由于多樣性的優(yōu)勢,我們可以獲得更好的整體性能。
隨機(jī)森林是當(dāng)今機(jī)器學(xué)習(xí)中非常流行的算法。隨機(jī)森林的訓(xùn)練很容易,而且表現(xiàn)相當(dāng)好。它的缺點(diǎn)是相對于其他算法,隨機(jī)森林輸出預(yù)測可能會(huì)很慢,所以在需要快速預(yù)測時(shí),可能不會(huì)選擇隨機(jī)森林。
梯度提升
梯度提升(GradientBoosting),像隨機(jī)森林那樣,也是由“弱”決策樹組成的。梯度提升與隨機(jī)森林最大的區(qū)別是,在梯度提升中,樹是一個(gè)接一個(gè)被訓(xùn)練的。每個(gè)后面的樹主要由前面的樹識(shí)別錯(cuò)誤的數(shù)據(jù)來訓(xùn)練。這令梯度提升較少關(guān)注易于預(yù)測的情況,而更多地關(guān)注困難的情況。
梯度提升的訓(xùn)練也很快,表現(xiàn)也非常好。但是,訓(xùn)練數(shù)據(jù)集的小小變化可以令模型發(fā)生根本性的變化,因此它產(chǎn)生的結(jié)果可能不是最可行的。 神經(jīng)網(wǎng)絡(luò)是指大腦中彼此交換信息的相互聯(lián)系的神經(jīng)元組成的生物學(xué)現(xiàn)象。這個(gè)想法現(xiàn)在被適用到機(jī)器學(xué)習(xí)領(lǐng)域,被稱為 ANN(人工神經(jīng)網(wǎng)絡(luò))。深度學(xué)習(xí)是疊在一起的多層的神經(jīng)網(wǎng)絡(luò)。
ANN 是一系列通過學(xué)習(xí)獲取類似人類大腦的認(rèn)知能力的模型。在處理非常復(fù)雜的的任務(wù),例如圖像識(shí)別時(shí),神經(jīng)網(wǎng)絡(luò)表現(xiàn)很好。但是,正如人類大腦一樣,訓(xùn)練模型非常耗時(shí),而且需要非常多的能量(試想想我們需要吃多少食物才能保證大腦正常工作?。?/span>
|
|