機器學習算法集錦:從貝葉斯到深度學習及各自優缺點

2021-01-09 機器之心Pro

選自static.coggle.it機器之心編譯

在我們日常生活中所用到的推薦系統、智能圖片美化應用和聊天機器人等應用中,各種各樣的機器學習和數據處理算法正盡職盡責地發揮著自己的功效。本文篩選並簡單介紹了一些最常見算法類別,還為每一個類別列出了一些實際的算法並簡單介紹了它們的優缺點。

https://static.coggle.it/diagram/WHeBqDIrJRk-kDDY

目錄

正則化算法(Regularization Algorithms)集成算法(Ensemble Algorithms)決策樹算法(Decision Tree Algorithm)回歸(Regression)人工神經網絡(Artificial Neural Network)深度學習(Deep Learning)支持向量機(Support Vector Machine)降維算法(Dimensionality Reduction Algorithms)聚類算法(Clustering Algorithms)基於實例的算法(Instance-based Algorithms)貝葉斯算法(Bayesian Algorithms)關聯規則學習算法(Association Rule Learning Algorithms)圖模型(Graphical Models)

正則化算法(Regularization Algorithms)

它是另一種方法(通常是回歸方法)的拓展,這種方法會基於模型複雜性對其進行懲罰,它喜歡相對簡單能夠更好的泛化的模型。

例子:

嶺回歸(Ridge Regression)最小絕對收縮與選擇算子(LASSO)GLASSO彈性網絡(Elastic Net)最小角回歸(Least-Angle Regression)

優點:

其懲罰會減少過擬合總會有解決方法

缺點:

懲罰會造成欠擬合很難校準

集成算法(Ensemble algorithms)

集成方法是由多個較弱的模型集成模型組,其中的模型可以單獨進行訓練,並且它們的預測能以某種方式結合起來去做出一個總體預測。

該算法主要的問題是要找出哪些較弱的模型可以結合起來,以及結合的方法。這是一個非常強大的技術集,因此廣受歡迎。

BoostingBootstrapped Aggregation(Bagging)AdaBoost層疊泛化(Stacked Generalization)(blending)梯度推進機(Gradient Boosting Machines,GBM)梯度提升回歸樹(Gradient Boosted Regression Trees,GBRT)隨機森林(Random Forest)

優點:

當先最先進的預測幾乎都使用了算法集成。它比使用單個模型預測出來的結果要精確的多

缺點:

需要大量的維護工作

決策樹算法(Decision Tree Algorithm)

決策樹學習使用一個決策樹作為一個預測模型,它將對一個 item(表徵在分支上)觀察所得映射成關於該 item 的目標值的結論(表徵在葉子中)。

樹模型中的目標是可變的,可以採一組有限值,被稱為分類樹;在這些樹結構中,葉子表示類標籤,分支表示表徵這些類標籤的連接的特徵。

例子:

分類和回歸樹(Classification and Regression Tree,CART)Iterative Dichotomiser 3(ID3)C4.5 和 C5.0(一種強大方法的兩個不同版本)

優點:

容易解釋非參數型

缺點:

趨向過擬合可能或陷於局部最小值中沒有在線學習

回歸(Regression)算法

回歸是用於估計兩種變量之間關係的統計過程。當用於分析因變量和一個 多個自變量之間的關係時,該算法能提供很多建模和分析多個變量的技巧。具體一點說,回歸分析可以幫助我們理解當任意一個自變量變化,另一個自變量不變時,因變量變化的典型值。最常見的是,回歸分析能在給定自變量的條件下估計出因變量的條件期望。

回歸算法是統計學中的主要算法,它已被納入統計機器學習。

例子:

普通最小二乘回歸(Ordinary Least Squares Regression,OLSR)線性回歸(Linear Regression)邏輯回歸(Logistic Regression)逐步回歸(Stepwise Regression)多元自適應回歸樣條(Multivariate Adaptive Regression Splines,MARS)本地散點平滑估計(Locally Estimated Scatterplot Smoothing,LOESS)

優點:

直接、快速知名度高

缺點:

要求嚴格的假設需要處理異常值

人工神經網絡

人工神經網絡是受生物神經網絡啟發而構建的算法模型。

它是一種模式匹配,常被用於回歸和分類問題,但擁有龐大的子域,由數百種算法和各類問題的變體組成。

例子:

感知器反向傳播Hopfield 網絡徑向基函數網絡(Radial Basis Function Network,RBFN)

優點:

在語音、語義、視覺、各類遊戲(如圍棋)的任務中表現極好。算法可以快速調整,適應新的問題。

缺點:

需要大量數據進行訓練

訓練要求很高的硬體配置

模型處於「黑箱狀態」,難以理解內部機制

元參數(Metaparameter)與網絡拓撲選擇困難。

深度學習(Deep Learning)

深度學習是人工神經網絡的最新分支,它受益於當代硬體的快速發展。

眾多研究者目前的方向主要集中於構建更大、更複雜的神經網絡,目前有許多方法正在聚焦半監督學習問題,其中用於訓練的大數據集只包含很少的標記。

例子:

深玻耳茲曼機(Deep Boltzmann Machine,DBM)Deep Belief Networks(DBN)卷積神經網絡(CNN)Stacked Auto-Encoders

優點/缺點:見神經網絡

支持向量機(Support Vector Machines)

給定一組訓練事例,其中每個事例都屬於兩個類別中的一個,支持向量機(SVM)訓練算法可以在被輸入新的事例後將其分類到兩個類別中的一個,使自身成為非概率二進位線性分類器。

SVM 模型將訓練事例表示為空間中的點,它們被映射到一幅圖中,由一條明確的、儘可能寬的間隔分開以區分兩個類別。

隨後,新的示例會被映射到同一空間中,並基於它們落在間隔的哪一側來預測它屬於的類別。

優點:

在非線性可分問題上表現優秀

缺點:

非常難以訓練很難解釋

降維算法(Dimensionality Reduction Algorithms)

和集簇方法類似,降維追求並利用數據的內在結構,目的在於使用較少的信息總結或描述數據。

這一算法可用於可視化高維數據或簡化接下來可用於監督學習中的數據。許多這樣的方法可針對分類和回歸的使用進行調整。

例子:

主成分分析(Principal Component Analysis (PCA))主成分回歸(Principal Component Regression (PCR))偏最小二乘回歸(Partial Least Squares Regression (PLSR))Sammon 映射(Sammon Mapping)多維尺度變換(Multidimensional Scaling (MDS))投影尋蹤(Projection Pursuit)線性判別分析(Linear Discriminant Analysis (LDA))混合判別分析(Mixture Discriminant Analysis (MDA))二次判別分析(Quadratic Discriminant Analysis (QDA))靈活判別分析(Flexible Discriminant Analysis (FDA))

優點:

可處理大規模數據集無需在數據上進行假設

缺點:

難以搞定非線性數據難以理解結果的意義

聚類算法(Clustering Algorithms)

聚類算法是指對一組目標進行分類,屬於同一組(亦即一個類,cluster)的目標被劃分在一組中,與其他組目標相比,同一組目標更加彼此相似(在某種意義上)。

例子:

K-均值(k-Means)k-Medians 算法Expectation Maximi 封層 ation (EM)最大期望算法(EM)分層集群(Hierarchical Clstering)

優點:

讓數據變得有意義

缺點:

結果難以解讀,針對不尋常的數據組,結果可能無用。

基於實例的算法(Instance-based Algorithms)

基於實例的算法(有時也稱為基於記憶的學習)是這樣學 習算法,不是明確歸納,而是將新的問題例子與訓練過程中見過的例子進行對比,這些見過的例子就在存儲器中。

之所以叫基於實例的算法是因為它直接從訓練實例中建構出假設。這意味這,假設的複雜度能隨著數據的增長而變化:最糟的情況是,假設是一個訓練項目列表,分類一個單獨新實例計算複雜度為 O(n)

例子

K 最近鄰(k-Nearest Neighbor (kNN))學習向量量化(Learning Vector Quantization (LVQ))自組織映射(Self-Organizing Map (SOM))局部加權學習(Locally Weighted Learning (LWL))

優點:

算法簡單、結果易於解讀

缺點:

內存使用非常高計算成本高不可能用於高維特徵空間

貝葉斯算法(Bayesian Algorithms)

貝葉斯方法是指明確應用了貝葉斯定理來解決如分類和回歸等問題的方法。

例子:

樸素貝葉斯(Naive Bayes)高斯樸素貝葉斯(Gaussian Naive Bayes)多項式樸素貝葉斯(Multinomial Naive Bayes)平均一致依賴估計器(Averaged One-Dependence Estimators (AODE))貝葉斯信念網絡(Bayesian Belief Network (BBN))貝葉斯網絡(Bayesian Network (BN))

優點:

快速、易於訓練、給出了它們所需的資源能帶來良好的表現

缺點:

如果輸入變量是相關的,則會出現問題

關聯規則學習算法(Association Rule Learning Algorithms)

關聯規則學習方法能夠提取出對數據中的變量之間的關係的最佳解釋。比如說一家超市的銷售數據中存在規則 {洋蔥,土豆}=> {漢堡},那說明當一位客戶同時購買了洋蔥和土豆的時候,他很有可能還會購買漢堡肉。

例子:

Apriori 算法(Apriori algorithm)Eclat 算法(Eclat algorithm)FP-growth

圖模型(Graphical Models)

圖模型或概率圖模型(PGM/probabilistic graphical model)是一種概率模型,一個圖(graph)可以通過其表示隨機變量之間的條件依賴結構(conditional dependence structure)。

例子:

貝葉斯網絡(Bayesian network)馬爾可夫隨機域(Markov random field)鏈圖(Chain Graphs)祖先圖(Ancestral graph)

優點:

模型清晰,能被直觀地理解

缺點:

確定其依賴的拓撲很困難,有時候也很模糊

相關焦點

  • 機器學習算法盤點:人工神經網絡、深度學習
    機器學習算法盤點:人工神經網絡、深度學習 佚名 發表於 2016-08-01 16:26:33   機器學習無疑是當前數據分析領域的一個熱點內容。很多人在平時的工作中都或多或少會用到機器學習的算法。
  • 「機器學習」機器學習算法優缺點對比(匯總篇)
    作者 | 杜博亞來源 | 阿澤的學習筆記「本文的目的,是務實、簡潔地盤點一番當前機器學習算法」。文中內容結合了個人在查閱資料過程中收集到的前人總結,同時添加了部分自身總結,在這裡,依據實際使用中的經驗,將對此模型優缺點及選擇詳加討論。
  • 三張圖讀懂機器學習:基本概念、五大流派與九種常見算法
    首先存在大數據→機器會學習使用訓練數據集來進行分類,調節特定的算法來實現目標分類→該計算機可學習識別數據中的關係、趨勢和模式 ④智能應用:智能應用使用人工智慧所得到的結果,如圖是一個精準農業的應用案例示意,該應用基於無人機所收集到的數據
  • 機器學習算法匯總:人工神經網絡、深度學習及其它
    以下為原文: 學習方式根據數據類型的不同,對一個問題的建模有不同的方式。在機器學習或者人工智慧領域,人們首先會考慮算法的學習方式。在機器學習領域,有幾種主要的學習方式。 算法類似性根據算法的功能和形式的類似性,我們可以把算法分類,比如說基於樹的算法,基於神經網絡的算法等等。當然,機器學習的範圍非常龐大,有些算法很難明確歸類到某一類。而對於有些分類來說,同一分類的算法可以針對不同類型的問題。這裡,我們儘量把常用的算法按照最容易理解的方式進行分類。
  • 模式識別與機器學習(教學大綱)|向量|貝葉斯|算法|神經網絡_網易訂閱
    以貝葉斯學習思想貫穿始終,並適時與其他重要知識點(如支持向量機、深度學習)等進行交叉和關聯,便於讀者在形成良好知識體系的同時保持對整個領域知識的把握。  全書共14章和4個附錄,循序漸進地剖析模式識別與機器學習領域。
  • 回歸、分類與聚類:三大方向剖解機器學習算法的優缺點(附Python和R...
    選自EliteDataScience機器之心編譯參與:蔣思源、晏奇在本教程中,作者對現代機器學習算法進行一次簡要的實戰梳理。雖然類似的總結有很多,但是它們都沒有真正解釋清楚每個算法在實踐中的好壞,而這正是本篇梳理希望完成的。因此本文力圖基於實踐中的經驗,討論每個算法的優缺點。而機器之心也在文末給出了這些算法的具體實現細節。
  • 8種常見機器學習算法比較
    ,在機器學習中選擇一個恰當的算法十分重要,文中主要介紹了8種計算機算法及其優缺點,為大家進行算法選擇時提供一點意見。簡介機器學習算法太多了,分類、回歸、聚類、推薦、圖像識別領域等等,要想找到一個合適算法真的不容易,所以在實際應用中,我們一般都是採用啟發式學習方式來實驗。通常最開始我們都會選擇大家普遍認同的算法,諸如SVM,GBDT,Adaboost,現在深度學習很火熱,神經網絡也是一個不錯的選擇。
  • 流行的機器學習算法總結,幫助你開啟機器學習算法學習之旅
    機器學習算法概述「機器智能是人類永遠需要的一項發明。」— Nick Bostrom.如果您可以回顧幾年前的AI並將其與現在的AI進行比較,您會驚訝地發現AI的發展速度隨著時間的增長呈指數級增長。它已擴展到各種領域,例如ML,Expert Systems,NLP等數十個領域。
  • 機器學習算法之樸素貝葉斯
    一、貝葉斯定理貝葉斯定理由英國數學家貝葉斯(Thomas Bayes 1702-1761)發展用來描述兩個條件概率之間的關係在B條件下A發生的概率: P(A∣B)=P(AB)/P(B)在A條件下B發生的概率: P(B∣A)=P(AB)/P
  • 數據科學家應該知道的頂級機器學習算法
    由於它結合了數百種算法和變體。最受歡迎的人工神經網絡算法是:感知器反向傳播霍普菲爾德網絡徑向基函數網絡(RBFN)深度學習算法深度學習方法是對人工神經網絡的現代更新。那就是利用大量廉價的計算。他們關注建立更大,更複雜的神經網絡。
  • 【乾貨】為機器學習從業人員提供的貝葉斯學習核心路線
    貝葉斯統計是統計的一個分支,它的特點是把我們感興趣的量(比如統計模型的參數)看作隨機變量。給定觀察數據後, 我們對這些量的後驗分布進行分析從而得出結論。雖然貝葉斯統計的核心思想已歷經很多年了, 但貝葉斯的思想在過去近20年對機器學習產生了重大影響, 因為它在對真實世界現象建立結構化模型時提供了靈活性。
  • 盤點:十大機器學習算法及其應用
    毫無疑問,過去兩年中,機器學習和人工智慧的普及度得到了大幅提升。如果你想學習機器算法,要從何下手呢?以我為例,我是在哥本哈根留學期間,學習AI課程入門的。我們用的教科書是一本AI經典:《Peter Norvig’s Artificial Intelligence?—?A Modern Approach》。
  • 深度學習貝葉斯,這是一份密集的6天速成課程(視頻與PPT)
    選自GitHubBayesian Methods Research Group機器之心整理在 Deep|Bayes 夏季課程中,授課人將討論貝葉斯方法如何結合深度學習,並在機器學習應用中實現更好的結果。近期研究表明貝葉斯方法的利用可以帶來許多好處。學生將學到對理解當前機器學習研究非常重要的方法和技術。
  • 機器學習、深度學習算法原理與案例實踐暨Python大數據綜合應用...
    原標題:機器學習、深度學習算法原理與案例實踐暨Python大數據綜合應用高級研修班通信和信息技術創新人才培養工程項目辦公室 通人辦〔2018〕 第5號 機器學習、深度學習算法原理與案例實踐暨Python
  • 清華大學朱軍:貝葉斯學習回顧與最新進展| YEF 2020
    在RegBayes的框架指導下,發展了一系列優秀的算法,包括將最大間隔準則融入到貝葉斯推理、將知識(如一階謂詞邏輯表示的知識)融入到貝葉斯推理中等。  4  可擴展貝葉斯機器學習    當前的可擴展的貝葉斯機器學習有兩個方向, 一個是在人工智慧或者深度學習火之前,針對大數據的處理髮方法 。  在算法層面,概率機器學習最主要有兩類算法,一種是變分的方法,其背後也是EM算法的思想。
  • 常見機器學習算法優缺點比較
    7.人工神經網絡的優缺點  人工神經網絡的優點:  · 分類的準確度高;  · 並行分布處理能力強,分布存儲及學習能力強,  · 對噪聲神經有較強的魯棒性和容錯能力  人工神經網絡的缺點:  · 神經網絡需要大量的參數,如網絡拓撲結構、權值和閾值的初始值;  · 不能觀察之間的學習過程,輸出結果難以解釋,會影響到結果的可信度和可接受程度;  · 學習時間過長,甚至可能達不到學習的目的
  • 清華大學朱軍:貝葉斯學習回顧與最新進展|YEF 2020
    ,解讀他們心目中的經典機器學習與數據挖掘算法,並與大家分享了這些算法的起源、應用與影響。在RegBayes的框架指導下,發展了一系列優秀的算法,包括將最大間隔準則融入到貝葉斯推理、將知識(如一階謂詞邏輯表示的知識)融入到貝葉斯推理中等。4可擴展貝葉斯機器學習當前的可擴展的貝葉斯機器學習有兩個方向,一個是在人工智慧或者深度學習火之前,針對大數據的處理髮方法。
  • 機器學習入門必讀:6種簡單實用算法及學習曲線、思維導圖
    在本文當中,我們將介紹掌握機器領域知識的學習曲線、技術棧以及常用框架。01 機器學習算法1. 分類算法這是一種監督學習方法。有很多算法幫助我們解決分類問題,比如K近鄰、決策樹、樸素貝葉斯、貝葉斯網絡、邏輯回歸、SVM等算法。人工神經網絡和深度學習也往往用來解決分類問題。這些都是常見和常用的分類算法,只不過不同的算法都有其優劣,會應用在不同的場景下。
  • 五分鐘了解機器學習十大算法
    本文為有志於成為數據科學家或對此感興趣的讀者們介紹最流行的機器學習算法。機器學習是該行業的一個創新且重要的領域。我們為機器學習程序選擇的算法類型,取決於我們想要實現的目標。現在,機器學習有很多算法。因此,如此多的算法,可能對於初學者來說,是相當不堪重負的。
  • 涵蓋邏輯回歸、貝葉斯等算法,一本關於ML在線免費書籍,值得一讀
    提到機器學習領域的書籍資源,大家比較熟悉的有周志華老師的《機器學習》(西瓜書)、李宏毅老師的「寶可夢課程」等等。此外不同學習階段的學生也能夠找到適合自身的機器學習基礎和進階書籍資源。周志華西瓜書。近日,本科畢業於哈佛大學統計學與經濟學專業、現任哈佛助教的 Daniel Friedman 開放了他撰寫的一本免費在線書籍《Machine Learning from Scratch》,該書從理論和數學上介紹了 ML 最常見算法(OLS、邏輯回歸、樸素貝葉斯、決策樹、boosts 和神經網絡等)的完整推論。