0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

機器學(xué)習算法概念介紹及選用建議

智能感知與物聯(lián)網(wǎng)技術(shù)研究所 ? 來源:cc ? 2019-01-14 13:49 ? 次閱讀

在從事數(shù)據(jù)科學(xué)工作的時候,經(jīng)常會遇到為具體問題選擇最合適算法的問題。雖然有很多有關(guān)機器學(xué)習算法的文章詳細介紹了相關(guān)的算法,但要做出最合適的選擇依然非常困難。

在這篇文章中,我將對一些基本概念給出簡要的介紹,對不同任務(wù)中使用不同類型的機器學(xué)習算法給出一點建議。在文章的最后,我將對這些算法進行總結(jié)。

首先,你應(yīng)該能區(qū)分以下四種機器學(xué)習任務(wù):

監(jiān)督學(xué)習

無監(jiān)督學(xué)習

半監(jiān)督學(xué)習

強化學(xué)習

監(jiān)督學(xué)習

監(jiān)督學(xué)習是從標記的訓(xùn)練數(shù)據(jù)中推斷出某個功能。通過擬合標注的訓(xùn)練集,找到最優(yōu)的模型參數(shù)來預(yù)測其他對象(測試集)上的未知標簽。如果標簽是一個實數(shù),我們稱之為回歸。如果標簽來自有限數(shù)量的值,這些值是無序的,那么稱之為分類。

無監(jiān)督學(xué)習

在無監(jiān)督學(xué)習中,我們對于物體知道的信息比較少,特別是訓(xùn)練集沒有做過標記。那現(xiàn)在的目標是什么呢?觀察對象之間的相似性,并將它們劃分到不同的群組中。某些對象可能與其他群組中的對象都有很大的區(qū)別,那么我們就認為這些對象是異常的。

半監(jiān)督學(xué)習

半監(jiān)督學(xué)習包括了前面描述的兩個問題:同時使用標記和未標記的數(shù)據(jù)。對于那些無法標注所有數(shù)據(jù)的人來說,這是一個很好的方法。該方法能夠顯著提高準確性,因為在使用訓(xùn)練集中未標記數(shù)據(jù)的同時,還能使用少量帶有標記的數(shù)據(jù)。

強化學(xué)習

強化學(xué)習跟上面提到的方法不太一樣,因為在這里并沒有標記或未標記的數(shù)據(jù)集。強化學(xué)習涉及到軟件代理應(yīng)該如何在某些環(huán)境中采取行動來最大化累積獎勵。

想象一下,你是一個在陌生環(huán)境中的機器人,你可以執(zhí)行一些動作,并從中獲得獎勵。在每執(zhí)行一個動作之后,你的行為會變得越來越復(fù)雜越來越聰明,也就是說 ,你正在訓(xùn)練自己在執(zhí)行每一個動作之后讓自己表現(xiàn)得更為有效。在生物學(xué)中,這被稱為適應(yīng)自然環(huán)境。

常用的機器學(xué)習算法

現(xiàn)在,我們對機器學(xué)習的類型有了一定的了解,下面,我們來看一下最流行的算法及其在現(xiàn)實生活中的應(yīng)用。

線性回歸和線性分類器

這些可能是機器學(xué)習中最簡單的算法了。假設(shè)有對象(矩陣A)的特征x1,... xn和標簽(向量B)。我們的目標是根據(jù)某些損失函數(shù)(例如MSE或MAE)找到最優(yōu)權(quán)重w1,... wn和這些特征的偏差。 在使用MSE的情況下,有一個來自最小二乘法的數(shù)學(xué)公式:

在實踐中,使用梯度下降來進行優(yōu)化則更為容易,計算上更有效率。盡管這個算法很簡單,但是在存在成千上萬個特征的時候,這個方法依然能夠表現(xiàn)良好。更復(fù)雜的算法可能會遇到過擬合特征或者是沒有足夠大的數(shù)據(jù)集的問題,而線性回歸則是一個不錯的選擇。

為了防止過擬合,可使用像lasso和ridge這樣的規(guī)則化技術(shù)。其主要思路是分別把權(quán)重總和以及權(quán)重平方的總和加到損失函數(shù)中。

邏輯回歸

邏輯回歸執(zhí)行的是二元分類,所以輸出的標簽是二元的。給定輸入特征向量x,定義P(y=1|x)為輸出y等于1時的條件概率。系數(shù)w是模型要學(xué)習的權(quán)重。

由于該算法需要計算每個類別的歸屬概率,因此應(yīng)該考慮概率與0或1的差異程度,并像在線性回歸中一樣對所有對象取平均值。這種損失函數(shù)是交叉熵的平均值:

邏輯回歸有什么好處呢?它采用了線性組合的特征,并對其應(yīng)用非線性函數(shù)(sigmoid),所以它是一個非常小的神經(jīng)網(wǎng)絡(luò)實例!

決策樹

另一個比較流行、并且容易理解的算法是決策樹。它的圖形能讓你看到你自己的想法,它的引擎有一個系統(tǒng)的、有記錄的思考過程。

這個算法很簡單。在每個節(jié)點中,我們選擇所有特征和所有可能的分割點之間的最佳分割。選擇每個分割以最大化某些功能。在分類樹中使用交叉熵和基尼指數(shù)。在回歸樹中,最小化該區(qū)域中的點的目標值的預(yù)測變量與分配給它的點之間的平方誤差的總和。

算法會在每個節(jié)點上遞歸地完成這個過程,直到滿足停止條件為止。

K-means

有的時候你并不知道標簽,而目標是根據(jù)對象的特征來分配標簽。這被稱為集聚化任務(wù)。

假設(shè)要把所有的數(shù)據(jù)對象分成k個簇,則需要從數(shù)據(jù)中隨機選擇k個點,并將它們命名為簇的中心。其他對象的簇由最近的簇中心定義。然后,聚類的中心會被轉(zhuǎn)換并重復(fù)該過程直到收斂。

雖然這個技術(shù)非常不錯,但它仍然有一些缺點。首先,我們并不知道簇的數(shù)量。其次,結(jié)果依賴開始時隨機選擇的那個點,算法無法保證我們能夠?qū)崿F(xiàn)功能的全局最小值。

主成分分析(PCA)

昨晚或者最近的幾個小時里你有沒有在準備考試?你無法記住所有的信息,但是想要在可用的時間內(nèi)最大限度地記住信息,例如,首先學(xué)習考試中經(jīng)常出現(xiàn)的定理等等。

主成分分析基于類似的思想。該算法提供了降維的功能。有時,你有很多的特征,并且彼此之間強相關(guān),模型可以很容易地適應(yīng)大量的數(shù)據(jù)。然后,你可以應(yīng)用PCA。

你應(yīng)該計算某些向量上的投影,以使數(shù)據(jù)的方差最大化,并盡可能少地丟失信息。而這些向量是來自數(shù)據(jù)集特征的相關(guān)矩陣的特征向量。

算法的內(nèi)容現(xiàn)在已經(jīng)很清楚了:

計算特征列的相關(guān)矩陣,找出該矩陣的特征向量。

將這些多維向量計算出來,并計算所有特征的投影。

新特征是投影中的坐標,其數(shù)量取決于投影的特征向量的數(shù)量。

神經(jīng)網(wǎng)絡(luò)

在上文講到邏輯回歸的時候,就已經(jīng)提到了神經(jīng)網(wǎng)絡(luò)。在一些具體的任務(wù)中,有很多不同的體系結(jié)構(gòu)都非常有價值。而神經(jīng)網(wǎng)絡(luò)更多的時候是一系列的層或組件,它們之間存在線性連接并遵循非線性。

如果你正在處理圖像,那么卷積深度神經(jīng)網(wǎng)絡(luò)能展現(xiàn)出不錯的結(jié)果。而非線性則通過卷積層和匯聚層表現(xiàn)出來,它能夠捕捉圖像的特征。

要處理文本和序列,最好選擇遞歸神經(jīng)網(wǎng)絡(luò)。 RNN包含了LSTM或GRU模塊,并且能夠數(shù)據(jù)一同使用。也許,最有名的RNN應(yīng)用是機器翻譯吧。

結(jié)論

我希望能向大家解釋最常用的機器學(xué)習算法,并就針對具體問題如何選擇機器學(xué)習算法提供建議。為了能讓你更輕松的掌握這些內(nèi)容,我準備了下面這個總結(jié)。

線性回歸和線性分類器。盡管看起來簡單,但當其他算法在大量特征上遇到過擬合的問題時,它的優(yōu)勢就表現(xiàn)出來了。

Logistic回歸是最簡單的非線性分類器,具有二元分類的參數(shù)和非線性函數(shù)(S形)的線性組合。

決策樹通常與人類的決策過程相似,并且易于解釋。但它們最常用于隨機森林或梯度增強這樣的組合中。

K-means是一個更原始、但又非常容易理解的算法。

PCA是降低信息損失最少的特征空間維度的絕佳選擇。

神經(jīng)網(wǎng)絡(luò)是機器學(xué)習算法的新武器,可以應(yīng)用于許多任務(wù),但其訓(xùn)練的計算復(fù)雜度相當大。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標題:機器學(xué)習算法選用指南

文章出處:【微信號:tyutcsplab,微信公眾號:智能感知與物聯(lián)網(wǎng)技術(shù)研究所】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    自然語言處理與機器學(xué)習的關(guān)系 自然語言處理的基本概念及步驟

    Learning,簡稱ML)是人工智能的一個核心領(lǐng)域,它使計算機能夠從數(shù)據(jù)中學(xué)習并做出預(yù)測或決策。自然語言處理與機器學(xué)習之間有著密切的關(guān)系,因為機器
    的頭像 發(fā)表于 12-05 15:21 ?485次閱讀

    NPU與機器學(xué)習算法的關(guān)系

    緊密。 NPU的起源與特點 NPU的概念最早由谷歌在其TPU(Tensor Processing Unit)項目中提出,旨在為TensorFlow框架提供專用的硬件加速。NPU的設(shè)計目標是提高機器學(xué)習
    的頭像 發(fā)表于 11-15 09:19 ?458次閱讀

    人工智能、機器學(xué)習和深度學(xué)習存在什么區(qū)別

    人工智能指的是在某種程度上顯示出類似人類智能的設(shè)備。AI有很多技術(shù),但其中一個很大的子集是機器學(xué)習——讓算法從數(shù)據(jù)中學(xué)習。
    發(fā)表于 10-24 17:22 ?2491次閱讀
    人工智能、<b class='flag-5'>機器</b><b class='flag-5'>學(xué)習</b>和深度<b class='flag-5'>學(xué)習</b>存在什么區(qū)別

    嵌入式學(xué)習建議

    的平衡,要在理解軟件工程基本原理基礎(chǔ)上理解硬件構(gòu)件與軟件構(gòu)件等基本概念。 以上建議,僅供初學(xué)者參考。當然,以上只是基礎(chǔ)階段的學(xué)習建議。要成為良好的嵌入式系統(tǒng)設(shè)計師,還需要在實際項目中
    發(fā)表于 10-22 11:41

    【「時間序列與機器學(xué)習」閱讀體驗】+ 鳥瞰這本書

    清晰,從時間序列分析的基礎(chǔ)理論出發(fā),逐步深入到機器學(xué)習算法在時間序列預(yù)測中的應(yīng)用,內(nèi)容全面,循序漸進。每一章都經(jīng)過精心設(shè)計,對理論知識進行了詳細的闡述,對實際案例進行了生動的展示,使讀者在理論與實踐
    發(fā)表于 08-12 11:28

    【「時間序列與機器學(xué)習」閱讀體驗】+ 簡單建議

    這本書以其系統(tǒng)性的框架和深入淺出的講解,為讀者繪制了一幅時間序列分析與機器學(xué)習融合應(yīng)用的宏偉藍圖。作者不僅扎實地構(gòu)建了時間序列分析的基礎(chǔ)知識,更巧妙地展示了機器學(xué)習如何在這一領(lǐng)域發(fā)揮巨
    發(fā)表于 08-12 11:21

    【「時間序列與機器學(xué)習」閱讀體驗】全書概覽與時間序列概述

    如何通過根因分析技術(shù)獲得導(dǎo)致故障的維度和元素,包括基于時間序列異常檢測算法的根因分析、基于熵的根因分析、基于樹模型的根因分析、規(guī)則學(xué)習等。 ●第7章“智能運維的應(yīng)用場景”:介紹智能運維領(lǐng)域的應(yīng)用,包括
    發(fā)表于 08-07 23:03

    如何理解機器學(xué)習中的訓(xùn)練集、驗證集和測試集

    理解機器學(xué)習中的訓(xùn)練集、驗證集和測試集,是掌握機器學(xué)習核心概念和流程的重要一步。這三者不僅構(gòu)成了模型學(xué)習
    的頭像 發(fā)表于 07-10 15:45 ?4006次閱讀

    遷移學(xué)習的基本概念和實現(xiàn)方法

    遷移學(xué)習(Transfer Learning)是機器學(xué)習領(lǐng)域中的一個重要概念,其核心思想是利用在一個任務(wù)或領(lǐng)域中學(xué)到的知識來加速或改進另一個相關(guān)任務(wù)或領(lǐng)域的
    的頭像 發(fā)表于 07-04 17:30 ?1678次閱讀

    機器學(xué)習算法原理詳解

    機器學(xué)習作為人工智能的一個重要分支,其目標是通過讓計算機自動從數(shù)據(jù)中學(xué)習并改進其性能,而無需進行明確的編程。本文將深入解讀幾種常見的機器學(xué)習
    的頭像 發(fā)表于 07-02 11:25 ?1049次閱讀

    機器學(xué)習在數(shù)據(jù)分析中的應(yīng)用

    隨著大數(shù)據(jù)時代的到來,數(shù)據(jù)量的爆炸性增長對數(shù)據(jù)分析提出了更高的要求。機器學(xué)習作為一種強大的工具,通過訓(xùn)練模型從數(shù)據(jù)中學(xué)習規(guī)律,為企業(yè)和組織提供了更高效、更準確的數(shù)據(jù)分析能力。本文將深入探討機器
    的頭像 發(fā)表于 07-02 11:22 ?632次閱讀

    機器學(xué)習的經(jīng)典算法與應(yīng)用

    關(guān)于數(shù)據(jù)機器學(xué)習就是喂入算法和數(shù)據(jù),讓算法從數(shù)據(jù)中尋找一種相應(yīng)的關(guān)系。Iris鳶尾花數(shù)據(jù)集是一個經(jīng)典數(shù)據(jù)集,在統(tǒng)計學(xué)習
    的頭像 發(fā)表于 06-27 08:27 ?1663次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學(xué)習</b>的經(jīng)典<b class='flag-5'>算法</b>與應(yīng)用

    名單公布!【書籍評測活動NO.35】如何用「時間序列與機器學(xué)習」解鎖未來?

    應(yīng)用,將理論基礎(chǔ)與實踐案例相結(jié)合,作者憑借扎實的數(shù)學(xué)功底及其在企業(yè)界的豐富實踐經(jīng)驗,將機器學(xué)習與時間序列分析巧妙融合在書中。 全書書共分為8章,系統(tǒng)介紹時間序列的基礎(chǔ)知識、常用預(yù)測方法、異常檢測
    發(fā)表于 06-25 15:00

    機器學(xué)習入門:基本概念介紹

    機器學(xué)習(GraphMachineLearning,簡稱GraphML)是機器學(xué)習的一個分支,專注于利用圖形結(jié)構(gòu)的數(shù)據(jù)。在圖形結(jié)構(gòu)中,數(shù)據(jù)以圖的形式表示,其中的節(jié)點(或頂點)表示實體
    的頭像 發(fā)表于 05-16 08:27 ?512次閱讀
    圖<b class='flag-5'>機器</b><b class='flag-5'>學(xué)習</b>入門:基本<b class='flag-5'>概念</b><b class='flag-5'>介紹</b>

    機器學(xué)習怎么進入人工智能

    ,人工智能已成為一個熱門領(lǐng)域,涉及到多個行業(yè)和領(lǐng)域,例如語音識別、機器翻譯、圖像識別等。 在編程中進行人工智能的關(guān)鍵是使用機器學(xué)習算法,這是一類基于樣本數(shù)據(jù)和模型訓(xùn)練來進行預(yù)測和判斷的
    的頭像 發(fā)表于 04-04 08:41 ?323次閱讀