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