值得收藏!2023 年,你應該知道的所有機器學習算法~

csdn 發佈 2023-01-25T10:39:10.113025+00:00

【CSDN 編者按】經過數十年的演進,人工智慧走出了從推理,到知識,再到學習的發展路徑。尤其近十年由深度學習開啟神經網絡的黃金新時代,機器學習成為解決人工智慧面臨諸多難題的重要途徑。

【CSDN 編者按】

經過數十年的演進,人工智慧走出了從推理,到知識,再到學習的發展路徑。尤其近十年由深度學習開啟神經網絡的黃金新時代,機器學習成為解決人工智慧面臨諸多難題的重要途徑。然而,這一涉及概率論、統計學、逼近論、凸分析、算法複雜度等理論的交叉學科讓很多開發者犯難,尤其是紛繁複雜的各類算法。本文作者結合自身多年的工作經驗和日常學習,彙編了一份2023年度的機器學習算法大全。希望在新的一年,這些算法可以成為開發者的「書籤」,從而解決各類數據科學處理中面臨的難題。

原文連結:

https://terenceshin.medium.com/all-machine-learning-algorithms-you-should-know-for-2023-843dba11419c

聲明:本文為 CSDN 翻譯,未經允許,禁止轉載。

作者 | Terence Shin

譯者 | Carol 責編 | Carol

出品 | CSDN(ID:CSDNnews)

在過去的幾年裡,我根據自己的工作經驗,與其他數據科學家的交流,包括在網上閱讀到的內容,彙編了自認為最重要的機器學習算法。

今年,我想在去年發表文章的基礎上提供各類別中更多的模型。希望提供一個工具和技術的寶庫,你可以將其作為書籤,這樣就可以解決各種數據科學的問題了。

說到這裡,讓我們深入了解以下六種最重要的機器學習算法類型。

  • 解釋型算法

  • 模式挖掘算法

  • 集成算法

  • 聚類算法

  • 時間序列算法

  • 相似度算法

解釋型算法

機器學習面臨的一大問題是理解各種模型如何達到最終預測,我們經常知道是「什麼」,但很難解釋「為什麼」。

解釋型算法幫助我們識別那些對我們感興趣的結果有重要影響的變量。這些算法使我們能夠理解模型中變量之間的關係,而不僅僅是用模型來對結果進行預測。

有幾種算法可以用來更好地理解某個模型的自變量和因變量之間的關係。

算法

線性/邏輯回歸:對因變量和一個或多個自變量之間的線性關係進行建模的一種統計方法——可用於了解基於t-檢驗和係數的變量之間的關係。

決策樹:一種機器學習算法,為決策及其可能的後果創建一個樹狀模型,有助於通過觀察分支進行分割的規則進而理解變量之間的關係。

主成分分析(PCA):一種降維技術,將數據投射到一個較低的維度空間,同時保留儘可能多的差異。PCA可用於簡化數據或確定重要特徵。

局部可解釋模型——不可知論解釋(LIME):一種解釋機器學習模型預測的算法,使用線性回歸或決策樹等技術構建一個更簡單的模型,通過預測周圍情況局部近似地解釋模型。

沙普利加法解釋(SHAPLEY):一種解釋機器學習模型的預測算法,通過基於「邊際貢獻」的方法計算每個特徵對預測的貢獻。在某些情況下,它比SHAP更準確。

沙普利近似法(SHAP):一種通過預估每個特徵在預測中的重要性來解釋機器學習模型預測的方法。SHAP使用一種叫做「合作博弈」的方法來近似Shapley值(Shapley value),通常比SHAPLEY更快。

模式挖掘算法

模式挖掘算法是一種數據挖掘技術,用於識別數據集中的模式和關係。這些算法可用於實現各種目的,如識別零售業中的客戶購買模式,了解網站/應用程式的常見用戶行為序列,或在科學研究中尋找不同變量之間的關係。

模式挖掘算法通常通過分析大型數據集和尋找重複模式或變量之間的關聯展開工作。一旦這些模式被識別出來,它們就可以用來預測未來的趨勢或結果,或者理解數據中的潛在關係。

算法

Apriori算法:一種用於在事務資料庫中查找頻繁項集的算法——高效且廣泛用於關聯規則挖掘任務。

遞歸神經網絡 (RNN):一種神經網絡算法,旨在處理序列數據,能夠獲取數據中的時間依賴性。

長短期記憶網絡 (LSTM):一種循環神經網絡,旨在可以更長時間地記住信息。LSTM能夠獲取數據中的長期依賴關係,通常用於語言翻譯和語言生成等任務中。

使用等價類的序列模式發現(SPADE):一種通過將某種意義上等價的項目組合在一起,從而查找序列數據中經常出現的模式的方法。這種方法能夠高效處理大型數據集,但可能不適用於稀疏數據。

前綴投影的模式挖掘(PrefixSpan):一種通過構建前綴樹並修剪不常見項目的方式查找序列數據中常見模式的算法。PrefixScan能夠高效處理大型數據集,但可能不適用於稀疏數據。

集成算法

作為機器學習技術,集成算法結合多模型,從而做出比任何單獨模型更準確的預測。集成算法能夠勝過傳統機器學習算法的原因有幾個:

  • 多樣性。通過結合多模型預測,集成算法可以捕捉到數據中更廣泛的模式。

  • 穩健性。集成算法通常對數據中的噪音和異常值不那麼敏感,這可以使預測更加穩定和可靠。

  • 減少過度擬合。通過對多模型的平均化預測,集成算法可以減少單個模型對訓練數據的過度擬合,從而提升對新數據的集成。

  • 提高準確性。集成算法已被證明在各種情況下都保持相較於傳統機器學習算法的優勢。

算法

隨機森林:一種機器學習算法,它構建了一個決策樹的集合,並根據樹的多數「投票」進行預測。

極限梯度提升算法(XGBoost):一種梯度提升算法,使用決策樹作為其基礎模型,被稱為最強的機器學習預測算法之一。

LightGBM:另一種梯度提升算法,旨在比其他提升算法更快、更高效。

CatBoost:一種梯度提升算法,專門被設計處理分類變量。

聚類算法

聚類算法是一種無監督的學習作業,用於將數據分為「群組」。與目標變量已知的監督式學習相比,聚類算法中沒有目標變量。

這項技術對於尋找數據中的自然模式和趨勢非常有用,並且經常在數據分析階段使用,以獲得對數據的進一步理解。此外,聚類算法可以用來根據各種變量將數據集劃分為不同的部分,一個常見應用是在細分客戶或用戶的時候。

算法

K-Modes聚類:一種專門為分類數據設計的聚類算法,能夠很好地處理高維分類數據,而且實現起來相對簡單。

DBSCAN密度聚類:一種基於密度的聚類算法,能夠識別任意形狀的聚類。它對噪聲處理相對穩健,能夠識別數據中的異常值。

譜系聚類法:一種聚類算法,使用相似性矩陣的特徵向量來將數據點歸入聚類,能夠處理非線性可分離的數據,並且相對高效。

時間序列算法

時間序列算法是用於分析與時間有關的數據的技術。這些算法考慮到一個系列中的數據點之間的時間依賴性,這在對未來價值進行預測時尤其重要。

時間序列算法被用於各種商業應用中,如預測產品需求、銷售,或分析客戶在一段時間內的行為,它們還可以用來檢測數據中的異常情況或趨勢變化。

算法

Prophet時間序列模型:一個由Facebook開發的時間序列預測算法,設計直觀、易於使用。它的一些主要優勢包括處理缺失數據和預測趨勢變化,對異常值具有魯棒性,可以快速擬合。

自回歸綜合移動平均法(ARIMA):一種用於預測時間序列數據的統計方法,對數據和其滯後值之間的相關性進行建模。ARIMA可以處理廣泛的時間序列數據,但比其他的一些方法更難實現。

指數平滑法:一種預測時間序列數據的方法,使用過去數據的加權平均來進行預測。指數平滑法的實現相對簡單,可以用於廣泛的數據,但可能不如更複雜的方法表現出色。

相似度算法

相似度算法被用來衡量一對記錄、節點、數據點或文本之間的相似性。這些算法可以基於兩個數據點之間的距離(如歐氏距離)或文本的相似性(如Levenshtein算法)。

這些算法有廣泛應用,尤其在推薦方面特別有用。它們可以用來識別類似的項目或向用戶推薦相關內容。

算法

歐氏距離:對歐氏空間中兩點之間直線距離的測量。歐氏距離計算簡單,在機器學習中被廣泛使用,但在數據分布不均勻的情況下可能不是最佳選擇。

餘弦相似度:基於兩個向量之間的角度來衡量它們的相似度。

Levenshtein算法:一種測量兩個字符串之間距離的算法,基於將一個字符串轉化為另一個字符串所需的最小單字符編輯數(插入、刪除或替換)。Levenshtein算法通常用於拼寫檢查和字符串匹配的任務中。

Jaro-Winkler算法:一種測量兩個字符串之間相似度的算法,基於匹配字符的數量和轉置的數量。它與Levenshtein算法類似,經常被用於記錄連結和實體解析的任務中。

奇異值分解(SVD):一種矩陣分解方法,將一個矩陣分解為三個矩陣的乘積,在最先進的推薦系統中,奇異值分解是重要的組成部分。

關鍵字: