【机器学习】算法大全
機器學習(Machine Learning, ML)是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、算法復雜度理論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的性能。
嚴格定義: 機器學習是一門研究機器獲取新知識和新技能,并識別現有知識的學問。這里所說的“機器”,指的就是計算機,電子計算機,中子計算機、光子計算機或神經計算機等等。
算法分類
按功能區分,機器學習分為四大塊: classification (分類), clustering (聚類), regression (回歸), dimensionality reduction (降維)。
按樣本是否有輸出,又可分為:監督學習、無監督學習和強化學習(半監督學習)。
接下來我們就一一介紹。
一 監督學習
從給定的訓練數據集中學習出一個函數(模型參數),當新的數據到來時,可以根據這個函數預測結果。監督學習的訓練集要求包括輸入輸出,也可以說是特征和目標。訓練集中的目標是由人標注的。監督學習就是最常見的分類(注意和聚類區分)問題,通過已有的訓練樣本(即已知數據及其對應的輸出)去訓練得到一個最優模型(這個模型屬于某個函數的集合,最優表示某個評價準則下是最佳的),再利用這個模型將所有的輸入映射為相應的輸出,對輸出進行簡單的判斷從而實現分類的目的。也就具有了對未知數據分類的能力。監督學習的目標往往是讓計算機去學習我們已經創建好的分類系統(模型)。
監督學習是訓練神經網絡和決策樹的常見技術。這兩種技術高度依賴事先確定的分類系統給出的信息,對于神經網絡,分類系統利用信息判斷網絡的錯誤,然后不斷調整網絡參數。對于決策樹,分類系統用它來判斷哪些屬性提供了最多的信息。
常見監督算法:
1、回歸(Regression)
-
①線性回歸
-
②邏輯回歸
-
③嶺回歸&Lasso回歸
-
④CART回歸
-
⑤Logistic Regression
- 【機器學習】Logistic原理(看不懂算我輸)
-
⑥Softmax Regression
2、Factorization Machine
3、支持向量機(Support Vector Machines)
4、決策樹分類器(Decision Tree Algorithm)
- 【知識拓展】決策樹算法原理及案例
- 【機器學習】決策樹原理(看不懂算我輸)
5、集成學習(Ensembling)
- 【機器學習】集成學習原理
1)bagging
- ①Random Forests 隨機森林
- 【機器學習】隨機森林原理
- 【項目實戰】隨機森林原理與sklearn 使用
2)boosting
- ①Adaboost
- ②GBDT
- ③XGBoost
- 【機器學習】Xgboost原理(看不懂算我輸)
3)stacking
6、K近鄰算法KNN
7、隨機梯度下降算法
8、Bayes貝葉斯
二 無監督學習
輸入數據沒有被標記,也沒有確定的結果。樣本數據類別未知,需要根據樣本間的相似性對樣本集進行分類(聚類,clustering)試圖使類內差距最小化,類間差距最大化。通俗點將就是實際應用中,不少情況下無法預先知道樣本的標簽,也就是說沒有訓練樣本對應的類別,因而只能從原先沒有樣本標簽的樣本集開始學習分類器設計。
非監督學習目標不是告訴計算機怎么做,而是讓它(計算機)自己去學習怎樣做事情。非監督學習有兩種思路。第一種思路是在指導Agent時不為其指定明確分類,而是在成功時,采用某種形式的激勵制度。需要注意的是,這類訓練通常會置于決策問題的框架里,因為它的目標不是為了產生一個分類系統,而是做出最大回報的決定,這種思路很好的概括了現實世界,agent可以對正確的行為做出激勵,而對錯誤行為做出懲罰。
無監督學習的方法分為兩大類:
(1) 一類為基于概率密度函數估計的直接方法:指設法找到各類別在特征空間的分布參數,再進行分類。
(2) 另一類是稱為基于樣本間相似性度量的簡潔聚類方法:其原理是設法定出不同類別的核心或初始內核,然后依據樣本與核心之間的相似性度量將樣本聚集成不同的類別。
利用聚類結果,可以提取數據集中隱藏信息,對未來數據進行分類和預測。應用于數據挖掘,模式識別,圖像處理等。
常見無監督算法:
1、K均值算法K-Means
2、Mean Shift
3、DBSCAN
4、Label Propagation
三 強化學習
1、BP神經網絡
四 深度學習
1、協同過濾算法
2、基于矩陣分解的推薦算法
3、基于圖的推薦算法
4、AutoEncoder
5、卷積神經網絡
6、馬爾科夫
7、神經網絡
- 【知識拓展】:推薦系統實戰
參考:
【知識拓展】機器學習算法匯總及常用指標總結
區別及選擇:
有監督學習方法必須要有訓練集與測試樣本。在訓練集中找規律,而對測試樣本使用這種規律。而非監督學習沒有訓練集,只有一組數據,在該組數據集內尋找規律。
有監督學習的方法就是識別事物,識別的結果表現在給待識別數據加上了標簽。因此訓練樣本集必須由帶標簽的樣本組成。而非監督學習方法只有要分析的數據集的本身,預先沒有什么標簽。如果發現數據集呈現某種聚集性,則可按自然的聚集性分類,但不予以某種預先分類標簽對上號為目的。
非監督學習方法在尋找數據集中的規律性,這種規律性并不一定要達到劃分數據集的目的,也就是說不一定要“分類”。
這一點是比有監督學習方法的用途要廣。 譬如分析一堆數據的主分量,或分析數據集有什么特點都可以歸于非監督學習方法的范疇。
用非監督學習方法分析數據集的主分量與用K-L變換計算數據集的主分量又有區別。后者從方法上講不是學習方法。因此用K-L變換找主分量不屬于無監督學習方法,即方法上不是。而通過學習逐漸找到規律性這體現了學習方法這一點。在人工神經元網絡中尋找主分量的方法屬于無監督學習方法。
簡單的方法就是從定義入手,有訓練樣本則考慮采用監督學習方法;無訓練樣本,則一定不能用監督學習方法。但是,現實問題中,即使沒有訓練樣本,我們也能夠憑借自己的雙眼,從待分類的數據中,人工標注一些樣本,并把它們作為訓練樣本,這樣的話,可以把條件改善,用監督學習方法來做。對于不同的場景,正負樣本的分布如果會存在偏移(可能大的偏移,可能比較小),這樣的話,監督學習的效果可能就不如用非監督學習了。
總結
以上是生活随笔為你收集整理的【机器学习】算法大全的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【风控建模】信用评分卡模型简介
- 下一篇: 【算法】决策树原理