選自Dataconomy
機(jī)器之心編譯
參與:王宇欣、吳攀、蔣思源
近段時間以來,我們頻頻聽到「機(jī)器學(xué)習(xí)(machine learning)」這個詞(通常在預(yù)測分析(predictive analysis)和人工智能(artificial intelligence)的上下文中)。幾十年來,機(jī)器學(xué)習(xí)實(shí)際上已經(jīng)變成了一門獨(dú)立的領(lǐng)域。由于現(xiàn)代計(jì)算能力的進(jìn)步,我們最近才能夠真正大規(guī)模地利用機(jī)器學(xué)習(xí)。而實(shí)際上機(jī)器學(xué)習(xí)是如何工作的呢?答案很簡單:算法(algorithm)。
機(jī)器學(xué)習(xí)是人工智能(artificial intelligence)的一種,其本質(zhì)上講,就是計(jì)算機(jī)可以在無需編程的情況下自己學(xué)習(xí)概念(concept)。這些計(jì)算機(jī)程序一旦接觸新的數(shù)據(jù),就將會改變它們的「思考」(或者輸出)。為了實(shí)現(xiàn)機(jī)器學(xué)習(xí),算法是必需的。算法被寫入計(jì)算機(jī)并在其剖析數(shù)據(jù)時給與其需要遵循的規(guī)則。
機(jī)器學(xué)習(xí)算法經(jīng)常被用于預(yù)測分析。在商業(yè)中,預(yù)測分析可以用于告訴企業(yè)未來最有可能發(fā)生什么。例如,使用預(yù)測分析算法,在線 T 恤零售商可以使用當(dāng)前的數(shù)據(jù)來預(yù)測下個月他們將會售出多少 T 恤。
回歸或分類
雖然機(jī)器學(xué)習(xí)也可以用于其它的用途,但是我們將在本指南中著重于預(yù)測。預(yù)測是一種基于輸入變量來估計(jì)輸出變量的過程。比如,如果我們輸入特定房子的特征,則可以預(yù)測售價。
預(yù)測問題分為兩大類:
回歸問題(Regression Problems):我們想要預(yù)測的變量是數(shù)字(例如,房子的價格)
分類問題(Classification Problems):我們想要預(yù)測的變量是「是/否」的答案(例如,某一設(shè)備是否會經(jīng)歷設(shè)備故障)
現(xiàn)在我們已經(jīng)介紹了機(jī)器學(xué)習(xí)在預(yù)測方面的應(yīng)用,我們可以討論機(jī)器學(xué)習(xí)算法,其分為 3 個組別:線性模型(linear models)、樹型模型(tree-based models)、和神經(jīng)網(wǎng)絡(luò)(neural networks)。
什么是線性模型算法
線性模型使用簡單的公式通過一組數(shù)據(jù)點(diǎn)來查找「最優(yōu)擬合」線。通過你已知的變量方程(比如,原料),你可以求出你想要預(yù)測的變量(例如,烘烤蛋糕需要多長時間)。為了求出預(yù)測量,我們輸入已知的變量得到答案。換句話說,為了求出烘烤蛋糕需要多長時間,我們只需要輸入原料。
例如,要烘烤蛋糕,分析過后我們得到這個方程:t = 0.5x 0.25y,其中 t 烤蛋糕的時間,x 為蛋糕糊的重量,y = 1 表示為巧克力蛋糕而 0 表示為非巧克力蛋糕。所以讓我們假設(shè),我們有 1kg 的蛋糕糊并且我們想要一個巧克力蛋糕,我們輸入我們的數(shù)字來建立這個方程:t = 0.5(1) (0.25)(1) = 0.75,即 45 分鐘。
有不同形式的線性模型算法,我們將要討論線性回歸(linear regression)和邏輯回歸(logistic regression)。
線性回歸
線性回歸,也稱為「最小二乘回歸(least squares regression)」,是線性模型的最標(biāo)準(zhǔn)的形式。對于回歸問題(我們設(shè)法預(yù)測的變量是數(shù)字),線性回歸是最簡單的線性模型。
邏輯回歸
邏輯回歸是為分類問題進(jìn)行簡單調(diào)整過的線性回歸(我們設(shè)法預(yù)測的變量是「是/否」的答案)。由于其構(gòu)造,邏輯回歸非常適合于分類問題
線性回歸和邏輯回歸的缺點(diǎn)
線性回歸和邏輯回歸都有著相同的缺點(diǎn)。兩者都具有「過擬合(overfit)」的趨勢,這意味著模型太適應(yīng)于數(shù)據(jù)而犧牲了推廣到先前未知的數(shù)據(jù)的能力。因此,這兩個模型經(jīng)常需要進(jìn)行規(guī)范,這意味著它們有一定的懲罰(penalty)以防止過擬合。另一個線性模型的缺點(diǎn)是,因?yàn)樗鼈兲唵瘟耍酝荒茴A(yù)測更復(fù)雜的行為。
什么是樹型模型
樹型模型有助于探索數(shù)據(jù)集,并可視化預(yù)測的決策規(guī)則。當(dāng)你聽到關(guān)于樹型模型的東西時,你可以將其想成是決策樹或分支操作序列。樹型模型高度精確、穩(wěn)定且更易于解釋。與線性模型相反,它們可以映射非線性關(guān)系以求解問題。
決策樹(decision tree)
決策樹是一種使用分支方法(branching method)來顯示決策的每個可能結(jié)果的圖。例如,如果你想要訂購萵苣、澆頭和沙拉醬,決策樹可以繪制出所有可能的結(jié)果(或者你可能最終得到的沙拉的品種)。
為了創(chuàng)建或者訓(xùn)練決策樹,我們采用我們過去訓(xùn)練模型的數(shù)據(jù),并找出哪些屬性可以最佳分割目標(biāo)訓(xùn)練集。
例如,我們在信用卡欺詐中使用決策樹。我們可以發(fā)現(xiàn)最佳的欺詐風(fēng)險(xiǎn)預(yù)測的屬性是消費(fèi)明細(xì)(例如,有信用卡用戶有非常大的消費(fèi))。這可能是第一次分割(或分支)——那些有著異常高消費(fèi)的卡和沒有的卡。然后我們使用第二個最佳屬性(例如,經(jīng)常使用的信用卡)來創(chuàng)建下一次分割。然后我們可以繼續(xù)直到我們有足夠的屬性來滿足我們的需要。
隨機(jī)森林(random forest)
隨機(jī)森林是許多決策樹的平均,每個決策樹都用數(shù)據(jù)的隨機(jī)樣本訓(xùn)練。森林中的每個獨(dú)立的樹都比一個完整的決策樹弱,但是通過將它們結(jié)合,我們可以通過多樣性獲得更高的整體表現(xiàn)。
隨機(jī)森林是當(dāng)今機(jī)器學(xué)習(xí)中非常流行的算法。它非常容易訓(xùn)練(或構(gòu)建),且它往往表現(xiàn)良好。它的缺點(diǎn)是,相比于其他算法,其輸出預(yù)測可能較慢。所以當(dāng)你需要快如閃電般地預(yù)測,你也許不會使用它。
梯度提升(gradient boosting)
梯度提升和隨機(jī)森林類似,都是由「弱」決策樹構(gòu)成的。最大的區(qū)別是,在梯度提升中樹是被一個接一個相繼訓(xùn)練的。每個隨后的樹主要用被先前樹錯誤識別的數(shù)據(jù)進(jìn)行訓(xùn)練。這使得梯度提升更少地集中在容易預(yù)測的情況并更多地集中在困難的情況。
梯度提升訓(xùn)練速度也很快且表現(xiàn)非常好。然而,訓(xùn)練數(shù)據(jù)的小變化可以在模型中產(chǎn)生徹底的改變,因此它可能不會產(chǎn)生最可解釋的結(jié)果。
什么是神經(jīng)網(wǎng)絡(luò)
生物學(xué)中的神經(jīng)網(wǎng)絡(luò)是互相交換信息的相互連接的神經(jīng)元。這個想法現(xiàn)在已經(jīng)適用于機(jī)器學(xué)習(xí)的世界,并被稱為人工神經(jīng)網(wǎng)絡(luò)(ANN)。深度學(xué)習(xí)(deep learning)是一個經(jīng)常出現(xiàn)的詞,是指幾層連續(xù)放置的人工神經(jīng)網(wǎng)絡(luò)。
人工神經(jīng)網(wǎng)絡(luò)(ANN)包含了許多可以學(xué)習(xí)類似人腦的認(rèn)知能力的模型。其它算法不能處理的極其復(fù)雜的任務(wù)(如圖像識別),神經(jīng)網(wǎng)絡(luò)就可以辦到。然而,就像人類的大腦,它需要很長時間來訓(xùn)練模型,且需要很多的能量(想一想我們?yōu)榱吮3执竽X的工作,我們吃了多少東西)。
原文地址:http://dataconomy.com/2017/03/beginners-guide-machine-learning
本文為機(jī)器之心編譯,轉(zhuǎn)載請聯(lián)系本公眾號獲得授權(quán)。
------------------------------------------------
加入機(jī)器之心(全職記者/實(shí)習(xí)生):hr@jiqizhixin.com
投稿或?qū)で髨?bào)道:editor@jiqizhixin.com
廣告&商務(wù)合作:bd@jiqizhixin.com
聯(lián)系客服