小白也看得懂的機(jī)器學(xué)習(xí)模型工作原理
本文轉(zhuǎn)載自公眾號(hào)“讀芯術(shù)”(ID:AI_Discovery)
很多面試官都喜歡問這個(gè)問題:“假設(shè)我是個(gè)5歲的小孩兒,請(qǐng)向我解釋[某項(xiàng)技術(shù)]。”給幼兒園的小朋友講清楚機(jī)器學(xué)習(xí)可能有點(diǎn)夸張,實(shí)際上這一問題的要求就是,盡可能簡(jiǎn)單地解釋某一技術(shù)。
這就是筆者在本文中嘗試做到的事。筆者將解釋什么是機(jī)器學(xué)習(xí)以及不同類型的機(jī)器學(xué)習(xí),再介紹常見的模型。本文里,筆者不會(huì)介紹任何數(shù)學(xué)運(yùn)算,小白請(qǐng)放心食用。
對(duì)于沒有或幾乎沒有數(shù)據(jù)科學(xué)背景的成年人來說,它應(yīng)該是容易弄懂的(如果不能,請(qǐng)?jiān)谠u(píng)論區(qū)告訴我)。
機(jī)器學(xué)習(xí)的定義
機(jī)器學(xué)習(xí)圖
機(jī)器學(xué)習(xí)是指將大量數(shù)據(jù)加載到計(jì)算機(jī)程序中并選擇一種模型“擬合”數(shù)據(jù),使得計(jì)算機(jī)(在無(wú)需你幫助的情況下)得出預(yù)測(cè)。計(jì)算機(jī)創(chuàng)建模型的方式是通過算法進(jìn)行的,算法既包括簡(jiǎn)單的方程式(如直線方程式),又包括非常復(fù)雜的邏輯/數(shù)學(xué)系統(tǒng),使計(jì)算機(jī)得出最佳預(yù)測(cè)。
機(jī)器學(xué)習(xí)恰如其名,一旦選擇要使用的模型并對(duì)其進(jìn)行調(diào)整(也就是通過調(diào)整來改進(jìn)模型),機(jī)器就會(huì)使用該模型來學(xué)習(xí)數(shù)據(jù)中的模式。然后,輸入新的條件(觀測(cè)值),它就能預(yù)測(cè)結(jié)果!
有監(jiān)督機(jī)器學(xué)習(xí)的定義
監(jiān)督學(xué)習(xí)是一種機(jī)器學(xué)習(xí),其中放入模型中的數(shù)據(jù)被“標(biāo)記”。簡(jiǎn)單來說,標(biāo)記也就意味著觀察結(jié)果(也就是數(shù)據(jù)行)是已知的。
例如,如果你的模型正嘗試預(yù)測(cè)你的朋友是否會(huì)去打高爾夫球,那么可能會(huì)有溫度、星期幾等變量。如果你的數(shù)據(jù)被標(biāo)記,那么當(dāng)你的朋友真的去打高爾夫了,你也會(huì)有一個(gè)值為1的變量,當(dāng)他們沒有去打高爾夫,變量的值則為0。
無(wú)監(jiān)督機(jī)器學(xué)習(xí)的定義
在標(biāo)記數(shù)據(jù)時(shí),無(wú)監(jiān)督學(xué)習(xí)與有監(jiān)督學(xué)習(xí)恰好相反。在無(wú)監(jiān)督學(xué)習(xí)的情況下,你不知道朋友是否會(huì)去打高爾夫球——這都由計(jì)算機(jī)通過模型找到模式來猜測(cè)已經(jīng)發(fā)生了什么或預(yù)測(cè)將會(huì)發(fā)生什么。
有監(jiān)督機(jī)器學(xué)習(xí)模型
1. 邏輯回歸
在遇到分類問題時(shí),可使用邏輯回歸。這意味著目標(biāo)變量(也就是需要預(yù)測(cè)的變量)由不同類別組成。這些類別可以是“是/否”,也可以是代表客戶滿意度的1到10之間的數(shù)字。
邏輯回歸模型用方程式創(chuàng)建包含數(shù)據(jù)的曲線,然后用該曲線預(yù)測(cè)新觀測(cè)的結(jié)果。
邏輯回歸圖
上圖中,新觀測(cè)值的預(yù)測(cè)值為0,因?yàn)樗挥谇€的左側(cè)。如果查看此曲線上的數(shù)據(jù),就能解釋清楚了,因?yàn)閳D中“預(yù)測(cè)值為0”的區(qū)域里,大多數(shù)數(shù)據(jù)點(diǎn)的y值都為0。
2. 線性回歸
線性回歸是人們通常知道的最早的機(jī)器學(xué)習(xí)模型之一。這是因?yàn)閮H使用一個(gè)x變量時(shí),它的算法(即幕后方程式)相對(duì)容易理解——畫出一條最適合的直線,這是小學(xué)階段教授的內(nèi)容。然后,這條最佳擬合線可以預(yù)測(cè)出新的數(shù)據(jù)點(diǎn)(參見下圖)。
線性回歸圖
線性回歸與邏輯回歸類似,但是當(dāng)目標(biāo)變量連續(xù)時(shí),才能使用線性回歸,這意味著線性回歸可以用任何數(shù)值。實(shí)際上,任何具有連續(xù)目標(biāo)變量的模型都可以歸類為“回歸”。連續(xù)變量的一個(gè)例子是房屋的售價(jià)。
線性回歸也很容易解釋。模型方程式包含每個(gè)變量的系數(shù),并且這些系數(shù)指示目標(biāo)變量隨著自變量(x變量)中的每個(gè)變化而變化的量。
以房?jī)r(jià)為例,這意味著你可以查看回歸方程式,并可能這樣說道:“哦,這告訴我,房屋面積(x變量)每增加1平方英尺,售價(jià)(目標(biāo)變量)就增加25美元。”
3. K近鄰算法(KNN)
該模型可用于分類或回歸!“K近鄰算法”這個(gè)名字并不會(huì)造成混淆。該模型首先要繪制出所有數(shù)據(jù)。其中,“ K”部分是指模型為了確定預(yù)測(cè)值應(yīng)使用的最鄰近數(shù)據(jù)點(diǎn)的數(shù)量(如下圖)。你可以選擇K,然后可以使用這些值來查看哪個(gè)值提供最佳預(yù)測(cè)。
K近鄰算法圖
K = __圈中的所有數(shù)據(jù)點(diǎn)都可以對(duì)這個(gè)新數(shù)據(jù)點(diǎn)的目標(biāo)變量值進(jìn)行“投票”。得票最多的那個(gè)值是KNN為新數(shù)據(jù)點(diǎn)預(yù)測(cè)的值。
上圖中,最近的點(diǎn)中有2個(gè)是1類,而1個(gè)是2類。因此,模型將為此數(shù)據(jù)點(diǎn)預(yù)測(cè)為1類。如果模型試圖預(yù)測(cè)數(shù)值而非類別,則所有“投票”都是取平均值的數(shù)值,從而獲得預(yù)測(cè)值。
4. 支持向量機(jī)
支持向量機(jī)在數(shù)據(jù)點(diǎn)之間建立邊界來運(yùn)行,其中一類中的大多數(shù)落在邊界的一側(cè)(在2D情況下又稱為線),而另一類中的大多數(shù)落在另一側(cè)。
支持向量機(jī)圖
其工作方式是機(jī)器力求找出具有最大邊距的邊界。邊距是指每個(gè)類的最近點(diǎn)與邊界之間的距離。然后繪制新的數(shù)據(jù)點(diǎn),并根據(jù)它們落在邊界的哪一側(cè)將其分類。
筆者對(duì)此模型的解釋是根據(jù)分類情況來的,不過你也可以用SVM進(jìn)行回歸。
5. 決策樹和隨機(jī)森林
圖源:unsplash
無(wú)監(jiān)督機(jī)器學(xué)習(xí)模型
接著到了“深水區(qū)”,我們來看看無(wú)監(jiān)督學(xué)習(xí)。提醒一下,這意味著數(shù)據(jù)集未標(biāo)記,因此不知道觀察結(jié)果。
1. k均值聚類
在用K表示聚類時(shí),必須首先假設(shè)數(shù)據(jù)集中有K個(gè)聚類。由于不知道數(shù)據(jù)中實(shí)際上有多少個(gè)組,因此必須嘗試不同的K值,并使用可視化和度量標(biāo)準(zhǔn)來查看哪個(gè)K值行得通。K表示最適合圓形和相似大小的聚類。
k均值聚類算法首先選擇最佳的K個(gè)數(shù)據(jù)點(diǎn),以形成K個(gè)聚類中每個(gè)聚類的中心。然后,它對(duì)每個(gè)點(diǎn)重復(fù)以下兩個(gè)步驟:
- 將數(shù)據(jù)點(diǎn)分配到最近的聚類中心
- 通過獲取此聚類中所有數(shù)據(jù)點(diǎn)的平均值來創(chuàng)建一個(gè)新中心
K均值聚類圖
2. DBSCAN聚類
DBSCAN聚類模型與K均值聚類的不同之處在于,它不需要輸入K的值,并且它還可以找到任何形狀的聚類。你無(wú)需指定聚類數(shù),而是輸入聚類中所需的最小數(shù)據(jù)點(diǎn)數(shù),并在數(shù)據(jù)點(diǎn)周圍半徑之內(nèi)搜索聚類。
DBSCAN將為您找到聚類,然后,你可以更改用于創(chuàng)建模型的值,直到獲得對(duì)數(shù)據(jù)集有意義的聚類為止。
此外,DBSCAN模型會(huì)分類“噪聲”點(diǎn)(即,遠(yuǎn)離所有其他觀測(cè)值的點(diǎn))。數(shù)據(jù)點(diǎn)非常靠近時(shí),此模型比K均值的效果更好。
3. 神經(jīng)網(wǎng)絡(luò)
在筆者看來,神經(jīng)網(wǎng)絡(luò)是最酷、最神秘的模型。它們之所以被稱為“神經(jīng)網(wǎng)絡(luò)”,是因?yàn)樗鼈兪歉鶕?jù)我們大腦中神經(jīng)元的工作方式進(jìn)行建模的。這些模型在數(shù)據(jù)集中尋找模式;有時(shí)它們會(huì)發(fā)現(xiàn)人類可能永遠(yuǎn)無(wú)法識(shí)別的模式。
神經(jīng)網(wǎng)絡(luò)可以很好地處理圖像和音頻等復(fù)雜數(shù)據(jù)。從面部識(shí)別到文本分類,這些都是我們現(xiàn)在經(jīng)常看到的軟件背后的邏輯原理。
圖源:unsplash
有時(shí)你可能會(huì)有困惑的地方,即使專家也無(wú)法完全理解為什么計(jì)算機(jī)得出這個(gè)結(jié)論。在某些情況下,我們?cè)诤醯闹皇撬瞄L(zhǎng)預(yù)測(cè)!
不過有時(shí)我們會(huì)關(guān)心計(jì)算機(jī)如何得出其預(yù)測(cè)結(jié)果的,比如是否正在用模型來確定哪些求職者會(huì)獲得第一輪面試的機(jī)會(huì)。
希望本文能讓你加深對(duì)這些模型的理解,還能使你意識(shí)到它們是多么酷炫!