本文將帶你遍歷機(jī)器學(xué)習(xí)領(lǐng)域最受歡迎的算法系統(tǒng)地了解這些算法有助于進(jìn)一步掌握機(jī)器學(xué)習(xí)當(dāng)然,本文收錄的算法并不完全,分類的方式也不唯一不過,看完這篇文章后,下次再有算法提起,你想不起它長(zhǎng)處和用處的可能性就很低了本文還附有兩張算法思維導(dǎo)圖供學(xué)習(xí)使用
在本文中,我將提供兩種分類機(jī)器學(xué)習(xí)算法的方法一是根據(jù)學(xué)習(xí)方式分類,二是根據(jù)類似的形式或功能分類這兩種方法都很有用,不過,本文將側(cè)重后者,也就是根據(jù)類似的形式或功能分類在閱讀完本文以后,你將會(huì)對(duì)監(jiān)督學(xué)習(xí)中最受歡迎的機(jī)器學(xué)習(xí)算法,以及它們彼此之間的關(guān)系有一個(gè)比較深刻的了解
事先說明一點(diǎn),我沒有涵蓋機(jī)器學(xué)習(xí)特殊子領(lǐng)域的算法,比如計(jì)算智能(進(jìn)化算法等)、計(jì)算機(jī)視覺(CV)、自然語言處理(NLP)、推薦系統(tǒng)、強(qiáng)化學(xué)習(xí)和圖模型
下面是一張算法思維導(dǎo)圖,點(diǎn)擊放大查看
從學(xué)習(xí)方式分類
算法對(duì)一個(gè)問題建模的方式很多,可以基于經(jīng)歷、環(huán)境,或者任何我們稱之為輸入數(shù)據(jù)的東西機(jī)器學(xué)習(xí)和人工智能的教科書通常會(huì)讓你首先考慮算法能夠采用什么方式學(xué)習(xí)實(shí)際上,算法能夠采取的學(xué)習(xí)方式或者說學(xué)習(xí)模型只有幾種,下面我會(huì)一一說明對(duì)機(jī)器學(xué)習(xí)算法進(jìn)行分類是很有必要的事情,因?yàn)檫@迫使你思考輸入數(shù)據(jù)的作用以及模型準(zhǔn)備過程,從而選擇一個(gè)最適用于你手頭問題的算法
監(jiān)督學(xué)習(xí)
輸入數(shù)據(jù)被稱為訓(xùn)練數(shù)據(jù),并且每一個(gè)都帶有標(biāo)簽,比如“廣告/非廣告”,或者當(dāng)時(shí)的股票價(jià)格通過訓(xùn)練過程建模,模型需要做出預(yù)測(cè),如果預(yù)測(cè)出錯(cuò)會(huì)被修正直到模型輸出準(zhǔn)確的結(jié)果,訓(xùn)練過程會(huì)一直持續(xù)常用于解決的問題有分類和回歸常用的算法包括邏輯回歸和BP神經(jīng)網(wǎng)絡(luò)
無監(jiān)督學(xué)習(xí)
輸入數(shù)據(jù)沒有標(biāo)簽,輸出沒有標(biāo)準(zhǔn)答案,就是一系列的樣本無監(jiān)督學(xué)習(xí)通過推斷輸入數(shù)據(jù)中的結(jié)構(gòu)建模這可能是提取一般規(guī)律,可以是通過數(shù)學(xué)處理系統(tǒng)地減少冗余,或者根據(jù)相似性組織數(shù)據(jù)常用于解決的問題有聚類、降維和關(guān)聯(lián)規(guī)則的學(xué)習(xí)常用的算法包括 Apriori 算法和 K 均值算法
半監(jiān)督學(xué)習(xí)
半監(jiān)督學(xué)習(xí)的輸入數(shù)據(jù)包含帶標(biāo)簽和不帶標(biāo)簽的樣本半監(jiān)督學(xué)習(xí)的情形是,有一個(gè)預(yù)期中的預(yù)測(cè),但模型必須通過學(xué)習(xí)結(jié)構(gòu)整理數(shù)據(jù)從而做出預(yù)測(cè)常用于解決的問題是分類和回歸常用的算法是所有對(duì)無標(biāo)簽數(shù)據(jù)建模進(jìn)行預(yù)測(cè)的算法(即無監(jiān)督學(xué)習(xí))的延伸
從功能角度分類
研究人員常常通過功能相似對(duì)算法進(jìn)行分類例如,基于樹的方法和基于神經(jīng)網(wǎng)絡(luò)的方法這種方法也是我個(gè)人認(rèn)為最有用的分類方法不過,這種方法也并非完美,比如學(xué)習(xí)矢量量化(LVQ),就既可以被歸為神經(jīng)網(wǎng)絡(luò)方法,也可以被歸為基于實(shí)例的方法此外,像回歸和聚類,就既可以形容算法,也可以指代問題
為了避免重復(fù),本文將只在最適合的地方列舉一次下面的算法和分類都不齊備,但有助于你了解整個(gè)領(lǐng)域大概(說明:用于分類和回歸的算法帶有很大的個(gè)人主觀傾向;歡迎補(bǔ)充我遺漏的條目)
回歸算法
回歸分析是研究自變量和因變量之間關(guān)系的一種預(yù)測(cè)模型技術(shù)這些技術(shù)應(yīng)用于預(yù)測(cè)時(shí)間序列模型和找到變量之間關(guān)系回歸分析也是一種常用的統(tǒng)計(jì)學(xué)方法,經(jīng)由統(tǒng)計(jì)機(jī)器學(xué)習(xí)融入機(jī)器學(xué)習(xí)領(lǐng)域“回歸”既可以指算法也可以指問題,因此在指代的時(shí)候容易混淆實(shí)際上,回歸就是一個(gè)過程而已常用的回歸算法包括:
普通最小二乘回歸(OLSR)
線性回歸
邏輯回歸
逐步回歸
多元自適應(yīng)回歸樣條法(MARS)
局部估計(jì)平滑散點(diǎn)圖(LOESS)
基于實(shí)例的學(xué)習(xí)算法
基于實(shí)例的學(xué)習(xí)通過訓(xùn)練數(shù)據(jù)的樣本或事例建模,這些樣本或事例也被視為建模所必需的這類模型通常會(huì)建一個(gè)樣本數(shù)據(jù)庫,比較新的數(shù)據(jù)和數(shù)據(jù)庫里的數(shù)據(jù),通過這種方式找到最佳匹配并做出預(yù)測(cè)換句話說,這類算法在做預(yù)測(cè)時(shí),一般會(huì)使用相似度準(zhǔn)則,比對(duì)待預(yù)測(cè)的樣本和原始樣本之間的相似度,再做出預(yù)測(cè)因此,基于實(shí)例的方法也被稱之為贏家通吃的方法(winner-take-all)和基于記憶的學(xué)習(xí)(memory-based learning)常用的基于實(shí)例的學(xué)習(xí)算法包括:
k-鄰近算法(kNN)
學(xué)習(xí)矢量量化算法(LVQ)
自組織映射算法(SOM)
局部加權(quán)學(xué)習(xí)算法(LWL)
正則化算法
正則化算法背后的思路是,參數(shù)值比較小的時(shí)候模型更加簡(jiǎn)單對(duì)模型的復(fù)雜度會(huì)有一個(gè)懲罰值,偏好簡(jiǎn)單的、更容易泛化的模型,正則化算法可以說是這種方法的延伸我把正則化算法單獨(dú)列出來,原因就是我聽說它們十分受歡迎、功能強(qiáng)大,而且能夠?qū)ζ渌椒ㄟM(jìn)行簡(jiǎn)單的修飾常用的正則化算法包括:
嶺回歸
LASSO 算法
Elastic Net
最小角回歸算法(LARS)
決策樹算法
決策樹算法的目標(biāo)是根據(jù)數(shù)據(jù)屬性的實(shí)際值,創(chuàng)建一個(gè)預(yù)測(cè)樣本目標(biāo)值的模型訓(xùn)練時(shí),樹狀的結(jié)構(gòu)會(huì)不斷分叉,直到作出最終的決策也就是說,預(yù)測(cè)階段模型會(huì)選擇路徑進(jìn)行決策決策樹常被用于分類和回歸決策樹一般速度快,結(jié)果準(zhǔn),因此也屬于最受歡迎的機(jī)器學(xué)習(xí)算法之一常用的決策樹算法包括:
分類和回歸樹(CART)
ID3 算法
C4.5 算法和 C5.0 算法(它們是一種算法的兩種不同版本)
CHAID 算法
單層決策樹
M5 算法
條件決策樹
貝葉斯算法
貝葉斯方法指的是那些明確使用貝葉斯定理解決分類或回歸等問題的算法常用的貝葉斯算法包括:
樸素貝葉斯算法
高斯樸素貝葉斯算法
多項(xiàng)式樸素貝葉斯算法
AODE 算法
貝葉斯信念網(wǎng)絡(luò)(BBN)
貝葉斯網(wǎng)絡(luò)(BN)
聚類算法
聚類跟回歸一樣,既可以用來形容一類問題,也可以指代一組方法聚類方法通常涉及質(zhì)心(centroid-based)或?qū)哟危╤ierarchal)等建模方式,所有的方法都與數(shù)據(jù)固有的結(jié)構(gòu)有關(guān),目標(biāo)是將數(shù)據(jù)按照它們之間共性最大的組織方式分成幾組換句話說,算法將輸入樣本聚成圍繞一些中心的數(shù)據(jù)團(tuán),通過這樣的方式發(fā)現(xiàn)數(shù)據(jù)分布結(jié)構(gòu)中的規(guī)律常用的聚類算法包括:
K-均值
K-中位數(shù)
EM 算法
分層聚類算法
關(guān)聯(lián)規(guī)則學(xué)習(xí)
關(guān)聯(lián)規(guī)則學(xué)習(xí)在數(shù)據(jù)不同變量之間觀察到了一些關(guān)聯(lián),算法要做的就是找出最能描述這些關(guān)系的規(guī)則,也就是獲取一個(gè)事件和其他事件之間依賴或關(guān)聯(lián)的知識(shí)常用的關(guān)聯(lián)規(guī)則算法有:
Apriori 算法
Eclat 算法
人工神經(jīng)網(wǎng)絡(luò)
人工神經(jīng)網(wǎng)絡(luò)是一類受生物神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)及/或功能啟發(fā)而來的模型它們是一類常用于解決回歸和分類等問題的模式匹配,不過,實(shí)際上是一個(gè)含有成百上千種算法及各種問題變化的子集注意這里我將深度學(xué)習(xí)從人工神經(jīng)網(wǎng)絡(luò)算法中分離了出去,因?yàn)樯疃葘W(xué)習(xí)實(shí)在太受歡迎人工神經(jīng)網(wǎng)絡(luò)指的是更加經(jīng)典的感知方法常用的人工神經(jīng)網(wǎng)絡(luò)包括:
感知機(jī)
反向傳播算法(BP 神經(jīng)網(wǎng)絡(luò))
Hopfield網(wǎng)絡(luò)
徑向基函數(shù)網(wǎng)絡(luò)(RBFN)
深度學(xué)習(xí)算法
深度學(xué)習(xí)算法是人工神經(jīng)網(wǎng)絡(luò)的升級(jí)版,充分利用廉價(jià)的計(jì)算力近年來,深度學(xué)習(xí)得到廣泛應(yīng)用,尤其是語音識(shí)別、圖像識(shí)別深度學(xué)習(xí)算法會(huì)搭建規(guī)模更大、結(jié)構(gòu)更復(fù)雜的神經(jīng)網(wǎng)絡(luò),正如上文所說,很多深度學(xué)習(xí)方法都涉及半監(jiān)督學(xué)習(xí)問題,這種問題的數(shù)據(jù)一般量極大,而且只有很少部分帶有標(biāo)簽常用的深度學(xué)習(xí)算法包括:
深度玻爾茲曼機(jī)(DBM)
深度信念網(wǎng)絡(luò)(DBN)
卷積神經(jīng)網(wǎng)絡(luò)(CNN)
棧式自編碼算法(Stacked Auto-Encoder)
降維算法
降維算法和聚類有些類似,也是試圖發(fā)現(xiàn)數(shù)據(jù)的固有結(jié)構(gòu)但是,降維算法采用的是無監(jiān)督學(xué)習(xí)的方式,用更少(更低維)的信息進(jìn)行總結(jié)和描述降維算法可以監(jiān)督學(xué)習(xí)的方式,被用于多維數(shù)據(jù)的可視化或?qū)?shù)據(jù)進(jìn)行簡(jiǎn)化處理很多降維算法經(jīng)過修改后,也被用于分類和回歸的問題常用的降維算法包括:
主成分分析法(PCA)
主成分回歸(PCR)
偏最小二乘回歸(PLSR)
薩蒙映射
多維尺度分析法(MDS)
投影尋蹤法(PP)
線性判別分析法(LDA)
混合判別分析法(MDA)
二次判別分析法(QDA)
靈活判別分析法(Flexible Discriminant Analysis,F(xiàn)DA)
模型融合算法
模型融合算法將多個(gè)簡(jiǎn)單的、分別單獨(dú)訓(xùn)練的弱機(jī)器學(xué)習(xí)算法結(jié)合在一起,這些弱機(jī)器學(xué)習(xí)算法的預(yù)測(cè)以某種方式整合成一個(gè)預(yù)測(cè)通常這個(gè)整合后的預(yù)測(cè)會(huì)比單獨(dú)的預(yù)測(cè)要好一些構(gòu)建模型融合算法的主要精力一般用于決定將哪些弱機(jī)器學(xué)習(xí)算法以什么樣的方式結(jié)合在一起模型融合算法是一類非常強(qiáng)大的算法,因此也很受歡迎常用的模型融合增強(qiáng)方法包括:
Boosting
Bagging
AdaBoost
堆疊泛化(混合)
GBM 算法
GBRT 算法
隨機(jī)森林
其他
還有很多算法都沒有涉及例如,支持向量機(jī)(SVM)應(yīng)該被歸為哪一組?還是說它自己?jiǎn)为?dú)成一組?我還沒有提到的機(jī)器學(xué)習(xí)算法包括:
特征選擇算法
Algorithm accuracy evaluation
Performance measures
再附一張思維導(dǎo)圖
-
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8493瀏覽量
134179
發(fā)布評(píng)論請(qǐng)先 登錄
機(jī)器學(xué)習(xí)中常用的決策樹算法技術(shù)解析

【阿里云大學(xué)免費(fèi)精品課】機(jī)器學(xué)習(xí)入門:概念原理及常用算法
常用python機(jī)器學(xué)習(xí)庫盤點(diǎn)
機(jī)器學(xué)習(xí)算法常用指標(biāo)匯總

10大常用機(jī)器學(xué)習(xí)算法匯總
最實(shí)用的的五種機(jī)器學(xué)習(xí)算法
17個(gè)機(jī)器學(xué)習(xí)的常用算法
17個(gè)機(jī)器學(xué)習(xí)的常用算法!

評(píng)論