【綜述】機(jī)器學(xué)習(xí)中的12類算法
導(dǎo)讀
最近在研究一些機(jī)器學(xué)習(xí)方面的論文,翻到了一篇較早的機(jī)器學(xué)習(xí)綜述(2017年),雖然不是最新的研究現(xiàn)狀,但考慮到經(jīng)典機(jī)器學(xué)習(xí)算法其實(shí)發(fā)展并不像深度學(xué)習(xí)那么迅猛,所以其論述還是很有參考性。本文就其中關(guān)于機(jī)器學(xué)習(xí)算法分類的一段進(jìn)行選摘翻譯,以供參考。原文鏈接可通過閱讀原文查閱。

以下譯文選摘自2017年發(fā)表在IJIRCCE上的《A Survey on Machine Learning: Concept, Algorithms and Applications》這篇文章的第III部分的B小節(jié),對算法進(jìn)行分類介紹。主要包括12種機(jī)器學(xué)習(xí)算法。
本文為個(gè)人翻譯分享,限于英語水平,定有翻譯不當(dāng)甚至的錯(cuò)誤的地方還望諒解。另外,部分不為熟知的算法舉例有所刪減。
回歸分析是預(yù)測的一部分,其通過挖掘自變量和因變量(目標(biāo))之間的關(guān)系實(shí)現(xiàn)。知名的回歸模型包括:線性回歸(Linear Regression),邏輯回歸(Logistic Regression),逐步回歸(Stepwise Regression),最小二乘法(Ordinary Least Squares Regression (OLSR)),多元自適應(yīng)回歸(Multivariate Adaptive Regression Splines (MARS) ),本地散點(diǎn)平滑估計(jì)(Locally Estimated Scatterplot Smoothing (LOESS))等等。
譯者注:雖然稱之為回歸算法,但眾所周知邏輯回歸是用于分類的。另外,除了線性回歸和邏輯回歸之外,其他幾種算法貌似并不常用。
基于實(shí)例或基于內(nèi)存的算法,會(huì)直接存儲(chǔ)所有訓(xùn)練數(shù)據(jù)樣本,而不對其開發(fā)一個(gè)具體的模型函數(shù)。當(dāng)有新的任務(wù)時(shí)(即用于測試集),其會(huì)用所有訓(xùn)練集數(shù)據(jù)進(jìn)行檢驗(yàn)以得到預(yù)測結(jié)果。如果遇到更好的訓(xùn)練數(shù)據(jù),它可以簡單的對其予以替換和更新。因此,這類算法也被稱為"勝者為王"算法。例如:K近鄰(KNN),學(xué)習(xí)向量量化(LVQ),自組織映射網(wǎng)絡(luò)(SOM),局部加權(quán)學(xué)習(xí)(LWL)等等。
譯者注:這類算法其實(shí)就是所謂的惰性算法,即不訓(xùn)練任何模型,只存儲(chǔ)訓(xùn)練數(shù)據(jù),直至有預(yù)測任務(wù)時(shí)采取與訓(xùn)練集比較的方式進(jìn)行預(yù)測。KNN就是最典型的代表。
正則化是用于解決過擬合和離群點(diǎn)的過程,是一種對已有機(jī)器學(xué)習(xí)模型進(jìn)行簡單而有效的增加調(diào)整參數(shù)的方法,典型的就是對回歸模型。通過對擬合函數(shù)增加懲罰項(xiàng)的方式來實(shí)現(xiàn)擬合曲線的平滑,從而更好的處理離群點(diǎn)。例如:嶺回歸(Ridge),LASSO回歸,彈性網(wǎng)(Elastic Net),最小角回歸(LARS)等。
譯者注:此處的正則化算法其實(shí)也屬于廣義上的線性回歸模型,在sklearn中都從linear_model中引入。
決策樹算法將可能的解決方案構(gòu)建成類似于一棵樹的結(jié)構(gòu),同時(shí)滿足一定的約束條件。如此命名,是因?yàn)樗偸菑囊粋€(gè)根節(jié)點(diǎn)開始,然后引出多個(gè)分支,直至可以得出確切的結(jié)論或預(yù)測結(jié)果為止,從而將這一過程構(gòu)建成一棵樹。它因具有以類似于人的處理方式來解決問題的能力而備受青睞,同時(shí)又具有較快的速度和較高的準(zhǔn)確率。例如:CART樹、ID3、C4.5、C5.0等等。
譯者注:決策樹的確是一種很好的機(jī)器學(xué)習(xí)算法,非常符合if-else或者swich-case的編程思想,它訓(xùn)練速度快、精度高,更重要的是支撐起了眾多集成學(xué)習(xí)算法。
這是一組基于貝葉斯理論的機(jī)器學(xué)習(xí)算法,可用于解決分類和回歸問題。例如:樸素貝葉斯(NB),高斯樸素貝葉斯(Gaussian NB),多項(xiàng)式樸素貝葉斯(Multinomial NB),貝葉斯網(wǎng)絡(luò)(BN)等。
譯者注:貝葉斯理論是機(jī)器學(xué)習(xí)中的常青樹,不僅衍生了樸素貝葉斯算法,更是支撐起了HPO(超參)方向的一片天!
SVM是一種如此流行的機(jī)器學(xué)習(xí)算法,以至于可將其獨(dú)立分為一類。它采用一組超平面或帶有決策邊界的決策平面來區(qū)分不同標(biāo)簽的數(shù)據(jù)。它是一種嚴(yán)格的有監(jiān)督分類算法。換言之,該算法根據(jù)輸入數(shù)據(jù)或訓(xùn)練集來得到最優(yōu)超平面或決策邊界,而后以此對新的數(shù)據(jù)進(jìn)行分類。當(dāng)采用核函數(shù)時(shí),SVM可兼顧線性和非線性分類問題。
譯者注:SVM是曾經(jīng)紅極一時(shí)的機(jī)器學(xué)習(xí)算法,尤其是有了核函數(shù)的加持!俗話說,SVM有三寶,間隔對偶核函數(shù)。但其理解或者公式推導(dǎo)其實(shí)都是不甚友好的。另外,SVM不僅可用于分類問題,當(dāng)然也可以用于回歸問題。
聚類是對數(shù)據(jù)集中潛在的模式進(jìn)行利用和區(qū)分,從而對數(shù)據(jù)進(jìn)行打標(biāo)簽的過程。例如:K-Means、K-Medians、譜聚類、DBSCAN、EM等。
譯者注:聚類算法是最為常見的無監(jiān)督機(jī)器學(xué)習(xí)場景,其與分類算法的區(qū)別在于:聚類是在數(shù)據(jù)無標(biāo)簽的情況下嘗試對其打標(biāo)簽,而分類則是在實(shí)際有標(biāo)簽的情況下對其進(jìn)行預(yù)測!
關(guān)聯(lián)規(guī)則用于發(fā)現(xiàn)表面不相關(guān)數(shù)據(jù)之間的相關(guān)性。它們被廣泛應(yīng)用于電商網(wǎng)站來預(yù)測客戶行為和需求,以及向顧客推薦其可能感興趣的產(chǎn)品。例如:Apriori 算法、Eclat 算法等。
譯者注:關(guān)聯(lián)規(guī)則的經(jīng)典案例是啤酒和尿布,這也是某種意義上數(shù)據(jù)挖掘的起源!
這是一種基于人或動(dòng)物真實(shí)神經(jīng)網(wǎng)絡(luò)而構(gòu)建的模型。由于其試圖發(fā)現(xiàn)輸入和輸出數(shù)據(jù)間的復(fù)雜關(guān)聯(lián),ANN因此被視為非線性模型。其對數(shù)據(jù)進(jìn)行采樣應(yīng)用而非整個(gè)數(shù)據(jù)集,從而可控制成本和時(shí)間。例如:感知機(jī)、反向傳播、徑向基網(wǎng)絡(luò)等。
譯者注:人工神經(jīng)網(wǎng)絡(luò)是一種擬生算法,理念源于自然,又有著較為嚴(yán)格的數(shù)學(xué)理論基礎(chǔ),誕生時(shí)間也較早。比較經(jīng)典的算法當(dāng)屬多層感知機(jī)模型,但其更大的價(jià)值在于奠定了深度學(xué)習(xí)的理論基礎(chǔ)。或許,深度學(xué)習(xí)這種星火燎原的態(tài)勢,是作者在2017年初所不曾預(yù)想的場面。
在數(shù)據(jù)體量足夠大的今天,人工神經(jīng)網(wǎng)絡(luò)模型也有了更多的現(xiàn)代化版本。其利用更大的神經(jīng)網(wǎng)絡(luò)來解決半監(jiān)督問題,其中的數(shù)據(jù)往往是無標(biāo)簽或者未分類的。例如,深度玻爾茲曼機(jī),深度置信網(wǎng)絡(luò)(DBN),卷積神經(jīng)網(wǎng)絡(luò)(CNN)等等。
譯者注:近幾年深度學(xué)習(xí)算法太火了,每年都有大量新的論文提出創(chuàng)新思想,儼然成為機(jī)器學(xué)習(xí)領(lǐng)域最為璀璨的明珠!
降維算法通常用于將較大的數(shù)據(jù)集降低體量,采用最有用的成份或少數(shù)特征來表達(dá)相關(guān)信息。這可有助于數(shù)據(jù)更好的提供可視化或者更高效的開展有監(jiān)督學(xué)習(xí)中的分類。例如:主成分分析 (PCA)、主成分回歸 (PCR)、線性判別分析 (LDA)等。
譯者注:降維算法與聚類算法同屬于無監(jiān)督學(xué)習(xí),僅在某些特定場景下有所應(yīng)用,例如PCA算法有著嚴(yán)格的矩陣論基礎(chǔ)。但由于降維后的數(shù)據(jù)變得不具有可解釋性,所以它是天使還是魔鬼,全看如何應(yīng)用!
集成算法的主要出發(fā)點(diǎn)是綜合多個(gè)獨(dú)立訓(xùn)練的弱學(xué)習(xí)器預(yù)測結(jié)果,確保最終結(jié)果相較于單個(gè)學(xué)習(xí)器而言更為精準(zhǔn)和魯棒。為了最大化集成學(xué)習(xí)效果,需謹(jǐn)慎考慮基學(xué)習(xí)器類型和集成方法。例如:Boosting,Bagging,AdaBoost,GBM,GBRT,隨機(jī)森林,極限隨機(jī)森林等。
譯者注:單就經(jīng)典機(jī)器學(xué)習(xí)而言(即不考慮深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)等),集成學(xué)習(xí)才是當(dāng)前的主流和熱點(diǎn)!主流集成學(xué)習(xí)思想可參考?xì)v史推文:一張圖介紹機(jī)器學(xué)習(xí)中的集成學(xué)習(xí)算法。

相關(guān)閱讀:
