5 大常用机器学习模型类型总结
本文介紹了 5 大常用機器學習模型類型:集合學習算法,解釋型算法,聚類算法,降維算法,相似性算法,并簡要介紹了每種類型中最廣泛使用的算法模型。我們希望本文可以做到以下三點:
1、應用性。 涉及到應用問題時,知識的普適性顯然非常重要。所以我們希望通過給出模型的一般類別,讓你更好地了解這些模型應當如何應用。
2、相關性。 本文并不包括所有的機器學習模型,比如Na?ve Bayes(樸素貝葉斯)和SVM這種傳統算法,在本文中將會被更好的算法所取代。
3、可消化性。對于數學基礎較薄弱的讀者而言,過多地解釋算法會讓這篇文章的可讀性變差,更何況,你可以在網上找到無數教我們實現這些模型的資源。因此,為了避免本文變得無聊,我們將會把目光放在不同類型的模型的應用上。
01 集成學習算法
(隨機森林XGBoost, LightGBM, CatBoost)
什么是集成學習算法?
為了理解什么是集成學習算法,首先,你需要知道什么是集成學習。集成學習是一種同時使用多個模型,以達到比使用單一模型更好的性能的方法。
從概念上講,可以參考下面這個比喻:
我們向一個班里的學生提出一個數學問題。他們有兩種解答方式:合作解答和單人解答。生活經驗告訴我們,如果全班同學一起合作,那么學生之間可以互相檢查,協作解決問題,并最終給出一個唯一的答案。然而單人作答就沒有這種檢查的福利了——即使他/她的答案錯了,也沒有人能幫他/她檢驗。
這里的全班協作就類似于一個集成學習算法,即由幾個較小的算法同時工作,并形成最終的答案。
應用
集成學習算法主要應用于回歸和分類問題或監督學習問題。由于其固有的性質,集成學習算法優于所有傳統的機器學習算法,包括Na?ve Bayes、SVM和決策樹。??
機器學習 | Sklearn中的樸素貝葉斯全解??
機器學習|支持向量機1--線性SVM用于分類原理??
機器學習|支持向量機2--非線性SVM與核函數??
機器學習 | 決策樹模型(一)理論??
機器學習 | 決策樹模型(二)實例
算法
隨機森林: 隨機森林由許多相互獨立的決策樹構成。
集成算法 | 隨機森林分類模型??
集成算法 | 隨機森林回歸模型
XGBoost: 類似于梯度提升(GradientBoost)算法,但添加了剪枝,Newton Boosting,隨機化參數等功能,因而比梯度提升更強大。
XGBoost 與 LightGBM 哪個更勝一籌??
信用卡欺詐檢測|用啟發式搜索優化XGBoost超參數??
LightGBM: 利用基于梯度的單邊采樣(GOSS)技術過濾數據的一種提升算法,目前實驗已經證實比XGBoost更快,且有時更準確。??
機器學習|LightGBM原理及代碼
CatBoost: 一種基于梯度下降的算法。
02 解釋型算法
(線性回歸、邏輯回歸、SHAP、LIME)
什么是解釋型算法?
解釋型算法使我們能夠識別和理解結果有統計學意義的變量。因此,與其創建模型來預測響應變量的值,不如創建解釋性模型來幫助我們理解模型中變量之間的關系。
而從回歸的角度來看,人們往往強調統計學上顯著的變量,這是因為對于從一個整體中提取出的樣本數據,如果想對樣本做出結論,首先必須確保變量擁有足夠的顯著性,并由此做出有把握的假設。
應用
解釋性模型通常用于需要作出解釋的場景。比如展示 「為什么 」做出某個決定,或者解釋兩個或多個變量之間「如何」相互關聯。
在實踐中,你的機器學習模型的可解釋性與機器學習模型本身的性能一樣重要。如果你不能解釋一個模型是如何工作的,那么這個模型就很難取信于人,自然也就不會被人們應用。
算法
基于假設檢驗的傳統解釋模型:
線性回歸: 如果 2 個或者多個變量之間存在“線性關系”,就可以通過歷史數據,建立變量之間的有效“模型”,來預測未來的變量結果。例如,y = B0 + B1 * x。??
機器學習 | 簡單而強大的線性回歸詳解?
機器學習|線性回歸中的多重共線性與嶺回歸? ??
機器學習 | 多項式回歸處理非線性問題
Logistic回歸: 邏輯回歸主要解決二分類問題,用來表示某件事情發生的可能性。??
機器學習 | 邏輯回歸算法(一)理論
解釋機器學習模型的算法:
SHAP: 即來自博弈論的沙普利加和解釋,實際是將輸出值歸因到每一個特征的shapely值上,依此來衡量特征對最終輸出值的影響。??
用 SHAP 可視化解釋機器學習模型實用指南(上)??
用 SHAP 可視化解釋機器學習模型實用指南(下)
LIME: LIME算法是Marco Tulio Ribeiro2016年發表的論文《"Why Should I Trust You?" Explaining the Predictions of Any Classi?er》中介紹的局部可解釋性模型算法。該算法主要用于文本類與圖像類的模型中。
03?聚類算法
(k-Means,分層聚類法)
什么是聚類算法?
聚類算法是用來進行聚類分析的一項無監督學習任務,通常需要將數據分組到聚類中。與監督學習的已知目標變量不同,聚類分析中通常沒有目標變量。
應用
聚類算法可以用于發現數據的自然模式和趨勢。聚類分析在EDA階段非常常見,因為可以得到更多的數據信息。
同樣,聚類算法能幫你識別一組數據中的不同部分。一個常見的聚類細分是對用戶/客戶的細分。
算法
K-means聚類: K均值聚類算法是先隨機選取K個對象作為初始的聚類中心。然后計算每個對象與各個種子聚類中心之間的距離,把每個對象分配給距離它最近的聚類中心。??
機器學習 | KMeans聚類分析詳解
層次聚類: 通過計算不同類別數據點間的相似度來創建一棵有層次的嵌套聚類樹。
04 降維算法
(PCA, LDA)
什么是降維算法?
降維算法是指減少數據集輸入變量(或特征變量)數量的技術。本質上來說降維是用來解決“維度詛咒”的。(維度詛咒:隨著維度(輸入變量的數量)的增加,空間的體積呈指數級增長,最終導致數據稀疏。)
應用
降維技術適用于很多情況,比如:當數據集中的特征很多而實際需要的輸入變量很少時,或者當ML模型過度擬合數據時,都可以使用降維技術。
算法
主成分分析(PCA):一種使用最廣泛的數據降維算法。PCA的主要思想是將n維特征映射到k維上,這k維是在原有n維特征的基礎上重新構造出來的,全新的正交特征。??
機器學習|這次終于徹底理解了PCA主成分分析
線性判別分析(LDA): 用于在有兩個以上的類時進行線性分類。
05 相似性算法
(KNN、歐幾里得距離、余弦、列文斯坦、Jaro-Winkler、SVD...)
數據科學中 17 種相似性和相異性度量(上)
數據科學中 17 種相似性和相異性度量(下)
什么是相似性算法?
相似性算法是指那些計算記錄/節點/數據點/文本對的相似性的算法。所以相似性算法包含許多種類,例如有比較兩個數據點之間距離的相似性算法,如歐氏距離;也有計算文本相似性的相似性算法,如列文斯坦算法。
應用
相似性算法也可以用于各種場景,但在與“推薦”相關的應用上表現尤為出彩,比如用來決定:
根據你之前的閱讀情況,Medium應該向你推薦哪些文章?
你可以用什么原料來替代藍莓?
網易云應該根據你已經喜歡過的歌曲來推薦什么歌曲?
亞馬遜應該根據你的訂單歷史推薦什么產品?
……
算法
K鄰近: 通過在整個訓練集上搜索與該數據點最相似的 K 個實例(近鄰)并且總結這 K 個實例的輸出變量,從而得出預測結果。
歐幾里德距離: 一個通常采用的距離定義,指在m維空間中兩個點之間的真實距離,或者向量的自然長度(即該點到原點的距離)。
余弦相似度: 利用向量空間中兩個向量夾角間的余弦值衡量兩個個體之間差異的大小,余弦值接近1,夾角趨于0,表明兩個向量越相似,余弦值接近于0,夾角趨于90度,表明兩個向量越不相似。
列文施泰因算法: 指兩個字串之間,由一個轉成另一個所需的最少編輯操作次數。
Jaro-Winkler算法: Jaro–Winkler distance 適合于較短的字符之間計算相似度。0分表示沒有任何相似度,1分則代表完全匹配。
奇異值分解(SVD)(不完全屬于相似性算法,但與相似性有間接關系): 定義一個m×n的矩陣A的SVD為:A=UΣVT ,其中U是一個m×m的矩陣,Σ是一個m×n的矩陣,除了主對角線上的元素以外全為0,主對角線上的每個元素都稱為奇異值,V是一個n×n的矩陣。U和V都是酉矩陣,即滿足UTU=I,VTV=I。這次終于徹底理解了SVD奇異值分解
以上就是對當前主流的機器學習算法的總結,希望本文能幫助你更好地了解各種ML模型以及它們的應用場景。當然,紙上得來終覺淺,如果本文使你有所收獲,那就請開始你的應用之路吧,看看你能用ML解決什么問題!
參考鏈接:
https://towardsdatascience.com/all-machine-learning-algorithms-you-should-know-in-2022-db5b4ccdf32f
-?END -
對比Excel系列圖書累積銷量達15w冊,讓你輕松掌握數據分析技能,可以在全網搜索書名進行了解選購: 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的5 大常用机器学习模型类型总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 永久回城特效怎么更换
- 下一篇: 勇者徽章兑换商店在哪