哈佛商業(yè)評(píng)論稱數(shù)據(jù)科學(xué)家是21世紀(jì)最性感的工作。所以,對(duì)于那些ML剛剛開始的人來說,這篇博客機(jī)器學(xué)習(xí)算法工程師需要知道的十大算法是非常有用的。
ML算法是可以從數(shù)據(jù)中學(xué)習(xí)并從中改進(jìn)的算法,無(wú)需人工干預(yù)。學(xué)習(xí)任務(wù)可能包括將輸入映射到輸出,在未標(biāo)記的數(shù)據(jù)中學(xué)習(xí)隱藏的結(jié)構(gòu),或者“基于實(shí)例的學(xué)習(xí)”,其中通過將新實(shí)例與來自存儲(chǔ)在存儲(chǔ)器中的訓(xùn)練數(shù)據(jù)的實(shí)例進(jìn)行比較來為新實(shí)例生成類標(biāo)簽。
1.ML算法的類型
有三種ML算法:
1.監(jiān)督學(xué)習(xí):
監(jiān)督學(xué)習(xí)可以理解為:使用標(biāo)記的訓(xùn)練數(shù)據(jù)來學(xué)習(xí)從輸入變量(X)到輸出變量(Y)的映射函數(shù)。
Y = f(X)
監(jiān)督學(xué)習(xí)問題可以有兩種類型:
分類:預(yù)測(cè)輸出變量處于類別形式的給定樣本的結(jié)果。例如男性和女性,病態(tài)和健康等標(biāo)簽。
回歸:預(yù)測(cè)給定樣本的輸出變量的實(shí)值結(jié)果。例子包括表示降雨量和人的身高的實(shí)值標(biāo)簽。
在這篇博客中介紹的前5個(gè)算法——線性回歸,Logistic回歸,CART,樸素貝葉斯,KNN都是監(jiān)督學(xué)習(xí)。
人工智能領(lǐng)域的大牛吳恩達(dá)曾在他的公開課中提到,目前機(jī)器學(xué)習(xí)帶來的經(jīng)濟(jì)價(jià)值全部來自監(jiān)督學(xué)習(xí)。
2.無(wú)監(jiān)督學(xué)習(xí):
無(wú)監(jiān)督學(xué)習(xí)問題只有輸入變量(X),但沒有相應(yīng)的輸出變量。它使用無(wú)標(biāo)簽的訓(xùn)練數(shù)據(jù)來模擬數(shù)據(jù)的基本結(jié)構(gòu)。
無(wú)監(jiān)督學(xué)習(xí)問題可以有兩種類型:
1.關(guān)聯(lián):發(fā)現(xiàn)數(shù)據(jù)集合中的相關(guān)數(shù)據(jù)共現(xiàn)的概率。它廣泛用于市場(chǎng)籃子分析。例如:如果顧客購(gòu)買面包,他有80%的可能購(gòu)買雞蛋。
2.群集:對(duì)樣本進(jìn)行分組,使得同一個(gè)群集內(nèi)的對(duì)象彼此之間的關(guān)系比另一個(gè)群集中的對(duì)象更為相似。
3.維度降低:維度降低意味著減少數(shù)據(jù)集的變量數(shù)量,同時(shí)確保重要的信息仍然傳達(dá)?梢允褂锰卣魈崛》椒ê吞卣鬟x擇方法來完成維度降低。特征選擇選擇原始變量的一個(gè)子集。特征提取執(zhí)行從高維空間到低維空間的數(shù)據(jù)轉(zhuǎn)換。例如:PCA算法是一種特征提取方法。
Apriori,K-means,PCA是無(wú)監(jiān)督學(xué)習(xí)的例子。
3.強(qiáng)化學(xué)習(xí):
強(qiáng)化學(xué)習(xí)是一種機(jī)器學(xué)習(xí)算法,它允許代理根據(jù)當(dāng)前狀態(tài)決定最佳的下一個(gè)動(dòng)作。
強(qiáng)化算法通常通過反復(fù)試驗(yàn)來學(xué)習(xí)最佳行為。它們通常用于機(jī)器人的訓(xùn)練,機(jī)器人可以通過在碰到障礙物后接收負(fù)面反饋來學(xué)習(xí)避免碰撞。近期的alphago zero就是采用的強(qiáng)化學(xué)習(xí)的方法,來完成實(shí)驗(yàn)的。
監(jiān)督學(xué)習(xí)算法
1.線性回歸
在ML中,我們有一組輸入變量(x)用于確定輸出變量(y)。輸入變量和輸出變量之間存在某種關(guān)系,ML的目標(biāo)是量化這種關(guān)系。
圖一
在線性回歸中,輸入變量(x)和輸出變量(y)之間的關(guān)系表示為形式為y = ax + b的方程。因此,線性回歸的目標(biāo)是找出系數(shù)a和b的值。這里,a是截距,b是線的斜率。
圖1顯示了數(shù)據(jù)集的繪制x和y值。目標(biāo)是擬合最接近大部分點(diǎn)的線。
2. Logistic回歸
邏輯回歸最適合二進(jìn)制分類(y = 0或1的數(shù)據(jù)集,其中1表示默認(rèn)類)例如:在預(yù)測(cè)事件是否發(fā)生時(shí),發(fā)生的事件被分類為1。在預(yù)測(cè)人會(huì)生病或不生病,生病的實(shí)例記為1)。它是以其中使用的變換函數(shù)命名的,稱為邏輯函數(shù)h(x)= 1 /(1 + e ^ x),它是一個(gè)S形曲線。
在邏輯回歸中,輸出是以缺省類別的概率形式出現(xiàn)的。因?yàn)檫@是一個(gè)概率,所以輸出在0——1的范圍內(nèi)。輸出(y值)通過對(duì)數(shù)轉(zhuǎn)換x值,使用對(duì)數(shù)函數(shù)h(x)= 1 /(1 + e ^ -x)來生成。然后應(yīng)用一個(gè)閾值來強(qiáng)制這個(gè)概率進(jìn)入二元分類。
圖二
在圖2中,為了確定腫瘤是否是惡性的,默認(rèn)變量是y = 1(腫瘤=惡性);x變量可以是腫瘤的量度,例如腫瘤的大小。如圖所示,邏輯函數(shù)將數(shù)據(jù)集的各種實(shí)例的x值轉(zhuǎn)換成0到1的范圍。如果概率超過閾值0.5(由水平線示出),則將腫瘤分類如惡性。
邏輯回歸的目標(biāo)是使用訓(xùn)練數(shù)據(jù)來找到系數(shù)b0和b1的值,以使預(yù)測(cè)結(jié)果與實(shí)際結(jié)果之間的誤差最小化。這些系數(shù)是使用最大似然估計(jì)技術(shù)估計(jì)的。
3. CART
分類和回歸樹(CART)是決策樹的一個(gè)實(shí)現(xiàn)方式。
非終端節(jié)點(diǎn)是根節(jié)點(diǎn)和內(nèi)部節(jié)點(diǎn),終端節(jié)點(diǎn)是葉節(jié)點(diǎn)。每個(gè)非終端節(jié)點(diǎn)表示單個(gè)輸入變量(x), 葉節(jié)點(diǎn)表示輸出變量(y)。該模型用于做出如下預(yù)測(cè):遍歷樹的分裂到達(dá)一個(gè)葉節(jié)點(diǎn),并輸出葉節(jié)點(diǎn)上存在的值。
圖3中的決策樹根據(jù)年齡和婚姻狀況分類是否購(gòu)買跑車或小型貨車。如果這個(gè)人30多年沒有結(jié)婚,我們可以如下預(yù)測(cè):“30多年? – >是 – >’已婚? – >不。因此,該模型輸出一個(gè)跑車。
圖三
4.樸素貝葉斯
為了計(jì)算事件發(fā)生的概率,假設(shè)已經(jīng)發(fā)生了另一個(gè)事件,我們使用貝葉斯定理。為了計(jì)算給定某個(gè)變量值的結(jié)果的概率,也就是說,根據(jù)我們的先驗(yàn)知識(shí)(d)計(jì)算假設(shè)(h)為真的概率,我們使用貝葉斯定理如下:
P(h | d)=(P(d | h)* P(h))/ P(d)
· P(h | d)=后驗(yàn)概率。
· P(d | h)=可能性。數(shù)據(jù)d的概率假設(shè)h是真的。
· P(h)=類別先驗(yàn)概率。假設(shè)h的可能性為真(不考慮數(shù)據(jù))。
· P(d)=預(yù)測(cè)值先驗(yàn)概率。數(shù)據(jù)的可能性(與假設(shè)無(wú)關(guān))。
圖四
以圖4為例,如果天氣=“陽(yáng)光”,結(jié)果如何?
為了確定結(jié)果play =’yes’或’no’,給定變量weather =’sunny’的值,計(jì)算P(是| sunny)和P(no | sunny),并選擇結(jié)果的概率較高。
P(是|晴天)=(P(晴天|是)* P(是))/ P(晴天)
=(3/9 * 9/14)/(5/14)
= 0.60
P(no | sunny)=(P(晴天)* P(no))/ P(晴天)
=(2/5 * 5/14)/(5/14)
= 0.40
因此,如果天氣=“晴天”,結(jié)果是play =’是’。
5. KNN
K鄰近算法使用整個(gè)數(shù)據(jù)集作為訓(xùn)練集,而不是將數(shù)據(jù)集分成訓(xùn)練集和測(cè)試集。
當(dāng)新的數(shù)據(jù)實(shí)例需要結(jié)果時(shí),KNN算法遍歷整個(gè)數(shù)據(jù)集,以找到新實(shí)例的k個(gè)最近的實(shí)例,或者與新記錄最相似的k個(gè)實(shí)例,然后對(duì)于分類問題的結(jié)果(對(duì)于回歸問題)或模式輸出均值。
實(shí)例之間的相似度使用歐幾里德距離和Hamming距離等度量來計(jì)算。
無(wú)監(jiān)督學(xué)習(xí)算法:
6. Apriori
Apriori算法用于事務(wù)數(shù)據(jù)庫(kù)挖掘,然后生成關(guān)聯(lián)規(guī)則。它在市場(chǎng)籃子分析中被廣泛使用,在這個(gè)分析中,檢查數(shù)據(jù)庫(kù)中經(jīng)常出現(xiàn)的產(chǎn)品組合。一般來說,我們寫出如果一個(gè)人購(gòu)買項(xiàng)目X,然后他購(gòu)買項(xiàng)目Y的關(guān)聯(lián)規(guī)則為:X – > Y。
例如:如果一個(gè)人購(gòu)買牛奶和糖,那么他很可能會(huì)購(gòu)買咖啡粉。這可以寫成關(guān)聯(lián)規(guī)則的形式:{牛奶,糖} – >咖啡粉。
7. K-means
K-means是一種迭代算法,將相似的數(shù)據(jù)分組到簇中。計(jì)算k個(gè)簇的質(zhì)心,并將一個(gè)數(shù)據(jù)點(diǎn)分配給質(zhì)心和數(shù)據(jù)點(diǎn)之間距離最小的簇。
步驟1:k-means初始化:
a)選擇k的值。在這里,讓我們?nèi) = 3。
b)將每個(gè)數(shù)據(jù)點(diǎn)隨機(jī)分配到3個(gè)群集中的任何一個(gè)。
c)為每個(gè)集群計(jì)算集群質(zhì)心。紅色,藍(lán)色和綠色星星表示3個(gè)星團(tuán)中的每一個(gè)的質(zhì)心。
步驟2:將每個(gè)觀察結(jié)果與群集相關(guān)聯(lián):
將每個(gè)點(diǎn)重新分配到最近的集群質(zhì)心。這里,上面的5個(gè)點(diǎn)被分配到具有藍(lán)色質(zhì)心的簇。按照相同的步驟將點(diǎn)分配給包含紅色和綠色質(zhì)心的群集。
第3步:重新計(jì)算質(zhì)心:
計(jì)算新簇的質(zhì)心。舊的質(zhì)心由灰色星星表示,而新的質(zhì)心是紅色,綠色和藍(lán)色星星。
第4步:迭代,然后退出,如果不變。
重復(fù)步驟2-3,直到?jīng)]有從一個(gè)群集切換到另一個(gè)群集。一旦連續(xù)兩個(gè)步驟沒有切??換,退出k-means算法。
8. PCA
主成分分析(PCA)用于通過減少變量的數(shù)量來使數(shù)據(jù)易于探索和可視化。這是通過將數(shù)據(jù)中的最大方差捕獲到一個(gè)稱為“主要成分”的軸上的新的坐標(biāo)系來完成的。每個(gè)組件是原始變量的線性組合,并且彼此正交。組件之間的正交性表明這些組件之間的相關(guān)性為零。
第一個(gè)主成分捕捉數(shù)據(jù)中最大變化的方向。第二個(gè)主要組件捕獲數(shù)據(jù)中的剩余變量,但變量與第一個(gè)組件不相關(guān)。
9.隨機(jī)森林裝袋
隨機(jī)森林是對(duì)袋裝決策樹(bagged decision trees)改進(jìn)。
裝袋(Bagging):裝袋的第一步是創(chuàng)建多個(gè)模型,使用Bootstrap Sampling方法創(chuàng)建數(shù)據(jù)集。在Bootstrap Sampling中,每個(gè)生成的訓(xùn)練集由來自原始數(shù)據(jù)集的隨機(jī)子樣本組成。這些訓(xùn)練集中的每一個(gè)與原始數(shù)據(jù)集大小相同,但有些記錄會(huì)重復(fù)多次,有些記錄根本不會(huì)出現(xiàn)。然后,整個(gè)原始數(shù)據(jù)集被用作測(cè)試集。因此,如果原始數(shù)據(jù)集的大小為N,那么每個(gè)生成的訓(xùn)練集的大小也是N,測(cè)試集的大小也是N。
裝袋的第二步是在不同的生成的訓(xùn)練集上使用相同的算法創(chuàng)建多個(gè)模型。在這種情況下,讓我們討論隨機(jī)森林。與決策樹不同的是,每個(gè)節(jié)點(diǎn)被分割成最小化誤差的最佳特征,在隨機(jī)森林中,我們選擇隨機(jī)選擇的特征來構(gòu)建最佳分割。在每個(gè)分割點(diǎn)處要搜索的特征的數(shù)量被指定為隨機(jī)森林算法的參數(shù)。
因此,在用隨機(jī)森林裝袋時(shí),每棵樹都是使用記錄的隨機(jī)樣本構(gòu)建的,每個(gè)分叉是使用預(yù)測(cè)變量的隨機(jī)樣本構(gòu)建的。
10. Boosting with AdaBoost
套袋(Bagging)是一個(gè)平行的集合,因?yàn)槊總(gè)模型都是獨(dú)立建立的。另一方面,boosting是一個(gè)連續(xù)的集合,每個(gè)模型的建立是基于糾正前一個(gè)模型的錯(cuò)誤分類。
Adaboost代表Adaptive Boosting。
圖9
在圖9中,步驟1,2,3涉及一個(gè)稱為決策殘缺的弱學(xué)習(xí)者(一個(gè)1級(jí)決策樹,僅基于1個(gè)輸入特征的值進(jìn)行預(yù)測(cè))。步驟4結(jié)合了以前模型的3個(gè)決策樹(在決策樹中有3個(gè)分裂規(guī)則)。
步驟1:從1個(gè)決策樹開始,對(duì)1個(gè)輸入變量做出決定:
數(shù)據(jù)點(diǎn)的大小表明我們已經(jīng)應(yīng)用相同的權(quán)重將它們分類為一個(gè)圓或三角形。決策樹在上半部分產(chǎn)生了一條水平線來分類這些點(diǎn)。我們可以看到有2個(gè)圓圈錯(cuò)誤地預(yù)測(cè)為三角形。因此,我們將為這兩個(gè)圈子分配更高的權(quán)重,并應(yīng)用另一個(gè)決策樹樁。
步驟2:移動(dòng)到另一個(gè)決策樹,以決定另一個(gè)輸入變量:
我們觀察到,上一步的兩個(gè)錯(cuò)誤分類圈的大小大于其余點(diǎn)。現(xiàn)在第二個(gè)決策樹會(huì)試圖正確預(yù)測(cè)這兩個(gè)圓。
步驟3:訓(xùn)練另一個(gè)決策樹來決定另一個(gè)輸入變量。
來自上一步的3個(gè)錯(cuò)誤分類圈大于其余的數(shù)據(jù)點(diǎn),F(xiàn)在,已經(jīng)生成了一條垂直線,用于分類圓和三角形。
步驟4:合并決策樹:
我們已經(jīng)結(jié)合了以前3個(gè)模型中的分隔符,并觀察到這個(gè)模型中的復(fù)雜規(guī)則與任何一個(gè)單獨(dú)的弱學(xué)習(xí)者相比,正確地分類了數(shù)據(jù)點(diǎn)。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:機(jī)器學(xué)習(xí)初學(xué)者必須知道的十大算法
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/10839721362.html