0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

常用機器學習算法的基本概念和特點

新機器視覺 ? 來源:DataCanvas ? 2023-01-17 15:43 ? 次閱讀

沒有哪一種算法能夠適用所有情況,只有針對某一種問題更有用的算法。

機器學習算法不會要求一個問題被 100%求解,取而代之的是把問題轉(zhuǎn)化為最優(yōu)化的問題,用不同的算法優(yōu)化問題,從而比較得到盡量好的結(jié)果。因此對于數(shù)據(jù)科學家來說,理解算法顯得格外重要,理解不同算法的思想可以幫助數(shù)據(jù)科學家更從容地面對不同的應用場景。

本文列出了常用的機器學習算法的基本概念、主要特點和適用場景,希望可以在大家選擇合適的機器學習算法解決實際問題時起到一點參考作用。

本文主要提及的機器學習算法包括:

K近鄰(KNN)算法

樸素貝葉斯算法

決策樹算法

SVM算法

adaboost算法

EM算法(期望最大化算法)

下面我們將具體展開介紹。

1.K近鄰(KNN)算法

KNN算法的基本介紹:假若一個特征空間中大多數(shù)的樣本屬于某一個類別,則在這個特征空間中,k個最相似的樣本也屬于這個類別。

該算法由兩個步驟組成:(1)對于一個給定的搜索訓練集按一定距離度量,來找到一個 的值。(2)在這個KNN當中,根據(jù)大多數(shù)分為一致的類來進行分類。

用以下這幅圖可以很好的解釋KNN算法:

不同形狀的點,為不同標簽的點。其中綠色點為未知標簽的數(shù)據(jù)點?,F(xiàn)在要對綠色點進行預測。由圖不難得出:

如果k=3,那么離綠色點最近的有2個紅色三角形和1個藍色的正方形,這3個點投票,于是綠色的這個待分類點屬于紅色的三角形。

如果k=5,那么離綠色點最近的有2個紅色三角形和3個藍色的正方形,這5個點投票,于是綠色的這個待分類點屬于藍色的正方形。

80d0655c-8dc0-11ed-bfe3-dac502259ad0.jpg

K近鄰(KNN)算法優(yōu)點:

·算法原理簡單,容易理解,也較容易實現(xiàn)。

·不需要進行訓練,只需要保存訓練樣本和標簽。

·不易受小錯誤概率的影響。經(jīng)理論證明,最近鄰的漸進錯誤率最壞時不超過兩倍的貝葉斯錯誤率,最好時接近或達到貝葉斯錯誤率。

K近鄰(KNN)算法缺點:

·K的選擇不固定。

·預測結(jié)果容易受到噪聲數(shù)據(jù)的影響。

·當樣本不平衡時,新樣本的類別偏向訓練樣本中數(shù)量占優(yōu)的類別,容易導致預測錯誤。

·當數(shù)據(jù)量較大時,具有較高的計算復雜度和內(nèi)存消耗,因為對每一個待分類的文本,都要計算它到全體已知樣本的距離,才能求得它的K個最近鄰。

適用場景及主要應用領域:

由于KNN方法主要靠周圍有限的鄰近的樣本,而不是靠判別類域的方法來確定所屬類別的,因此對于類域的交叉或重疊較多的待分樣本集來說,KNN方法較其他方法更為適合。在實際應用當中,KNN算法在人臉識別、文字識別、醫(yī)學圖像處理等領域可以取得良好的分類效果。

K近鄰(KNN)算法需要注意的問題:

·數(shù)據(jù)特征之間量綱不統(tǒng)一時,需要對數(shù)據(jù)進行歸一化處理,否則會出現(xiàn)大數(shù)吃小數(shù)的問題;

·數(shù)據(jù)之間的距離計算通常采用歐式距離;

·kNN算法中K值的選取會對結(jié)果產(chǎn)生較大的影響,一般k值要小于訓練樣本數(shù)據(jù)的平方根;

·通常采用交叉驗證法來選擇最優(yōu)的K值。

80a97410-8dc0-11ed-bfe3-dac502259ad0.gif

2.樸素貝葉斯算法

80be0cb8-8dc0-11ed-bfe3-dac502259ad0.png

樸素貝葉斯分類是一種十分簡單的分類算法,即對于給出的待分類項,求解在此項出現(xiàn)的條件下各個類別出現(xiàn)的概率,哪個最大,就認為此待分類項屬于哪個類別。

以判定外國友人為例做一個形象的比喻。

若我們走在街上看到一個黑皮膚的外國友人,讓你來猜這位外國友人來自哪里。十有八九你會猜是從非洲來的,因為黑皮膚人種中非洲人的占比最多,雖然黑皮膚的外國人也有可能是美洲人或者是亞洲人。但是在沒有其它可用信息幫助我們判斷的情況下,我們會選擇可能出現(xiàn)的概率最高的類別,這就是樸素貝葉斯的基本思想。

下圖為樸素貝葉斯算法的流程:

81059786-8dc0-11ed-bfe3-dac502259ad0.jpg

樸素貝葉斯算法注意點:

·當特征屬性值的值類型不是離散值而是連續(xù)值的時候,需要通過高斯分布做概率的計算;

·為了避免統(tǒng)計概率中出現(xiàn)概率為0的情況,可以引入Laplace校準,它的思想非常簡單,就是對沒類別下所有劃分的計數(shù)加1。

適用場景及主要應用領域:

1. 樸素貝葉斯算法對待預測樣本進行預測,過程簡單速度快;

2. 對于多分類問題也同樣很有效,復雜度也不會有大程度上升;

3.在分布獨立這個假設成立的情況下,貝葉斯分類器效果奇好,會略勝于邏輯回歸,同時需要的樣本量也更少一點。

4.對于類別類的輸入特征變量,效果非常好。對于數(shù)值型變量特征,我們是默認它符合正態(tài)分布的。

主要應用領域

·文本分類/垃圾文本過濾/情感判別:多分類較為簡單,同時在文本數(shù)據(jù)中,分布獨立這個假設基本是成立的。垃圾文本過濾(比如垃圾郵件識別)和情感分析(微博上的褒貶情緒)用樸素貝葉斯也通常能取得很好的效果。

·多分類實時預測:對于文本相關的多分類實時預測,樸素貝葉斯算法被廣泛應用,簡單又高效。

·推薦系統(tǒng):樸素貝葉斯和協(xié)同過濾(Collaborative Filtering)是一對好搭檔,協(xié)同過濾是強相關性,但是泛化能力略弱,樸素貝葉斯和協(xié)同過濾一起,能增強推薦的覆蓋度和效果。

80a97410-8dc0-11ed-bfe3-dac502259ad0.gif

3. 決策樹算法

80be0cb8-8dc0-11ed-bfe3-dac502259ad0.png

決策樹是一個樹結(jié)構(gòu)(可以是二叉樹或非二叉樹),其每個非葉節(jié)點表示一個特征屬性上的測試,每個分支代表這個特征屬性在某個值域上的輸出,而每個葉節(jié)點存放一個輸出類別。使用決策樹進行決策的過程就是從根節(jié)點開始,測試待分類項中相應的特征屬性,并按照其值選擇輸出分支,直到到達葉子節(jié)點,將葉子節(jié)點存放的類別作為決策結(jié)果。

81388024-8dc0-11ed-bfe3-dac502259ad0.jpg

決策樹學習通常包含這幾個方面:特征選擇、決策樹生成、決策樹剪枝、缺失值/異常值處理、決策樹集成學習。

決策樹算法注意點:

·決策樹算法非常容易過擬合,導致泛化能力不強??梢酝ㄟ^設置節(jié)點最少樣本數(shù)量和限制決策樹深度來改進。

·決策樹會因為樣本發(fā)生一點點的改動,就會導致樹結(jié)構(gòu)的劇烈改變。這個可以通過集成學習之類的方法解決。

·尋找最優(yōu)的決策樹是一個NP難的問題,一般通過啟發(fā)式方法,容易陷入局部最優(yōu)??梢酝ㄟ^集成學習之類的方法來改善。

·有些比較復雜的關系,決策樹很難學習,比如異或,一般這種關系可以換神經(jīng)網(wǎng)絡分類方法來解決。

·如果某些特征的樣本比例過大,生成決策樹容易偏向于這些特征。這個可以通過調(diào)節(jié)樣本權(quán)重來改善(特別注意,在模型訓練過程中,某些特征的權(quán)重排序很大,需要手動調(diào)節(jié)樣本的權(quán)重來影響特征的權(quán)重,主要有樣本的均衡,樣本的過濾,樣本權(quán)重的調(diào)節(jié))。

適用場景及主要應用領域:

相比其他算法,決策樹有一個非常明顯的優(yōu)勢,就是可以很直觀地進行可視化,分類規(guī)則好理解,讓非專業(yè)的人也容易看明白,既可以解決分類問題(對應的目標值是類別型的數(shù)據(jù)),也能解決回歸問題(輸出結(jié)果也可以是連續(xù)的數(shù)值),目前廣泛應用于語音識別、人臉識別、醫(yī)療診斷、模式識別等領域。

4. SVM算法

80be0cb8-8dc0-11ed-bfe3-dac502259ad0.png

支持向量機,support vector machine,簡稱SVM,是經(jīng)典機器學習的一個重要分類算法,用于完成數(shù)據(jù)分類。svm算法通過找出一個決策超平面(二維空間指直線,三維空間指平面,超過三維的就是超平面了),將已有訓練數(shù)據(jù)集劃分開,然后對于新數(shù)據(jù),根據(jù)數(shù)據(jù)是位于超平面的哪一側(cè)完成判斷,得到新數(shù)據(jù)的分類。

因此基礎的svm算法是一個二分類算法,至于多分類任務,多次使用svm即可解決。

下圖是一組支持向量機實現(xiàn)分類的示例。

8153a49e-8dc0-11ed-bfe3-dac502259ad0.jpg

SVM算法注意點:

·SVM可以執(zhí)行線性非線性的分類、回歸、異常值檢測。適用于中小型復雜數(shù)據(jù)集;

·SVM對特征縮放很敏感,可以在輸入之前采用StandardScaler處理;

·如果SVM模型過擬合,可以通過降低C來進行正則化;

·LinearSVC灰度偏執(zhí)正則化,需要減去平均值,StandardScaler會自動處理;

·處理非線性數(shù)據(jù)集的方法之一是添加更多的特征,比如多項式特征。

適用場景及主要應用領域:

支持向量機(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解決小樣本、非線性及高維模式識別中表現(xiàn)出許多特有的優(yōu)勢,但它具有以下缺點:

·無法應對大規(guī)模訓練樣本;

·難以解決多分類問題;

·對參數(shù)及核函數(shù)選擇非常敏感。

支持向量機的常見適用范圍如下:

·網(wǎng)絡完全

傳統(tǒng)的網(wǎng)絡入侵檢測方法大多采用密碼簽名的方法。在進行入侵檢測方面,機器學習技術(shù)可以幫助我們進行網(wǎng)絡流量的分析,在這里支持向量機具有檢測速度快,分類精度高等特點,可以幫助安全人員識別不同類別的網(wǎng)絡攻擊,例如掃描和欺詐網(wǎng)絡。

·人臉識別

SVM可以將圖像部分分為人臉和非人臉。它包含nxn像素的訓練數(shù)據(jù),具有兩類人臉(+1)和非人臉(-1),然后從每個像素中提取特征作為人臉和非人臉。根據(jù)像素亮度在人臉周圍創(chuàng)建邊界,并使用相同的過程對每個圖像進行分類。

·文本和超文本分類

SVM可以實現(xiàn)對兩種類型的模型進行文本和超文本分類,它主要通過使用訓練數(shù)據(jù)將文檔分類為不同的類別,如新聞文章、電子郵件和網(wǎng)頁。

對于每個文檔,計算一個分數(shù)并將其與預定義的閾值進行比較。當文檔的分數(shù)超過閾值時,則將文檔分類為確定的類別。如果它不超過閾值,則將其視為一般文檔。

通過計算每個文檔的分數(shù)并將其與學習的閾值進行比較來對新實例進行分類。

·蛋白質(zhì)折疊和遠程同源檢測

蛋白質(zhì)遠程同源性檢測是計算生物學中的一個關鍵問題。SVM算法是遠程同源檢測最有效的方法之一。這些方法的性能取決于蛋白質(zhì)序列的建模方式。

5. adaboost算法

80be0cb8-8dc0-11ed-bfe3-dac502259ad0.png

在了解adaboost算法之前,我們先來重溫一下三個臭皮匠頂個諸葛亮的故事:諸葛亮帶兵過江,江水湍急,而且里面多是突出水面的礁石。普通竹筏和船只很難過去,打頭陣的船只都被水沖走觸礁沉沒,諸葛亮一籌莫展,也想不出好辦法,入夜來了3個做牛皮活的皮匠獻策。告訴諸葛亮買牛,然后把牛從肚皮下整張剝下來,封好切口后讓士兵往里吹氣,做成牛皮筏子,這樣的筏子不怕撞,諸葛亮按此方法嘗試并順利過江。

Adaboost就是這樣一種“三個臭皮匠頂個諸葛亮”的迭代算法,其核心思想是針對同一個訓練集訓練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構(gòu)成一個更強的最終分類器(強分類器)。

817cfc40-8dc0-11ed-bfe3-dac502259ad0.jpg

adaboost算法注意點:

·AdaBoost迭代次數(shù)也就是弱分類器數(shù)目不太好設定,可以使用交叉驗證來進行確定;

·數(shù)據(jù)不平衡導致分類精度下降;

·訓練比較耗時,每次重新選擇當前分類器最好切分點;

·對異常樣本敏感,異常樣本在迭代中可能會獲得較高的權(quán)重,影響最終的強學習器的預測準確性。

適用場景及主要應用領域:

在機器學習的算法中,Adaboost 算法是一種比較重要且通用的用于特征分類的算法,在圖像檢索和人臉表情識別等問題中都有普遍應用。從現(xiàn)狀看,人們對Adaboost 算法的研究及應用主要集中用于分類問題上,另外在某些回歸問題上也有所涉及,比如兩類問題、多類單標簽問題、多類多標簽問題和回歸問題。

Adaboost 在機器學習領域中十分重要,它是一種提高任意給定學習算法準確度的方法。也就是說,Adaboost 算法為其他算法提供了一種框架結(jié)構(gòu),而其他算法只在其中作為子分類器,因此 Adaboost 算法可以運用在許多方面的實踐上。

通過 Adaboost 算法

·可以實現(xiàn)手寫體字符識別,運用到了許多輸入設備上,如流行的觸屏手機上的手寫輸入、筆記本電腦的手寫輸入、掃描儀掃面文字轉(zhuǎn)化為電子文檔。

·圖像識別,如人臉識別、google 上的圖片檢索功能(很方便地找到想要的清晰度更高的圖片)。我們實現(xiàn)了語音識別,現(xiàn)在的WIN7上都有了一個語音識別的功能,我們能夠讓計算機知道我們說了什么話,并通過機器自動學習提高語音識別的精度,聲音輸入和聲控很可能在未來普及。

·Adaboost 算法還能做文本分類和醫(yī)療診斷等等。

80a97410-8dc0-11ed-bfe3-dac502259ad0.gif

6. EM算法(期望最大化算法)

80be0cb8-8dc0-11ed-bfe3-dac502259ad0.png

最大期望算法(Expectation-maximization algorithm,又譯為期望最大化算法),是在概率模型中尋找參數(shù)最大似然估計或者最大后驗估計的算法,其中概率模型依賴于無法觀測的隱性變量。

以打獵為例做一個形象的比喻:

比如你一位同學和一位獵人一起外出打獵,一只野兔從前方竄過。只聽一聲槍響,野兔應聲到下,如果要你推測,這一發(fā)命中的子彈是誰打的?你就會想,只發(fā)一槍便打中,由于獵人命中的概率一般大于你那位同學命中的概率,從而推斷出這一槍應該是獵人射中的。

這個例子所作的推斷就體現(xiàn)了最大似然法的基本思想。

多數(shù)情況下我們是根據(jù)已知條件來推算結(jié)果,而最大似然估計是已經(jīng)知道了結(jié)果,然后尋求使該結(jié)果出現(xiàn)的可能性最大的條件,以此作為估計值。

81ad88c4-8dc0-11ed-bfe3-dac502259ad0.jpg

EM算法注意點:

·對初始化數(shù)據(jù)敏感。

·EM算法計算復雜,收斂較慢,不適于大規(guī)模數(shù)據(jù)集和高維數(shù)據(jù)。

·當所要優(yōu)化的函數(shù)不是凸函數(shù)時,EM算法容易給出局部最優(yōu)解,而不是全局最優(yōu)解。

適用場景及主要應用領域:

·K-Means聚類

K-Means是EM算法的一個特列。在K-Means聚類時,每個聚類簇的質(zhì)心是隱含數(shù)據(jù)。我們會假設K個初始化質(zhì)心,即EM算法的E步;然后計算得到每個樣本最近的質(zhì)心,并把樣本聚類到最近的這個質(zhì)心,即EM算法的M步。重復這個E步和M步,直到質(zhì)心不再變化為止,這樣就完成了K-Means聚類。

·高斯混合模型

高斯混合模型(Gaussian Misture Model)的參數(shù)估計是EM算法的一個重要應用。高斯混合模型應用廣泛,在許多情況下, EM算法是學習高斯混合模型的有效方法。

·隱馬爾科夫模型

EM算法的另一個重要應用是隱馬爾科夫模型。

算法的選擇取決于許多因素,比如問題陳述、預期的輸出類型、數(shù)據(jù)的類型和大小、可用的計算時間、特征數(shù)量以及數(shù)據(jù)中的觀測點等,以上內(nèi)容僅供大家在選擇算法時作為參考,實踐和運行才是評估算法的最佳標準。

編輯:何安

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

    關注

    1803

    文章

    48405

    瀏覽量

    244586
  • 機器學習
    +關注

    關注

    66

    文章

    8478

    瀏覽量

    133804

原文標題:一文讀懂機器學習常用算法的基本概念和適用場景

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關推薦

    【阿里云大學免費精品課】機器學習入門:概念原理及常用算法

    摘要: 阿里云大學聯(lián)合螞蟻金服高級算法專家推出了免費的機器學習入門課程:機器學習入門:概念原理
    發(fā)表于 06-23 13:51

    智能天線的基本概念

    1智能天線的基本概念 智能天線綜合了自適應天線和陣列天線的優(yōu)點,以自適應信號處理算法為基礎,并引入了人工智能的處理方法。智能天線不再是一個簡單的單元,它已成為一個具有智能的系統(tǒng)。其具體定義為:智能
    發(fā)表于 08-05 08:30

    人工智能基本概念機器學習算法

    目錄人工智能基本概念機器學習算法1. 決策樹2. KNN3. KMEANS4. SVM5. 線性回歸深度學習
    發(fā)表于 09-06 08:21

    振動的基本概念

    一、振動的基本概念1、振動的定義振動是有由于外力作用而引起的往返(周期)運動。振動特性:周期,頻率,幅值和振動波形,可用來描述振動信號的基本特征。物理參數(shù):位移,速度和加速度是用來描述機器振動的三個
    發(fā)表于 09-16 06:16

    嵌入式系統(tǒng)的基本概念特點

    嵌入式系統(tǒng)概述基本概念由來發(fā)展歷史分類及特點基本概念由來發(fā)展歷史分類及特點
    發(fā)表于 11-08 09:13

    什么是機器學習_十張圖帶你解析機器學習基本概念

    在解釋機器學習基本概念的時候,我發(fā)現(xiàn)自己總是回到有限的幾幅圖中。以下是我認為最有啟發(fā)性的條目列表。
    的頭像 發(fā)表于 06-30 05:26 ?3834次閱讀
    什么是<b class='flag-5'>機器</b><b class='flag-5'>學習</b>_十張圖帶你解析<b class='flag-5'>機器</b><b class='flag-5'>學習</b>的<b class='flag-5'>基本概念</b>

    機器學習算法基本概念及選用指南

    本文對機器學習的一些基本概念給出了簡要的介紹,并對不同任務中使用不同類型的機器學習算法給出一點建
    的頭像 發(fā)表于 01-15 15:55 ?2850次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學習</b><b class='flag-5'>算法</b><b class='flag-5'>基本概念</b>及選用指南

    機器學習算法常用指標匯總

    機器學習性能評價標準是模型優(yōu)化的前提,在設計機器學習算法過程中,不同的問題需要用到不同的評價標準,本文對
    的頭像 發(fā)表于 02-13 15:09 ?5263次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學習</b><b class='flag-5'>算法</b><b class='flag-5'>常用</b>指標匯總

    10大常用機器學習算法匯總

    本文介紹了10大常用機器學習算法,包括線性回歸、Logistic回歸、線性判別分析、樸素貝葉斯、KNN、隨機森林等。
    發(fā)表于 11-20 11:10 ?2898次閱讀

    決策樹的基本概念/學習步驟/算法/優(yōu)缺點

    本文將介紹決策樹的基本概念、決策樹學習的3個步驟、3種典型的決策樹算法、決策樹的10個優(yōu)缺點。
    發(fā)表于 01-27 10:03 ?2814次閱讀
    決策樹的<b class='flag-5'>基本概念</b>/<b class='flag-5'>學習</b>步驟/<b class='flag-5'>算法</b>/優(yōu)缺點

    深度學習基本概念

    深度學習基本概念? 深度學習是人工智能(AI)領域的一個重要分支,它模仿人類神經(jīng)系統(tǒng)的工作方式,使用大量數(shù)據(jù)訓練神經(jīng)網(wǎng)絡,從而實現(xiàn)自動化的模式識別和決策。在科技發(fā)展的今天,深度學習已經(jīng)
    的頭像 發(fā)表于 08-17 16:02 ?2620次閱讀

    機器學習算法匯總 機器學習算法分類 機器學習算法模型

    是解決具體問題的一系列步驟,機器學習算法被設計用于從大量的數(shù)據(jù)中自動學習并不斷改進自身的性能。本文將為大家介紹機器
    的頭像 發(fā)表于 08-17 16:11 ?1354次閱讀

    機器學習算法入門 機器學習算法介紹 機器學習算法對比

    機器學習算法入門 機器學習算法介紹 機器
    的頭像 發(fā)表于 08-17 16:27 ?1115次閱讀

    卷積神經(jīng)網(wǎng)絡的基本概念、原理及特點

    基本概念、原理、特點以及在不同領域的應用情況。 一、卷積神經(jīng)網(wǎng)絡的基本概念 卷積神經(jīng)網(wǎng)絡是一種深度學習算法,它由多層卷積層和池化層堆疊而成
    的頭像 發(fā)表于 07-11 14:38 ?1962次閱讀

    NPU與機器學習算法的關系

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

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品