1. 程式人生 > 其它 >機器學習之常用演算法

機器學習之常用演算法

1、按照學習方式劃分
1.1 監督學習:輸入資料稱為“訓練資料”,每組訓練資料有一個明確的標識或結果。在建立模型的時候,監督學習建立一個學習過程,將預測結果與“訓練資料”的實際結果進行比較,不斷調整預測模型,直到模型的預測結果達到一個預期的標準。
1.2 無監督學習:資料並沒有被特別標識,學習模型是為了推斷出資料的一些內在結構。
1.3 半監督學習:輸入資料部分被標識,部分沒有被標識,這種學習模型可以用來預測。
1.4 強化學習:輸入資料作為對模型的反饋,不像監督學習那樣,輸入資料僅僅是作為一個檢查模型對錯的方式,在強化學習下,輸入資料直接反饋到模型,模型必須對此立刻做出調整。


2、按照演算法相似性劃分
2.1 迴歸演算法:研究自變數和因變數關係(最小二乘法、邏輯迴歸)
2.2 基於例項的演算法:對決策問題建立模型,常常先取一批資料樣本,然後根據某些相似性把新資料與樣本資料進行比較,通過這種方法來尋找最佳匹配。(KNN、學習向量量化)
2.3 正則化方法:根據演算法的複雜度對演算法進行調整,常常對簡單模型予以獎勵,對複雜演算法予以懲罰。(嶺迴歸、套索方法)
2.4 決策樹學習:根據資料的屬性採用樹狀結構建立決策模型,常用來解決分類和迴歸問題。(分類及迴歸樹、ID3、C4.5單層決策樹、隨機森林)
2.5 貝葉斯方法:基於貝葉斯定理的一類演算法統稱為貝葉斯演算法,是為了解決不定性和不完整性問題提出的,對於解決複雜問題裝置不確定性和關聯性引起的故障有很大優勢。(樸素貝葉斯演算法、貝葉斯信念網路)
2.6 基於核的方法:將輸入資料對映到一個高階的向量空間,在高階空間向量裡,有些分類或者回歸問題能更容易地解決。(支援向量機SVM、線性判別分析LDA、徑向基函式RBF)
2.7 聚類演算法:按照中心點或者分層的方式對輸入資料進行歸併,試圖找到資料的內在結構,以便按照最大的共同點將資料進行歸類。(k-means演算法、期望最大化演算法EM)
2.8 關聯規則學習:通過尋找最能夠解釋資料變數之間關係的規則,來找出大量多元資料集中有用的相關性規則。(Apriori演算法、Eclat演算法)
2.9 人工神經網路:模擬生物神經網路,是一類模式匹配演算法,通常用於解決分類和迴歸問題。(感知器神經網路、反向傳遞、Hopfield網路、自組織對映、學習向量量化)
2.10 降維演算法:試圖利用較少的資訊來歸納或解釋資料,可以用於高維資料的視覺化或者簡化資料以便監督學習使用。(主成分分析PCA、偏最小二乘迴歸PLS、Sammon對映)
2.11 深度學習:對人工神經網路的發展。(深度置信網路DBN、卷積網路、受限玻爾茲曼機RBN)
2.12 整合演算法:用一些相對較弱的學習模型獨立地就同樣地樣本進行訓練,然後把結果整合起來進行整體預測。(Boosting、Bagging、AdaBoost、隨機森林)

參考文獻:

趙涓涓,強彥.Python機器學習[M].北京。:機械工業出版社,2019.6