Adboost演算法(未完待續)

2021-08-21 21:36:26 字數 2084 閱讀 1516

整合學習通過構建並結合多個學習器來完成學習任務,有時也被稱為多分類器系統。整合學習通過將多個學習器進行結合,常可獲得比單一學習器顯著優越的泛化效能。下面從兩個方面對整合學習進行簡要介紹、

adaboost是最著名的boosting族演算法。開始時,所有樣本的權重相同,訓練得到第乙個基分類器。從第二輪開始,每輪開始前都先根據上一輪基分類器的分類效果調整每個樣本的權重,上一輪分錯的樣本權重提高,分對的樣本權重降低。之後根據新得到樣本的權重指導本輪中的基分類器訓練,即在考慮樣本不同權重的情況下得到本輪錯誤率最低的基分類器。重複以上步驟直至訓練到約定的輪數結束,每一輪訓練得到乙個基分類器。

可以想象到,遠離邊界(超平面)的樣本點總是分類正確,而分類邊界附近的樣本點總是有大概率被弱分類器(基分類器)分錯,所以權值會變高,即邊界附近的樣本點會在分類時得到更多的重視。

給定資料集d,我們採用adaboost演算法來學習得到乙個強分類器x0

1234

5678

9y11

1-1-11

111-1

資料集d共有10條資料,根據x的輸入得到的y可以分類兩類,即y=1與y=-1。我們每一輪使用最簡單的決策樹樁來構建基分類器,即每輪設定乙個閾值θ,只要x<θ,就判定為正類(y=1),x>θ就判定為負類(y=-1)。

round 1α1α1

第一層基分類器h1h1

的權重α

1 α

1的計算推到方法後面的推導部分再細說,此處只要知道通過如下的公式來計算即可: α1

=12log1−

ϵ1ϵ1

=0.4236α1

=1

2log⁡1

−ϵ1ϵ

1=

0.4236

h(x),

pa(d

) h(x

),pa

(d

)根據公式計算h(x)h

(x

),此時t為1: h(

x)=∑

t=1t

αtht

(x) h(x

)=∑t

=1tα

tht(

x)

h(x)=h(

x)=s

ign(

h(x))=s

ign(

h(x)

)=

當前整個模型準確率為:pa

(d)=

0.7 pa(

d)

=0.7

至此第一輪的工作就結束了,可以看出被誤分類樣本的權值之和影響誤差率,誤差率影響基分類器在最終分類器中所佔的權重。

round 2

第三輪推導adaboost演算法可以認為是一種模型為加法模型、損失函式為指數函式、學習演算法為前向分步演算法的而分類學習方法。在對αt

α

t和dt

d

t進行推導前,我們先對加法模型和前向分步演算法進行簡要介紹。

- 加法模型

加法模型定義如下: f(

x)=∑

m=1m

βmb(

x;γm

) f(x

)=∑m

=1mβ

mb(x

;γm)

其中,b(

x;γm

) b(x;

γm

)為基函式,βm

β

m為基函式的係數,γm

γ

m為基函式的引數。在給定訓練資料及損失函式l(

y,f(

x)) l(y

,f(x

))

的條件下,學習加法模型f(

x)f (x

)成為經驗風險極小化,即損失函式極小化的問題:

minβm,

γm∑i

=1nl

(yi,

∑m=1

mβmb

(x;γ

m)) minβm

,γm∑

i=1n

l(yi

,∑m=

1mβm

b(x;

γm))

這通常是乙個極其複雜的優化問題,因為需要同時考慮所有基函式與其權重的選取來令目標最小化。

nginx 未完待續

yum install y pcre yum install y pcre devel yum install y openssl yum install y openssl devel yum install y zlib yum install y gccyum安裝 yum install y ...

sqlparse(未完待續)

sqlparse.split sql,encoding none sql 包含乙個或多個sql語句的字串 encoding 語句的編碼 可選 sql select from foo select from bar sql list sqlparse.split sql print sql list ...

CALayer使用(未完待續)

一 什麼是calayer?在ios系統中,你能看得到摸得著的東西基本都是uiview。比如乙個按鈕 乙個文字標籤 乙個文字輸入框 乙個圖示等等,這些都是uiview。其實uiview之所以顯示在螢幕上,完全是因為它內部的乙個層。在建立uiview物件時,uiview內部會自動建立乙個層 即calay...