Adaboost算法

概述

???????? 一句話概述Adaboost算法的話就是:把多個簡單的分類器結合起來形成個復雜的分類器。也就是“三個臭皮匠頂一個諸葛亮”的道理。

???????? 可能僅看上面這句話還沒什么概念,那下面我引用個例子。

???????? 如下圖所示:

???????? 在D1這個數據集中有兩類數據“+”和“-”。

???????? 對于這個數據集,你會發現,不管是這么分

??????????????????

???????? 這么分

??????????????????

???????? 還是這么分

??????????????????

???????? 總有誤分類點存在;

???????? 那么如果我們把上面三種分發集合起來呢?像下面這樣:

???????? 會發現把上面三個弱分類器組合起來會變成下面這個分類器:

????????

???????? 這樣一來用這個分類器就可以完美的分類數據了。

???????? 這就是Adaboost的思想。

???????? 是不是十分簡單粗暴?

???????? 好,下面我們來總結下Adaboost。

?????????Adaboost是一種迭代算法,其核心思想是針對同一訓練集訓練不同的分類器,即弱分類器,然后把這些弱分類請合起來,構造一個更強的最終分類器。

Adaboost算法的優點

???????? Adaboost的優點如下:

?????????????????? 1,Adaboost是一種有很高精度的分類器;

?????????????????? 2,可以使用各種方法構建子分類器,Adaboost算法提供的是框架;

?????????????????? 3,當使用簡單分類器時,計算出的結果是可以理解的。而且弱分類器構造及其簡單;

?????????????????? 4,簡單,不用做特征篩選;

?????????????????? 5,不用擔心過擬合(overfitting)!

Adaboost算法的步驟

???????? 通過上面的內容我們已經知道Adaboost是將多個弱分類器組合起來形成一個強分類器,那就有個問題了,我們如何訓練弱分類器?我們總得用一個套路來訓練,不然每次都好無章法的弄個弱分類器,那結果可能是:即使你把一萬個弱分類器結合起來也沒辦法將數據集完全正確分類。

???????? 那么我們來進一步看看Adaboost算法的思想:

???????? 1,Adaboost給每一個訓練數據添加“權值”,且最初這個權值是平均分配的。然后在之后的步驟中,提高那些被前一輪弱分類器錯誤分類樣本的權值,并降低那些被正確分類樣本的權值,這樣一來,那些沒有得到正確分類的數據,由于其權值的加大而受到后一輪弱分類器的更大關注

???????? 2,Adaboost給每一個弱分類器添加“權值”,且采取多數表決的方法組合弱分類器。具體地,加大分類誤差率小的弱分類器的權值,使其在表決中起較大的作用;減少分類誤差率大的弱分類器的權值,使其在表決中起較小的作用。

???????? Adaboost的巧妙之處就在于它將這些想法自然且有效地實現在一種算法里。

???????? 下面來整理下Adaboost算法的步驟。

???????? 輸入:

?????????????????? 訓練數據集T ={(x1, y1), (x2, y2), ..., (xN, yN)},其中xi∈X?Rn,yi∈Y={-1, +1};

???????? ???????? 弱學習算法。

???????? 輸出:

?????????????????? 最終分類器G(x)

???????? 解:

?????????????????? 1,初始化訓練數據的權值分布

??????????????????????????? D1= (w11, ..., w1i, ..., w1N),其中w1i= 1/N,i=1, 2, ..., N

?????????????????? 2,對m=1, 2,..., M

??????????????????????????? a,使用具有權值分布Dm的訓練數據集學習,得到基本分類器

???????????????????????????????????? Gm(x): X -> {-1, +1}

??????????????????????????? b,計算Gm(x)在訓練數據集上的分類誤差率

????????????????????????????????????

??????????????????????????? c,計算Gm(x)的系數

????????????????????????????????????

??????????????????????????? 這里的對數是自然對數。

?????????????????? ???????? d,更新訓練數據集的權值分布

????????????????????????????????????

??????????????????????????? 這里,Zm是規范化因子

????????????????????????????????????

??????????????????????????? 它使Dm+1成為一個概率分布。

?????????????????? 3,構建基本分類器的線性組合

???????????????????????????

?????????????????? 得到最終分類器

???????????????????????????

???????然后對上面的步驟做一些說明:

???????? ?????????步驟1假設訓練數據集具有均勻的全職分布,即每個訓練樣本在基本分類器的學習中作用相同。這一假設保證了第1步中能用在原始數據上學習弱分類器G1(x)。

?????????????????? 步驟2反復學習弱分類器,在每一輪m= 1, 2, ..., M順次地執行下列操作:

??????????????????????????? a,使用當期分布Dm加權的訓練數據集,學習基本分類器Gm(x)。

??????????????????????????? b,計算基本分類器Gm(x)在加權訓練數據集上的分類誤差率:

???????? ???????? ???????? ????????

??????????????????????????? 這里,wmi表示第m輪中第i個實例的權值,且:

???????????????????????????????????? ?

??????????????????????????? 這表明,Gm(x)在加權的訓練數據集上的分類誤差率是被Gm(x)誤分類樣本的權值之和,由此可以看出數據權值分布Dm與弱分類器Gm(x)的分類誤差率的關系。

??????????????????????????? c,計算弱分類器Gm(x)的系數am,am表示Gm(x)在最終分類器中的重要性。由式8.2可知,當em?<= 1/2時,am?>=0,并且am隨em的減小而增大,所以分類誤差率越小的弱分類器在最終分類器中的作用越大。

??????????????????????????? d,更新訓練數據的權值分布為下一輪做準備。式8.4可以寫成:

????????????????????????????????????

??????????????????????????? 由此可知,被弱分類器Gm(x)誤分類樣本的權值得以擴大,而被正確分類樣本的權值卻得以縮小。兩相比較,誤分類樣本的權值被放大

????????????????????????????????????

??????????????????????????? 倍。

??????????????????????????? 因此,誤分類樣本在下一輪學習中起更大的作用。

??????????????????????????? 而,“不改變所給的訓練數據,而不斷改變訓練數據的全職分布,使得訓練數據在若分類器的學習中起不同的作用”就是Adaboost的一個特點

?????????????????? 步驟3中通過線性組合f(x)實現M個弱分類器的加權表決。系數am表示了弱分類器Gm(x)的重要性,這里,所有am之和并不為1。f(x)的符號決定實例x的類,f(x)的絕對值表示分類的確信度。“利用弱分類器的線性組合構建最終分類器”是Adaboost的另一個特點

?

例子

???????? 給定上面這張訓練數據表所示的數據,假設弱分類器由x<v或x>v產生,其閾值v使該分類器在訓練數據集上的分類誤差率最低,試用Adaboost算法學習一個強分類器。

???????? 解:

?????????????????? 1,令m = 1

??????????????????????????? 則初始化數據權值分布:

??????????????????????????? ???????? Dm = (wm1, wm2,..., wm10),即:D1 = (w11, w12, ..., w110)

??????????????????????????? ???????? wmi?= 0.1, i = 1, 2,..., 10,即:w1i?= 0.1, i = 1, 2, ..., 10

??????????????????????????? a,用下面的方式從v=1.5遍歷到v=9.5

???????? ??????????????????????????? for( v=1.5;v<=9.5; v++) {

???????? ???????? ??????????????????????????? if(x < v) G1(x)=1;

?????????????????? ???????? ?????????????????? elseif (x > v) G1(x) = -1;

??????????????????????????? ???????? }

?????????????????? ?????????????????? 并統計v取各個值使得誤差率(誤差率的計算方法是:所有誤分類點的權值之和)。

???????? ?????????????????? ???????? 然后發現,當v取2.5時,誤分類點為x=6, 7, 8,其權值和為0.3,誤差率最低,此時,當前弱分類器為:

??????????????????????????????????????????????

?????????????????? ?????????????????? G1(x) 在訓練數據集上的誤差率e1= P(G1(xi) != yi) = 0.3

??????????????????????????? b,計算G1(x)的系數:a1 =(1/2) log [(1-e1)/e1] = 0.4236

???????? ?????????????????? c,更新訓練數據的權值分布:

???????? ???????? ?????????????????? D2=? (w21, w22, ...,w210)

?????????????????? ???????? ???????? w2i= (w1i/Z1)exp(-a1yiG1(xi)),i = 1, 2,..., 10

?????????????????? 于是

???????? ???????? D2 = (0.0715, 0.0715, 0.0715, 0.0715,0.0715, 0.0715, 0.1666, 0.1666, 0.1666, 0.0715)

???????? ???????? f1(x) = 0.4236G1(x)

?????????????????? 分類器sign[f1(x)]在訓練數據集上有3個誤分類點。

?????????????????? 2,令m = 2,做和上一步同上的操作。

??????????????????????????? 發現在權值分布為D2的訓練數據上,v = 8.5時誤差率最低,此時:

???????????????????????????????????? 當前弱分類器為:

??????????????????????????????????????????????

???????????????????????????????????? 誤差率是e2 = 0.2143

???????????????????????????????????? a2= 0.6496

?????????????????? 于是

??????????????????????????? 權值分布為:D3 =(0.0455, 0.0455, 0.0455, 0.1667, 0.1667, 0.1667, 0.1060, 0.1060, 0.1060,0.0455)

??????????????????????????? f2(x)= 0.4236G1(x) + 0.6496G2(x)

??????????????????????????? 分類器sign[f2(x)]在訓練數據集上有3個誤分類點。

?????????????????? 3,令m = 3。

??????????????????????????? 所以在權值分布為D3的訓練數據上,v =5.5時分類誤差率最低,此時的弱分類器為:

????????????????????????????????????

??????????????????????????? G3(x)在訓練樣本上的誤差率為e3= 0.1820

??????????????????????????? a3= 0.7514

?????????????????? 于是

??????????????????????????? 權值分布為:D4 =(0.125, 0.125, 0.125, 0.102, 0.102, 0.102, 0.065, 0.065, 0.065, 0.125)

??????????????????????????? f3(x)= 0.4236G1(x) + 0.6496G2(x) + 0.7514G3(x)

?????????????????? 因為分類器sign[f3(x)]在訓練數據集上的誤分類點個數為0.

?????????????????? 于是最終分類器為:

??????????????????????????? G(x)= sign[f3(x)] = sign[0.4236G1(x) + 0.6496G2(x)+ 0.7514G3(x)]

查看總分類器誤分類點個數的方法

???????? 假設有一個分類器,其有5個元素,其正確的分類結果是:

?????????????????? [1,1, -1, -1, 1]

???????? 然后:

?????????????????? 1,權值初始為:

??????????????????????????? D:[[ 0.2? 0.2? 0.2?0.2? 0.2]]

?????????????????? 2,經過一次計算:

??????????????????????????? alpha:? 0.69314718056

??????????????????????????? classEst:? [[-1.?1. -1. -1.? 1.]]???? # 分類結果

?????????????????? 3,這時就算一下:

??????????????????????????? aggClassEst+= alpha*classEst

??????????????????????????? aggClassEst:? [[-0.69314718?0.69314718 -0.69314718 -0.69314718?0.69314718]]

?????????????????? 4,對比aggClassEst和正確分類的正負號相同位置元素的正負號是否一致,如:

??????????????????????????? 這里addClassEst的正負號從前向后依次是:-,+, -, -, +,而正確分類的正負號依次是:+, +, - ,-, +,所以當前有1個被錯誤分類。

?????????????????? 5,重復上面4步,直到第4步的對比完全一致或者達到循環次數上限。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387266.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387266.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387266.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Codeforces 408D Long Path (DP)

題目&#xff1a; One day, little Vasya found himself in a maze consisting of (n??1) rooms, numbered from 1 to (n??1). Initially, Vasya is at the first room and to get out of the maze, he needs to get to the (n??1)-th one. The maze is organized as fol…

機器學習05神經網絡--表示

神經網絡&#xff1a;表示&#xff08;Neural Networks: Representation&#xff09; 如今的神經網絡對于許多應用來說是最先進的技術。 對于現代機器學習應用&#xff0c;它是最有效的技術方法。 神經網絡模型是許多邏輯單元按照不同層級組織起來的網絡&#xff0c; 每一層…

邏輯回歸(Logistic Regression, LR)又稱為邏輯回歸分析,是分類和預測算法中的一種。通過歷史數據的表現對未來結果發生的概率進行預測。例如,我們可以將購買的概率設置為因變量,將用戶的

邏輯回歸(Logistic Regression, LR)又稱為邏輯回歸分析&#xff0c;是分類和預測算法中的一種。通過歷史數據的表現對未來結果發生的概率進行預測。例如&#xff0c;我們可以將購買的概率設置為因變量&#xff0c;將用戶的特征屬性&#xff0c;例如性別&#xff0c;年齡&#x…

解決SecureCRT無法用非root賬號登錄ssh

鏈接失敗&#xff0c;提示這個&#xff1a; --------------------------- SecureCRT --------------------------- 連接到會話 192.168.1.100 失敗 : The server has disconnected with an error. Server message reads: A protocol error occurred. Change of username or se…

機器學習06神經網絡--學習

代價函數 標記方法&#xff1a; 神經網絡的訓練樣本有 m 個 每個包含一組輸入 x 和一組輸出信號 y L 表示神經網絡層數 Sl表示每層的 neuron 個數(SL 表示輸出層神經元個數) 將神經網絡的分類定義為兩種情況&#xff1a; 二類分類&#xff1a;SL1, y0 or 1 表示哪一類&…

Logistic Regression Classifier邏輯回歸

Logistic Regression Classifier邏輯回歸主要思想就是用最大似然概率方法構建出方程&#xff0c;為最大化方程&#xff0c;利用牛頓梯度上升求解方程參數。 優點&#xff1a;計算代價不高&#xff0c;易于理解和實現。缺點&#xff1a;容易欠擬合&#xff0c;分類精度可能不高…

機器學習07應用機器學習的建議

決定下一步做什么&#xff08;Deciding What to Try Next&#xff09; 確保在設計機器學習系統時&#xff0c;能夠選擇一條最合適、最正確的道路。 具體來講&#xff0c;將重點關注的問題是&#xff1a;假如你在開發一個機器學習系統&#xff0c;或者想試著改進一個機器學習…

CSS3--5.顏色屬性

HTML5中添加了一些新的顏色的表示方式 1.RGBA&#xff1a;說得簡單一點就是在RGB的基礎上加進了一個通道Alpha。RGBA在RGB的基礎上多了控制alpha透明度的參數。以上R、G、B三個參數&#xff0c;正整數值的取值范圍為&#xff1a;0 - 255。百分數值的取值范圍為&#xff1a;0.0%…

邏輯回歸的通俗解釋 邏輯回歸的定位

1 邏輯回歸的定位 首先&#xff0c;邏輯回歸是一種分類&#xff08;Classification&#xff09;算法。比如說&#xff1a; 給定一封郵件&#xff0c;判斷是不是垃圾郵件給出一個交易明細數據&#xff0c;判斷這個交易是否是欺詐交易給出一個腫瘤檢查的結果數據&#xff0c;判斷…

機器學習08機器學習系統設計

首先要做什么 一個垃圾郵件分類器算法為例&#xff1a; 為了解決這樣一個問題&#xff0c;首先要做的決定是如何選擇并表達特征向量 x。 可以選擇一個由 100 個最常出現在垃圾郵件中的詞所構成的列表&#xff0c;根據這些詞是否有在郵件中 出現&#xff0c;來獲得我們的特…

數學筆記1——導數1(導數的基本概念)

什么是導數導數是高數中的重要概念&#xff0c;被應用于多種學科。從物理意義上講&#xff0c;導數就是求解變化率的問題&#xff1b;從幾何意義上講&#xff0c;導數就是求函數在某一點上的切線的斜率。我們熟知的速度公式&#xff1a;v s/t&#xff0c;這求解的是平均速度&a…

python接口自動化(四)--接口測試工具介紹(詳解)

簡介 “工欲善其事必先利其器”&#xff0c;通過前邊幾篇文章的介紹&#xff0c;大家大致對接口有了進一步的認識。那么接下來讓我們看看接口測試的工具有哪些。 目前&#xff0c;市場上有很多支持接口測試的工具。利用工具進行接口測試&#xff0c;能夠提供測試效率。例如&…

機器學習09支持向量機

支持向量機(Support Vector Machines) 在監督學習中&#xff0c;許多學習算法的性能都非常類似&#xff0c;因此&#xff0c;重要的不是你該選擇使用學習算法 A 還是學習算法 B&#xff0c;而更重要的是&#xff0c; 應用這些算法時&#xff0c;所創建的大量數據在應用這些算…

數學筆記2

數學筆記2——導數2(求導法則和高階導數)和、差、積、商求導法則設uu(x),vv(x)都可導&#xff0c;則&#xff1a;(Cu)’ Cu’, C是常數(u v)’ u’ v’(uv)’ u’ v’(u/v)’ (u’v – uv’) / v21、2不解釋&#xff0c;下面給出3、4的推導過程乘法法則的推導過乘法法則…

機器學習10聚類

無監督學習 在非監督學習中&#xff0c;我們需要將一系列無標簽的訓練數據&#xff0c;輸入到一個算法中&#xff0c; 然后讓它找這個數據的內在結構。 我們可能需要某種算法幫助我們尋找一種結構。圖上的數據看起來可以分成兩個分開的點集&#xff08;稱為簇&#xff09;&am…

python 的筆記

語言&#xff1a;Python IDE&#xff1a;Python.IDE 需求 做出彩虹效果 顏色空間 RGB模型&#xff1a;光的三原色&#xff0c;共同決定色相 HSB/HSV模型&#xff1a;H色彩&#xff0c;S深淺&#xff0c;B飽和度&#xff0c;H決定色相 需要將HSB模型轉換為RGB模型 代碼示例&am…

關聯分析(Association analysis)

關聯分析&#xff08;Association analysis&#xff09; 簡介 大量數據中隱藏的關系可以以‘關聯規則’和‘頻繁項集’的形式表示。rules&#xff1a;&#xff5b;Diapers&#xff5d;–>{Beer}說明兩者之間有很強的關系&#xff0c;購買Diapers的消費者通常會購買Beer。 除…

機器學習11主成分分析

降維(Dimensionality Reduction) &#xff1a; 一、 降維目的&#xff1a; 目的一&#xff1a;數據壓縮&#xff08;Data Compression&#xff09; 目的二&#xff1a;數據可視化&#xff08;Visualization&#xff09; 二、 主成分分析&#xff08;PCA&#xff09; 主成分…

使用Apriori進行關聯分析(一)

使用Apriori進行關聯分析&#xff08;一&#xff09;大型超市有海量交易數據&#xff0c;我們可以通過聚類算法尋找購買相似物品的人群&#xff0c;從而為特定人群提供更具個性化的服務。但是對于超市來講&#xff0c;更有價值的是如何找出商品的隱藏關聯&#xff0c;從而打包促…

主成分分析法 (PCA) 用于數據可視化實驗 -- Matlab版

第一步&#xff1a;下載數據集。 https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/multiclass.html#pendigits 第二步&#xff1a;改變數據格式。 注&#xff1a;此數據集的各特征值均為像素&#xff0c;即屬于同一量綱&#xff0c;故無需歸一化步驟。 原格式為&a…