3、機(jī)器學(xué)習(xí)算法之旅

在這篇文章中,我們將介紹最流行的機(jī)器學(xué)習(xí)算法。

在現(xiàn)場瀏覽主要算法以了解可用的方法很有用。

有許多算法可用,當(dāng)算法名稱被拋出時(shí),它可能會(huì)感到壓倒性的,并且您應(yīng)該只知道它們是什么以及它們適合的位置。

我想給你兩種方法來思考和分類你可能在現(xiàn)場遇到的算法。

  • 第一個(gè)是學(xué)習(xí)風(fēng)格的算法分組。
  • 第二種是通過形式或功能相似性的算法分組(如將相似的動(dòng)物分組在一起)。

這兩種方法都很有用,但我們將重點(diǎn)關(guān)注通過相似性對算法進(jìn)行分組,并繼續(xù)瀏覽各種不同的算法類型。

閱讀本文后,您將更好地了解最受歡迎的監(jiān)督學(xué)習(xí)機(jī)器學(xué)習(xí)算法及其相關(guān)性。

集成學(xué)習(xí)方法

最合適的線條集合的一個(gè)很酷的例子。弱成員是灰色的,組合預(yù)測是紅色的。
來自維基百科的圖,在公共領(lǐng)域下許可。

學(xué)習(xí)風(fēng)格分組的算法

算法可以基于與體驗(yàn)或環(huán)境的交互或我們想要調(diào)用輸入數(shù)據(jù)的任何內(nèi)容來對問題進(jìn)行建模。

在機(jī)器學(xué)習(xí)和人工智能教科書中首先考慮算法可以采用的學(xué)習(xí)風(fēng)格。

算法可以有一些主要的學(xué)習(xí)風(fēng)格或?qū)W習(xí)模型,我們將在這里介紹它們適合的算法和問題類型的幾個(gè)例子。

這種分類法或組織機(jī)器學(xué)習(xí)算法的方法很有用,因?yàn)樗鼤?huì)強(qiáng)制您考慮輸入數(shù)據(jù)和模型準(zhǔn)備過程的角色,并選擇最適合您的問題的方法以獲得最佳結(jié)果。

讓我們來看看機(jī)器學(xué)習(xí)算法中的三種不同學(xué)習(xí)方式:

1.監(jiān)督學(xué)習(xí)

監(jiān)督學(xué)習(xí)算法

輸入數(shù)據(jù)稱為訓(xùn)練數(shù)據(jù),并且具有已知的標(biāo)簽或結(jié)果,例如垃圾郵件/非垃圾郵件或一次的股票價(jià)格。

通過培訓(xùn)過程準(zhǔn)備模型,其中需要進(jìn)行預(yù)測并在這些預(yù)測錯(cuò)誤時(shí)進(jìn)行校正。訓(xùn)練過程繼續(xù),直到模型在訓(xùn)練數(shù)據(jù)上達(dá)到所需的準(zhǔn)確度。

示例問題是分類和回歸。

示例算法包括Logistic回歸和Back Propagation神經(jīng)網(wǎng)絡(luò)。

2.無監(jiān)督學(xué)習(xí)

無監(jiān)督學(xué)習(xí)算法

輸入數(shù)據(jù)未標(biāo)記,并且沒有已知結(jié)果。

通過推導(dǎo)輸入數(shù)據(jù)中存在的結(jié)構(gòu)來準(zhǔn)備模型。這可能是提取一般規(guī)則??梢酝ㄟ^數(shù)學(xué)過程系統(tǒng)地減少冗余,或者可以通過相似性來組織數(shù)據(jù)。

示例問題是聚類,降維和關(guān)聯(lián)規(guī)則學(xué)習(xí)。

示例算法包括:Apriori算法和k-Means。

3.半監(jiān)督學(xué)習(xí)

輸入數(shù)據(jù)是標(biāo)記和未標(biāo)記示例的混合。

存在期望的預(yù)測問題,但模型必須學(xué)習(xí)組織數(shù)據(jù)以及進(jìn)行預(yù)測的結(jié)構(gòu)。

示例問題是分類和回歸。

示例算法是對其他靈活方法的擴(kuò)展,這些方法對如何對未標(biāo)記數(shù)據(jù)建模進(jìn)行假設(shè)。

概觀

在處理數(shù)據(jù)以模擬業(yè)務(wù)決策時(shí),您通常使用有監(jiān)督和無監(jiān)督的學(xué)習(xí)方法。

目前的一個(gè)熱門話題是在圖像分類等領(lǐng)域中的半監(jiān)督學(xué)習(xí)方法,其中存在具有極少數(shù)標(biāo)記示例的大型數(shù)據(jù)集。

獲取免費(fèi)算法思維導(dǎo)圖

機(jī)器學(xué)習(xí)算法思維導(dǎo)圖

方便的機(jī)器學(xué)習(xí)算法思維導(dǎo)圖的樣本。

我已經(jīng)創(chuàng)建了一個(gè)由類型組織的60多種算法的方便思維導(dǎo)圖。

下載,打印并使用它。

<center style="margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; background: rgb(255, 255, 255); color: rgb(85, 85, 85); font-family: "Helvetica Neue", Helvetica, sans-serif; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">免費(fèi)下載

還可以獨(dú)家訪問機(jī)器學(xué)習(xí)算法電子郵件迷你課程。

</center>

由相似性分組的算法

算法通常根據(jù)其功能(它們?nèi)绾喂ぷ鳎┑南嗨菩赃M(jìn)行分組。例如,基于樹的方法和神經(jīng)網(wǎng)絡(luò)啟發(fā)的方法。

我認(rèn)為這是分組算法最有用的方法,這是我們將在這里使用的方法。

這是一種有用的分組方法,但并不完美。還有一些算法可以很容易地融入多個(gè)類別,例如學(xué)習(xí)矢量量化,它既是神經(jīng)網(wǎng)絡(luò)啟發(fā)方法,也是基于實(shí)例的方法。還有一些類別具有描述問題的相同名稱和算法類,例如回歸和聚類。

我們可以通過兩次列出算法或選擇主觀上“最佳”擬合的組來處理這些情況。我喜歡后一種不重復(fù)算法來保持簡單的方法。

在本節(jié)中,我列出了許多流行的機(jī)器學(xué)習(xí)算法,這些算法按照我認(rèn)為最直觀的方式進(jìn)行分組。該列表在組或算法中并非詳盡無遺,但我認(rèn)為它具有代表性,對您了解土地的位置非常有用。

請注意:對于用于分類和回歸的算法存在強(qiáng)烈的偏見,這是您將遇到的兩種最常見的監(jiān)督機(jī)器學(xué)習(xí)問題。

如果您知道未列出的算法或一組算法,請將其放在評論中并與我們分享。讓我們潛入。

回歸算法

回歸算法

回歸涉及對變量之間的關(guān)系進(jìn)行建模,這些變量使用模型預(yù)測中的誤差度量進(jìn)行迭代求精。

回歸方法是統(tǒng)計(jì)學(xué)的主力,并已被納入統(tǒng)計(jì)機(jī)器學(xué)習(xí)。這可能會(huì)令人困惑,因?yàn)槲覀兛梢允褂没貧w來指代問題類和算法類。實(shí)際上,回歸是一個(gè)過程。

最流行的回歸算法是:

  • 普通最小二乘回歸(OLSR)
  • 線性回歸
  • Logistic回歸
  • 逐步回歸
  • 多元自適應(yīng)回歸樣條(MARS)
  • 局部估計(jì)的散點(diǎn)圖平滑(LOESS)

基于實(shí)例的算法

基于實(shí)例的算法

基于實(shí)例的學(xué)習(xí)模型是具有被認(rèn)為對模型重要或需要的訓(xùn)練數(shù)據(jù)的實(shí)例或示例的決策問題。

這些方法通常建立示例數(shù)據(jù)的數(shù)據(jù)庫,并使用相似性度量將新數(shù)據(jù)與數(shù)據(jù)庫進(jìn)行比較,以便找到最佳匹配并進(jìn)行預(yù)測。出于這個(gè)原因,基于實(shí)例的方法也稱為贏者通吃方法和基于記憶的學(xué)習(xí)。重點(diǎn)放在實(shí)例之間使用的存儲(chǔ)實(shí)例和相似性度量的表示上。

最流行的基于實(shí)例的算法是:

  • k-最近鄰(kNN)
  • 學(xué)習(xí)矢量量化(LVQ)
  • 自組織地圖(SOM)
  • 本地加權(quán)學(xué)習(xí)(LWL)

正則化算法

正則化算法

對另一種方法(通常是回歸方法)的擴(kuò)展,根據(jù)其復(fù)雜性對模型進(jìn)行處罰,有利于更簡單的模型,這些模型也更好地推廣。

我在這里單獨(dú)列出了正則化算法,因?yàn)樗鼈兪橇餍械?,?qiáng)大的,并且通常對其他方法進(jìn)行簡單的修改。

最流行的正則化算法是:

  • 嶺回歸
  • 最小絕對收縮和選擇算子(LASSO)
  • 彈性網(wǎng)
  • 最小角度回歸(LARS)

決策樹算法

決策樹算法

決策樹方法構(gòu)建基于數(shù)據(jù)中的屬性的實(shí)際值做出的決策的模型。

決策在樹結(jié)構(gòu)中進(jìn)行分叉,直到對給定記錄做出預(yù)測決定。針對分類和回歸問題的數(shù)據(jù)訓(xùn)練決策樹。決策樹通??焖贉?zhǔn)確,是機(jī)器學(xué)習(xí)的最佳選擇。

最流行的決策樹算法是:

  • 分類和回歸樹(CART)
  • 迭代Dichotomiser 3(ID3)
  • C4.5和C5.0(強(qiáng)大方法的不同版本)
  • 卡方自動(dòng)交互檢測(CHAID)
  • 決策樹樁
  • M5
  • 條件決策樹

貝葉斯算法

貝葉斯算法

貝葉斯方法是那些明確應(yīng)用貝葉斯定理來解決分類和回歸等問題的方法。

最流行的貝葉斯算法是:

  • 樸素貝葉斯
  • 高斯樸素貝葉斯
  • 多項(xiàng)樸素貝葉斯
  • 平均一依賴估計(jì)(AODE)
  • 貝葉斯信念網(wǎng)絡(luò)(BBN)
  • 貝葉斯網(wǎng)絡(luò)(BN)

聚類算法

聚類算法

像回歸一樣,聚類描述了問題類和方法類。

聚類方法通常由建模方法組織,例如基于質(zhì)心和層級。所有方法都涉及使用數(shù)據(jù)中的固有結(jié)構(gòu)來最好地將數(shù)據(jù)組織成具有最大共性的組。

最流行的聚類算法是:

  • K-均值
  • K-中位數(shù)
  • 期望最大化(EM)
  • 分層聚類

關(guān)聯(lián)規(guī)則學(xué)習(xí)算法

Assoication規(guī)則學(xué)習(xí)算法

關(guān)聯(lián)規(guī)則學(xué)習(xí)方法提取最能解釋數(shù)據(jù)中變量之間觀察到的關(guān)系的規(guī)則。

這些規(guī)則可以發(fā)現(xiàn)可以被組織利用的大型多維數(shù)據(jù)集中的重要且商業(yè)上有用的關(guān)聯(lián)。

最流行的關(guān)聯(lián)規(guī)則學(xué)習(xí)算法是:

  • Apriori算法
  • Eclat算法

人工神經(jīng)網(wǎng)絡(luò)算法

人工神經(jīng)網(wǎng)絡(luò)算法

人工神經(jīng)網(wǎng)絡(luò)是受生物神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和/或功能啟發(fā)的模型。

它們是一類模式匹配,通常用于回歸和分類問題,但實(shí)際上是一個(gè)龐大的子字段,由各種問題類型的數(shù)百種算法和變體組成。

請注意,由于該領(lǐng)域的大量增長和普及,我已將深度學(xué)習(xí)與神經(jīng)網(wǎng)絡(luò)分開。在這里,我們關(guān)注更經(jīng)典的方法。

最流行的人工神經(jīng)網(wǎng)絡(luò)算法是:

  • 感知
  • 反向傳播
  • Hopfield網(wǎng)絡(luò)
  • 徑向基函數(shù)網(wǎng)絡(luò)(RBFN)

深度學(xué)習(xí)算法

深度學(xué)習(xí)算法

深度學(xué)習(xí)方法是利用大量廉價(jià)計(jì)算的人工神經(jīng)網(wǎng)絡(luò)的現(xiàn)代更新。

他們關(guān)注構(gòu)建更大更復(fù)雜的神經(jīng)網(wǎng)絡(luò),如上所述,許多方法都涉及半監(jiān)督學(xué)習(xí)問題,其中大數(shù)據(jù)集包含非常少的標(biāo)記數(shù)據(jù)。

最流行的深度學(xué)習(xí)算法是:

  • 深玻爾茲曼機(jī)(DBM)
  • 深信仰網(wǎng)絡(luò)(DBN)
  • 卷積神經(jīng)網(wǎng)絡(luò)(CNN)
  • 堆疊式自動(dòng)編碼器

降維算法

尺寸約簡算法

與聚類方法一樣,維數(shù)減少尋求并利用數(shù)據(jù)中的固有結(jié)構(gòu),但在這種情況下以無監(jiān)督的方式或使用較少信息來匯總或描述數(shù)據(jù)。

這對于可視化維度數(shù)據(jù)或簡化數(shù)據(jù)是有用的,然后可以在監(jiān)督學(xué)習(xí)方法中使用這些數(shù)據(jù)。許多這些方法可以適用于分類和回歸。

  • 主成分分析(PCA)
  • 主成分回歸(PCR)
  • 偏最小二乘回歸(PLSR)
  • Sammon Mapping
  • 多維縮放(MDS)
  • 投射追蹤
  • 線性判別分析(LDA)
  • 混合判別分析(MDA)
  • 二次判別分析(QDA)
  • 靈敏判別分析(FDA)

集合算法

集合算法

集合方法是由多個(gè)較弱的模型組成的模型,這些模型是獨(dú)立訓(xùn)練的,其預(yù)測以某種方式組合以進(jìn)行整體預(yù)測。

要將哪些類型的弱學(xué)習(xí)者結(jié)合起來以及將它們結(jié)合起來的方式付出了很多努力。這是一種非常強(qiáng)大的技術(shù),因此非常受歡迎。

  • 推進(jìn)
  • 自舉聚合(套袋)
  • AdaBoost的
  • 堆疊泛化(混合)
  • 梯度增壓機(jī)(GBM)
  • 梯度升壓回歸樹(GBRT)
  • 隨機(jī)森林

其他算法

許多算法都沒有涵蓋。

例如,支持向量機(jī)會(huì)進(jìn)入哪個(gè)組?它自己的?

我沒有在機(jī)器學(xué)習(xí)過程中涵蓋專業(yè)任務(wù)的算法,例如:

  • 特征選擇算法
  • 算法精度評估
  • 績效衡量標(biāo)準(zhǔn)

我也沒有涵蓋機(jī)器學(xué)習(xí)專業(yè)子領(lǐng)域的算法,例如:

  • 計(jì)算智能(進(jìn)化算法等)
  • 計(jì)算機(jī)視覺(CV)
  • 自然語言處理(NLP)
  • 推薦系統(tǒng)
  • 強(qiáng)化學(xué)習(xí)
  • 圖形模型
  • 和更多…

這些可能會(huì)在未來的帖子中出現(xiàn)

進(jìn)一步閱讀

這次機(jī)器學(xué)習(xí)算法之旅旨在向您概述那里的內(nèi)容以及如何將算法相互關(guān)聯(lián)的一些想法。

我收集了一些資源供您繼續(xù)閱讀算法。如果您有具體問題,請發(fā)表評論。

其他算法列表

如果您有興趣,還有其他很棒的算法列表。以下是幾個(gè)手工選擇的例子。

如何研究機(jī)器學(xué)習(xí)算法

算法是機(jī)器學(xué)習(xí)的重要組成部分。這是我熱衷的主題,并在這個(gè)博客上寫了很多。以下是您可能感興趣的一些手工選擇的帖子以供進(jìn)一步閱讀。

如何運(yùn)行機(jī)器學(xué)習(xí)算法

有時(shí)你只想潛入代碼。下面是一些可用于運(yùn)行機(jī)器學(xué)習(xí)算法的鏈接,使用標(biāo)準(zhǔn)庫對其進(jìn)行編碼或從頭開始實(shí)現(xiàn)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容