奧推網

選單
科技

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

【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):一種矩陣分解方法,將一個矩陣分解為三個矩陣的乘積,在最先進的推薦系統中,奇異值分解是重要的組成部分。