十大機器學習演算法之AdaBoost

2021-07-22 20:57:57 字數 1360 閱讀 2989

adaboost是一種迭代演算法,核心思想是針對同乙個訓練集去訓練多個不同的分類器(弱分類器),訓練完畢之後,把所有這些弱分類器進行融合得到最終的分類器(強分類器)。

演算法本身是通過改變資料分布來實現的,首先根據每次訓練結束之後每個樣本是否分類正確然後賦予不同的權重,然後把新的資料集傳遞到下一層訓練下乙個分類器,最終把所有的分類器融合起來,作為最後的分類器進行使用,進行決策。使用adaboost分類器可以排除掉一些不必要的訓練資料特徵,(在分類中是把分類錯誤的資料集賦予較小的權重實現)把分類的關鍵放在關鍵的訓練資料上面。

①首先通過對n個樣本的學習得到第乙個分類器。

②將①中分類錯誤的樣本和其他的新資料一起構成乙個新的n個訓練樣本,進行學習,得到第二個分類器

③將①和②中分錯的樣本加上其他的新樣本重新構成乙個新的資料量為n的訓練樣本,進行學習,得到第三個分類器

④最終,把所有的弱分類器進行融合,得到我們最終需要的分類器。

①如何調整訓練集,使得在訓練集上訓練弱分類器得以進行?

②如何將訓練得到的各個弱分類器聯合起來形成強分類器?

解決辦法:

①:使用加權後選取的訓練資料集代替隨機選擇的訓練樣本,這樣將訓練的焦點集中在比較難分的訓練資料樣本之上。

②:將弱分類器聯合起來使用加權的投票機制代替平均投票機制,讓分類效果好的弱分類器得到比較大的權重,而差的弱分類器的權重相應減小一些。

adaboost結構,最後的分類器ym是由多個弱分類器組合而成的,相當於最後m個弱分類器來投票決定分類,而每個弱分類器的「話語權」——權重α不同。

具體過程:

1、初始化所有訓練樣例的權重為1/n,其中n為樣例數。

2、for m=1,…,m

a)訓練弱分類器y1,使其最小化權重誤差函式:

b)計算弱分類器的權重係數α:

c)更新權重

zm是規範化因子,使所有w和為1;

3、得到最後的分類器

原理:可以看到整個過程和途中是一樣的,前乙個分類器改變權重w,同時組成最後的分類器,如果乙個訓練樣例在前乙個分類器中被誤分,那麼它的權重會增加,相應地,被正確分類的樣例的權重會減小,使下乙個分類器會更在意被分類錯誤的樣例。

博主好懶,字不想打了,直接附上自己的筆記了~~~(字是真的好醜~~!)

本演算法到此完結~~~沒有下文

機器學習之十大機器學習演算法

邏輯回歸 機器學習實戰書籍和 分享 pca簡介 機器學習演算法篇 從為什麼梯度方向是函式變化率最快方向詳談梯度下降演算法 資源 有沒有必要把機器學習演算法自己實現一遍?推薦 用python實現 pattern recognition and machine learning 裡的演算法 推薦 斯坦福...

機器學習十大演算法之KNN

一 概述 knn是通過測量不同特徵值之間的距離進行分類。它的思路是 如果乙個樣本在特徵空間中的k個最相似 即特徵空間中最鄰近 的樣本中的大多數屬於某乙個類別,則該樣本也屬於這個類別,其中k通常是不大於20的整數。knn演算法中,所選擇的鄰居都是已經正確分類的物件。該方法在定類決策上只依據最鄰近的乙個...

機器學習十大常用演算法

根據一些 feature 進行分類,每個節點提乙個問題,通過判斷,將資料分為兩類,再繼續提問。這些問題是根據已有資料學習出來的,再投入新資料的時候,就可以根據這棵樹上的問題,將資料劃分到合適的葉子上。在源資料中隨機選取資料,組成幾個子集源資料,這幾個子集得到幾個決策樹,將新資料投入到這 m 個樹中,...