1. 程式人生 > >機器學習實戰----利用AdaBoost元演算法的實現

機器學習實戰----利用AdaBoost元演算法的實現

整理一下寫的非常好的關於AdaBoost演算法的部落格:

1.1 基於第一步,因此外層迴圈即為資料集特徵的迴圈;
1.1.1 如果是按照第一個特徵來劃分類別,那麼第一個特徵點中存在節點,即樹的左右分支,這個時候怎樣判斷是左還是右呢?
1.1.2 首先根據資料大小跟定一個閾值T,這裡我們T=minx+INT*stup,即最小特徵值(第一個座標的最小值或者。。。。。)+(1,2,3,4,5.....)*步長,這個閾值隨著整數值INT的改變而迴圈改變;大於閾值T的則為“rt”,反之則為“lt”;
1.1.3判斷錯誤率,初始化一個5*1的列向量e,全部為1,如果預測結果和標籤相同,則將初始化對應的值修改為0,最後再用一個權重向量D.T*e,這個值即為最後的錯誤率,如果這個錯誤率小於一定的閾值,即為最有的決策樹。
1.1.4 這裡要比較每個閾值T的結果是"rt"和"lt"的錯誤率,同時你還要判斷大迴圈中第一個特徵的錯誤率,或者第二個特徵的錯誤率;

《機器學習實戰》這本書上的程式碼就是利用了這一公式,自己理解半天沒懂,這篇部落格幫了大忙。


推導+案例