31
データマイニング クラス分類(III) - AdaBoost クロスバリデーション 瀬々 潤 [email protected]

Datamining 4th adaboost

  • Upload
    sesejun

  • View
    1.101

  • Download
    1

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Datamining 4th adaboost

データマイニングクラス分類(III) - AdaBoostクロスバリデーション

瀬々 潤[email protected]

Page 2: Datamining 4th adaboost

クロスバリデーション

Page 3: Datamining 4th adaboost

擬似的なテストデータ• 訓練データとテストデータがある,と言ったが多くの例で

はテストデータは本当に当てたいもの• 本当の予測をするまえに,分類手法の精度を測りたい• 治療効果の分からない手術はできないのと同様

• 訓練データの一部を,擬似的にテストデータと見なして,正答率のチェックを行う• 擬似的なテストデータを用いることで,正答率の見積も

りを出す• 訓練データ全体を使って,訓練データの予測が高くなるよ

うに学習させる例をみかけるが,これはオーバーフィットを招くので,訓練データとは独立したテストデータを用意する必要がある.

Page 4: Datamining 4th adaboost

クロスバリデーション(交差検証,Cross Validation)

• 様々な手法,様々なパラメータのうち,最も正答率の良いルールを生成する手法&パラメータを求めたい• 決定木の枝刈りをどこで止めるか決めたい• AdaBoostのWeakLearnerの数を決めたい• K-最近点分類の,最も良いKを求めたい時,など.• クロスバリデーションを行い,正答率を計算する• 元データから複数の訓練データ&テストデータを選び,何度も正答率を調べる• それらの正答率の平均値を,選んだ手法(変数)の正答率とする• 最も正答率の高い変数の値を最終的に選択する• 訓練データ&テストデータの選択方法として,主に,次の2つの方法がある• n-フォールドクロスバリデーション• Leave-one-out クロスバリデーション

Page 5: Datamining 4th adaboost

• n-fold cross validation• 与えられたサンプルをn個のグループに均等に分ける• n-1グループを訓練データ,残りの1グループをテストデータとして,正答率を求める• グループをn種類選択し,それぞれ正答率を求める.• 正答率の平均を求める

1

2

3

4

56

7

8

9 1

2

3

4 5

6 78

9

A

B

C

訓練データ テストデータ

24 5 A

6 78 B

139 C

13

6 78

9

B

C

24 5 A

24 5 A

139 C

6 78 B

3-fold cross validation の例

各四角はサンプルを表す

Page 6: Datamining 4th adaboost

• leave-one-out cross validation • 与えられたn個のサンプルをn個のグループに分けたn-fold cross validation

1

2

3

4

56

7

8

9

1 2 3 4 5 6 7 8 9

訓練データ テストデータ

1 2 3 4 5 6 7 89

1 2 3 4 5 6 78 9

1 2 3 4 5 67 8 9

1 2 3 4 56 7 8 9

1 2 3 45 6 7 8 9

1 2 4 35 6 7 8 9

1 3 4 25 6 7 8 9

2 3 4 15 6 7 8 9

leave-one-out の例

9回ルールの作成&正答率の調査を行う

Page 7: Datamining 4th adaboost

オーバーフィット(Over Fit)• クロスバリデーションは,オーバーフィットを防げる事がある• もし,訓練データを完全に信用して「良い」ルールを作成すると,訓練データに偏ったルールが生成されてしまう.• →オーバーフィットと呼ぶ

モデルを作成

訓練データ

モデルを作成 オーバーフィット

と思われるモデル

比較的適切なモデルモデルは訓練データを完全に正しく分割できる

必要はない

7

Page 8: Datamining 4th adaboost

アダブースト

Page 9: Datamining 4th adaboost

アダブースト(AdaBoost)• 決定木,Naive Bayes同様,Yes, Noの属性(テスト)と○,×のクラスが訓練データとして与えられているとする.• 説明の都合上,クラスは○と×ではなく,1と0とする

• 「3人寄れば文殊の知恵」の発想で作られる分類器• 重み付き分類器(Weighted Voting)と呼ばれる分類器の一種(発展版)• 一般の重み付き分類器は,属性に重みを付ける

• どの属性が重要かを判定する• 決定木なら選択する属性、ナイーブベイズなら属性の確率

• アダブーストでは,サンプル毎に重みをつける• どのサンプルが重要かを判定する

• 訓練データにおいて,エラー率が限りなく0に近い分類器を作成できることが,理論的に保証されている

Page 10: Datamining 4th adaboost

利用する訓練データ

• クラスを1と0にしてある• サンプルの個数をN個• 訓練データは,          と表す。たとえばCは(Xi, ci)(i = 1, . . . , N)

ID C:コンタクト T1:30才未満 T2:近視 T3:乱視 T4:ドライアイA 1 YES YES YES YESB 1 YES YES NO YESC 1 NO YES YES YESD 1 NO YES NO YESE 0 YES YES YES NOF 0 YES YES NO NOG 0 NO NO NO NOH 0 NO NO NO YESI 0 NO NO NO NOJ 0 NO NO NO YES

XC = (No,Yes,Yes,Yes), cC = 1

Page 11: Datamining 4th adaboost

初期化• R: 最終的に組み合わせる分類器の個数.

• この数が大きい程,良い分類器(ルール)が作成できる代わりに,生成に時間がかかる

• 初期状態として,各サンプルに均等に重みを割り当てる.• サンプルiの初期の重みを  で表す.• 初期状態で,重みは全サンプルで均等であって欲しい.サンプルの個数はNなので,

• 例題の訓練データでは,10個のサンプルがあるので,

w1i

w1i = 1/N (i = 1, . . . , N)

w1i = 1/10

Page 12: Datamining 4th adaboost

• 各t=1,...,Rに対し次のステップを繰り返す1. 正規化: t回目の繰り返しで正規化したサンプルiの重みを  とする.

• t=1の時は,     なので,

pti pt

i =wt

i�Ni=1 wt

i

N�

i=1

wti = 1

2. 何らかの学習アルゴリズムWeakLearnerを用意する.WeakLearnerを使い,次の条件(    )を満たす仮説htを求め,重み付きエラー率 を計算する

�t =N�

i=1

pti |ht(Xi)− ci| < 1/2

��ht(Xi)− ci

�� =�

0, ht(Xi) ci

1,と が一致する時

それ以外

ここで

Step 3へ続く

p1i = w1

i = 1/10

�t < 1/2�t

Page 13: Datamining 4th adaboost

• t=1の時を考える.WeakLearnerが仮説として,下記を検討したとする.

IDが A~F のサンプルは h1(Xi) = 1

E,F 以外はh1(Xi)=ci.D,Jはci=0で不一致IDが G,H,I,J のサンプルは h1(Xi) = 0

 全て一致以上より,WeakLearnerの仮説では,10サンプル中2サンプルが誤り.      より,

よって,属性T2による予測はWeakLearnerとして採用できる

属性 T2=Yes の時,クラスC=1,属性T2=No の時,クラスC=0

ID C:コンタクト T2:近視A 1 YESB 1 YESC 1 YESD 1 YESE 0 YESF 0 YESG 0 NOH 0 NOI 0 NOJ 0 NO

p1i = 1/10

�1 = 1/10× 2 = 1/5 < 1/2

Page 14: Datamining 4th adaboost

3. 重み   を更新する.重み変更の度合いとしてβtを作成する

• βを使い重みを更新する

• エラーεtが小さいとβtも小さくなり,一気に重みが下がる.• εtが大きいとβtも大きくなり,重みの変更が小さくなる• 重みの更新は,WeakLearnerの予測ht が正しいサンプルのみ行われ,正しくないサンプルでは,更新が起こらない

wt+1i

βt =�t

1− �t0 ≤ �t < 1/2, 0 ≤ βt < 1より

wt+1i = wt

iβ1−|ht(Xi)−ci|t

Page 15: Datamining 4th adaboost

• 例題で実際に計算してみる.t=1の場合を考える.

• サンプルA~D, G~J では予測htが実際のクラスと一致,E, F

ではクラスと異なるので,

�1 = 0.2β1 =

�11− �1

= 0.2/0.8 = 0.25

ID C T2:近視 w^1_i h_1 w^2_i

A 1 YES 0.1 1 0.025B 1 YES 0.1 1 0.025C 1 YES 0.1 1 0.025D 1 YES 0.1 1 0.025E 0 YES 0.1 1 0.1F 0 YES 0.1 1 0.1G 0 NO 0.1 0 0.025H 0 NO 0.1 0 0.025I 0 NO 0.1 0 0.025J 0 NO 0.1 0 0.025

w2A

= w2B

= w2C

= w2D

= w2G

= w2H

= w2I

= w2J

= 1/10× β11 = 0.025

w2E

= w2F

= 1/10× β01 = 0.1

Page 16: Datamining 4th adaboost

• t=1の計算では,WeakLearnerとしてT2を選択した• どのようなWeakLearnerを選択するのが良い?

• 重みが一気に下がる,重み付きエラーの少ないWeakLearner

• ここでは,シンプルに最も重み付きエラーの少ない属性をWeakLearnerとして選択しよう

• t=1で最も重み付きエラーの少ない属性を選択してみよう

• 属性T1がYesの時のε1をε1(T1=Yes)と書く

WeakLearnerの選択

Page 17: Datamining 4th adaboost

より

よってT2=Yes もしくは、T4=Yesが最も良い。ここでは、T2を選ぼう。

ID C:コンタクト T1:30才未満 T2:近視 T3:乱視 T4:ドライアイA 1 YES YES YES YESB 1 YES YES NO YESC 1 NO YES YES YESD 1 NO YES NO YESE 0 YES YES YES NOF 0 YES YES NO NOG 0 NO NO NO NOH 0 NO NO NO YESI 0 NO NO NO NOJ 0 NO NO NO YES

p1i = 1/10(i ∈ {A,B, ..., J})

�1(T1 = Yes) =110× 4 = 0.4

�1(T2 = Yes) =110× 2 = 0.2

�1(T3 = Yes) =110× 3 = 0.3

�1(T4 = Yes) =110× 2 = 0.2

Page 18: Datamining 4th adaboost

• t=2の場合

• この重みを考慮して,WeakLearnerを選択する

より

及び

よってT4=Yesが最も良い

w2A

= w2B

= w2C

= w2D

= w2G

= w2H

= w2I

= w2J

= 1/10× β11 = 0.025

w2E

= w2F

= 1/10× β01 = 0.1

i∈{A,...,J}

w2i = 0.400

p2A

= p2B

= p2C

= p2D

= p2G

= p2H

= p2I

= p2J

= 0.025/0.400 = 0.0625p2

E= p2

F= 0.1/0.400 = 0.25

�2(T1 = Yes) = 0.0625× 2 + 0.25× 2 = 0.625�2(T1 = No) = 0.375

�2(T2 = Yes) = 0.25 + 0.25 = 0.5�2(T3 = Yes) = 0.0625× 2 + 0.25× 1 = 0.3125�2(T4 = Yes) = 0.0625× 2 = 0.125

Page 19: Datamining 4th adaboost

ID C T2:近視 w^1_i h_1(T2=Yes)

w^2_i h_2(T4=Yes)

w^3_i

A 1 YES 0.1 1 0.025 1 0.00358

B 1 YES 0.1 1 0.025 1 0.00358

C 1 YES 0.1 1 0.025 1 0.00358

D 1 YES 0.1 1 0.025 1 0.00358

E 0 YES 0.1 1 0.1 0 0.0143

F 0 YES 0.1 1 0.1 0 0.0143

G 0 NO 0.1 0 0.025 0 0.00358

H 0 NO 0.1 0 0.025 1 0.025

I 0 NO 0.1 0 0.025 0 0.00358

J 0 NO 0.1 0 0.025 1 0.025

β2 = �2/(1− �2) = 0.143

Page 20: Datamining 4th adaboost

求めた重みから最終仮説を求める

• 仮説の(対数付き)重み付き平均より大きかったら予測は1, 小さかったら予測は0

• Logの底は何でも良い

• エラー率εtが0に近づくと,βtもゼロに近づく.-Log βtは値が大きくなり,WeakLearnerによる仮説ht(X)が支配的になる.

• 一方,エラー率が増えると-Log βtは小さくなり ht(X)の値の影響が小さくなる.

βt =�t

1− �t

hf (X) =�

1 if�R

t=1(− log10 βt)ht(X) ≥�

(− log10 βt) 12

0 othrewise

Page 21: Datamining 4th adaboost

重み付き平均を計算する

• この値以上なら,予測は1. 未満なら予測0

β1 = 0.25,β2 = 0.143

2�

t=1

(− log βt)12

= − log10 0.25× 12− log10 0.143× 1

2= 0.723

Page 22: Datamining 4th adaboost

サンプルのクラス予測

• h1: T2=Yesの時C=1, h2: T4=Yesの時C=1

• サンプルKで予測を行うと,

• サンプルLで予測を行うと

0.723 より大きいので予測は○

ID コンタクト h1:30才未満 h2:近視 h3:乱視 h4:ドライアイ

K ? NO NO YES NOL ? NO YES NO NO

2�

t=1

(− log βt)ht(XK)

= − log10 0.25× 0− log10 0.143× 1= 0.845

2�

t=1

(− log βt)ht(XL)

= − log10 0.25× 1− log10 0.143× 0= 0.602 0.723 より小さいので予測は×

Page 23: Datamining 4th adaboost

AdaBoostで学習が進む証明• 最終仮説hfに対するエラー率εを次のように定義する.

• は,訓練データ上の初期の重み• 以下が成立することを証明する.εtはt回目の仮説のエラー

• t回目の仮説のエラー率εt<1/2なので,

• よって上の式が成立すれば,WeakLearnerの数を増やすと,急速にエラー率εは減少する

� =�

{i|hf (Xi)�=yi}

D(i)

D(i)

� ≤R�

t=1

2�

�t(1− �t)

2�

�t(1− �t) < 1

Page 24: Datamining 4th adaboost

• 補題1

• R番目までの分類器の重みとR+1番目までの各サンプルのエラー率に関し,次の不等式が成立する.

• 証明• N�

i=1

wR+1i ≥

{i|hf (Xi) �=yi}

wR+1i

N�

i=1

wR+1i ≥ �

�R�

t=1

βt

�1/2

wt+1i = wt

iβ1−|hf (Xi)−yi|i

{i|hf (Xi)�=yi}

wt+1i =

{i|hf (Xi) �=yi}

�D(i)

R�

t=1

β1−|hf (Xi)−yi|t

�より

Page 25: Datamining 4th adaboost

hf (Xi) = 1 yi = 0,かつ の場合hf(Xi)=1なので,最終仮説hfが間違っている場合は2通りあり,それぞれを考える

5.6. アダブースト 173

wt+1i = wt

i!1!|hf (Xi)!yi|i

より

!

{i|hf (Xi)"=yi}

wt+1i =

!

{i|hf (Xi)"=yi}

"D(i)

R#

t=1

!1!|hf (Xi)!yi|t

$

ここで,R#

t=1

!1!|hf (Xi)!yi|t

を計算する.最終仮説 hf が誤って予想するサンプル (hf (Xi) != yi)について考えると,仮説が間違う場合は,hf (Xi) = 1かつ yi = 0の時と,hf (Xi) = 0かつ yi = 1の時の 2通りがある.

hf (Xi) = 1かつ yi = 0の場合を考えると,式 5.1よりR!

t=1

(" log !t)hf (Xi) #R!

t=1

(" log !t)12

両辺に%R

t=1(log !t)を加算し,R!

t=1

(log !t)(1 " hf (Xi)) #R!

t=1

(log !t)12

1 " hf (Xi) = 1" | hf (Xi) " yi | に注意し,変形すると,

R#

t=1

!1!|hf (Xi)!yi|t #

"R#

t=1

!t

$1/2

次に,hf (Xi) = 0かつ yi = 1の場合を考える.式 5.1よりR!

t=1

(" log !t)ht(Xi) <R!

t=1

(" log !t)12

である.両辺に "1を乗じ hf (Xi) = 1" | ht(Xi) " yi | に注意すると,

5.6. アダブースト 173

wt+1i = wt

i!1!|hf (Xi)!yi|i

より

!

{i|hf (Xi)"=yi}

wt+1i =

!

{i|hf (Xi)"=yi}

"D(i)

R#

t=1

!1!|hf (Xi)!yi|t

$

ここで,R#

t=1

!1!|hf (Xi)!yi|t

を計算する.最終仮説 hf が誤って予想するサンプル (hf (Xi) != yi)について考えると,仮説が間違う場合は,hf (Xi) = 1かつ yi = 0の時と,hf (Xi) = 0かつ yi = 1の時の 2通りがある.

hf (Xi) = 1かつ yi = 0の場合を考えると,式 5.1よりR!

t=1

(" log !t)hf (Xi) #R!

t=1

(" log !t)12

両辺に%R

t=1(log !t)を加算し,R!

t=1

(log !t)(1 " hf (Xi)) #R!

t=1

(log !t)12

1 " hf (Xi) = 1" | hf (Xi) " yi | に注意し,変形すると,

R#

t=1

!1!|hf (Xi)!yi|t #

"R#

t=1

!t

$1/2

次に,hf (Xi) = 0かつ yi = 1の場合を考える.式 5.1よりR!

t=1

(" log !t)ht(Xi) <R!

t=1

(" log !t)12

である.両辺に "1を乗じ hf (Xi) = 1" | ht(Xi) " yi | に注意すると,

を計算する

Page 26: Datamining 4th adaboost

hf (Xi) = 0 yi = 1 の場合かつ

5.6. アダブースト 173

wt+1i = wt

i!1!|hf (Xi)!yi|i

より

!

{i|hf (Xi)"=yi}

wt+1i =

!

{i|hf (Xi)"=yi}

"D(i)

R#

t=1

!1!|hf (Xi)!yi|t

$

ここで,R#

t=1

!1!|hf (Xi)!yi|t

を計算する.最終仮説 hf が誤って予想するサンプル (hf (Xi) != yi)について考えると,仮説が間違う場合は,hf (Xi) = 1かつ yi = 0の時と,hf (Xi) = 0かつ yi = 1の時の 2通りがある.

hf (Xi) = 1かつ yi = 0の場合を考えると,式 5.1よりR!

t=1

(" log !t)hf (Xi) #R!

t=1

(" log !t)12

両辺に%R

t=1(log !t)を加算し,R!

t=1

(log !t)(1 " hf (Xi)) #R!

t=1

(log !t)12

1 " hf (Xi) = 1" | hf (Xi) " yi | に注意し,変形すると,

R#

t=1

!1!|hf (Xi)!yi|t #

"R#

t=1

!t

$1/2

次に,hf (Xi) = 0かつ yi = 1の場合を考える.式 5.1よりR!

t=1

(" log !t)ht(Xi) <R!

t=1

(" log !t)12

である.両辺に "1を乗じ hf (Xi) = 1" | ht(Xi) " yi | に注意すると,174 第 5章 離散値のクラス分類問題

R!

t=1

!1!|ht(Xi)!yi|t >

"R!

t=1

!t

# 12

以上より,仮説が間違う hf (Xi) = 1かつ yi = 0の時と,hf (Xi) = 0かつyi = 1の何れの場合でも,

R!

t=1

!1!|ht(Xi)!yi|t !

"R!

t=1

!t

# 12

が成立する.この不等式を,式 5.2に代入し,

$

{i|hf (Xi) "=yi}

"D(i)

R!

t=1

!1!|hf (Xi)!yi|t

#!

$

{i|hf (Xi) "=yi}

%

&D(i)

"R!

t=1

!t

# 12'

(

=

%

&$

{i|hf (Xi)"=yi}

D(i)

'

("

R!

t=1

!t

# 12

よって,

$

{i|hf (Xi)"=yi}

wR+1i !

%

&$

{i|hf (Xi)"=yi}

D(i)

'

("

R!

t=1

!t

# 12

= " ·"

R!

t=1

!t

# 12

補題 5.2 各サンプルに付いての重みについて,次の不等式がなりたつ.N$

i=1

wt+1i !

"N$

i=1

wti

#" 2"i

証明: # ! 0および r = {0, 1}より

#r # 1 $ (1 $ #)r

となるので,次の不等式が計算できる.

よっていずれの場合も,同一の式が成立する

Page 27: Datamining 4th adaboost

174 第 5章 離散値のクラス分類問題

R!

t=1

!1!|ht(Xi)!yi|t >

"R!

t=1

!t

# 12

以上より,仮説が間違う hf (Xi) = 1かつ yi = 0の時と,hf (Xi) = 0かつyi = 1の何れの場合でも,

R!

t=1

!1!|ht(Xi)!yi|t !

"R!

t=1

!t

# 12

が成立する.この不等式を,式 5.2に代入し,

$

{i|hf (Xi) "=yi}

"D(i)

R!

t=1

!1!|hf (Xi)!yi|t

#!

$

{i|hf (Xi) "=yi}

%

&D(i)

"R!

t=1

!t

# 12'

(

=

%

&$

{i|hf (Xi)"=yi}

D(i)

'

("

R!

t=1

!t

# 12

よって,

$

{i|hf (Xi)"=yi}

wR+1i !

%

&$

{i|hf (Xi)"=yi}

D(i)

'

("

R!

t=1

!t

# 12

= " ·"

R!

t=1

!t

# 12

補題 5.2 各サンプルに付いての重みについて,次の不等式がなりたつ.N$

i=1

wt+1i !

"N$

i=1

wti

#" 2"i

証明: # ! 0および r = {0, 1}より

#r # 1 $ (1 $ #)r

となるので,次の不等式が計算できる.

証明終

Page 28: Datamining 4th adaboost

• 補題2

• 各サンプルの重みに関して,次の式が成立する

• 証明

174 第 5章 離散値のクラス分類問題

R!

t=1

!1!|ht(Xi)!yi|t >

"R!

t=1

!t

# 12

以上より,仮説が間違う hf (Xi) = 1かつ yi = 0の時と,hf (Xi) = 0かつyi = 1の何れの場合でも,

R!

t=1

!1!|ht(Xi)!yi|t !

"R!

t=1

!t

# 12

が成立する.この不等式を,式 5.2に代入し,

$

{i|hf (Xi) "=yi}

"D(i)

R!

t=1

!1!|hf (Xi)!yi|t

#!

$

{i|hf (Xi) "=yi}

%

&D(i)

"R!

t=1

!t

# 12'

(

=

%

&$

{i|hf (Xi)"=yi}

D(i)

'

("

R!

t=1

!t

# 12

よって,

$

{i|hf (Xi)"=yi}

wR+1i !

%

&$

{i|hf (Xi)"=yi}

D(i)

'

("

R!

t=1

!t

# 12

= " ·"

R!

t=1

!t

# 12

補題 5.2 各サンプルに付いての重みについて,次の不等式がなりたつ.N$

i=1

wt+1i !

"N$

i=1

wti

#" 2"i

証明: # ! 0および r = {0, 1}より

#r # 1 $ (1 $ #)r

となるので,次の不等式が計算できる.

174 第 5章 離散値のクラス分類問題

R!

t=1

!1!|ht(Xi)!yi|t >

"R!

t=1

!t

# 12

以上より,仮説が間違う hf (Xi) = 1かつ yi = 0の時と,hf (Xi) = 0かつyi = 1の何れの場合でも,

R!

t=1

!1!|ht(Xi)!yi|t !

"R!

t=1

!t

# 12

が成立する.この不等式を,式 5.2に代入し,

$

{i|hf (Xi) "=yi}

"D(i)

R!

t=1

!1!|hf (Xi)!yi|t

#!

$

{i|hf (Xi) "=yi}

%

&D(i)

"R!

t=1

!t

# 12'

(

=

%

&$

{i|hf (Xi)"=yi}

D(i)

'

("

R!

t=1

!t

# 12

よって,

$

{i|hf (Xi)"=yi}

wR+1i !

%

&$

{i|hf (Xi)"=yi}

D(i)

'

("

R!

t=1

!t

# 12

= " ·"

R!

t=1

!t

# 12

補題 5.2 各サンプルに付いての重みについて,次の不等式がなりたつ.N$

i=1

wt+1i !

"N$

i=1

wti

#" 2"i

証明: # ! 0および r = {0, 1}より

#r # 1 $ (1 $ #)r

となるので,次の不等式が計算できる.を利用することで,次ページの式変形が成り立つ

Page 29: Datamining 4th adaboost

5.6. アダブースト 175

N!

i=1

wt+1i =

N!

i=1

wti!

1!|ht(Xi)!yi|t

!N!

i=1

wti(1 " (1 " !t)(1 " |ht(Xi) " yi|))

=N!

i=1

wti " (1 " !t)

"N!

i=1

wti "

N!

i=1

wti |ht(Xi) " yi|

#

=N!

i=1

wti " (1 " !t)

"N!

i=1

wti " "t

N!

i=1

wti

#

=N!

i=1

wti " (1 " !t)

"N!

i=1

wti

#(1 " "t)

=

"N!

i=1

wti

## (1 " (1 " !t)(1 " "t))

更に,!t = "t/(1 " "t)なので,

=

"N!

i=1

wti

## 2"t

定理 5.3 "t を t回目の繰り返しで WeakLearnerが出した仮説のエラー率とする.このとき,最終仮説 hf のエラー率 "が以下の不等式を満たす.

" !R$

t=1

2%

"t(1 " "t)

証明: 補題 5.1および補題 5.2より次の不等式が成り立つ.

"

"R$

t=1

!t

#1/2

!N!

i=1

wR+1i (補題 5.1より)

!"

N!

i=1

wRi

## 2"t(補題 5.2より)

補題 5.2を,t = R " 1, R " 2, . . . , 1に順に適用して

!"

N!

i=1

w1i

#R$

t=1

2"t

証明終

Page 30: Datamining 4th adaboost

• 定理

• εtをt回目の繰り返しでWeakLearnerが出した仮説のエラー率とする.このとき,最終仮説hfのエラー率εは,次式を満たす

• 証明

5.6. アダブースト 175

N!

i=1

wt+1i =

N!

i=1

wti!

1!|ht(Xi)!yi|t

!N!

i=1

wti(1 " (1 " !t)(1 " |ht(Xi) " yi|))

=N!

i=1

wti " (1 " !t)

"N!

i=1

wti "

N!

i=1

wti |ht(Xi) " yi|

#

=N!

i=1

wti " (1 " !t)

"N!

i=1

wti " "t

N!

i=1

wti

#

=N!

i=1

wti " (1 " !t)

"N!

i=1

wti

#(1 " "t)

=

"N!

i=1

wti

## (1 " (1 " !t)(1 " "t))

更に,!t = "t/(1 " "t)なので,

=

"N!

i=1

wti

## 2"t

定理 5.3 "t を t回目の繰り返しで WeakLearnerが出した仮説のエラー率とする.このとき,最終仮説 hf のエラー率 "が以下の不等式を満たす.

" !R$

t=1

2%

"t(1 " "t)

証明: 補題 5.1および補題 5.2より次の不等式が成り立つ.

"

"R$

t=1

!t

#1/2

!N!

i=1

wR+1i (補題 5.1より)

!"

N!

i=1

wRi

## 2"t(補題 5.2より)

補題 5.2を,t = R " 1, R " 2, . . . , 1に順に適用して

!"

N!

i=1

w1i

#R$

t=1

2"t

�R�

t=1

βt

�1/2

≤N�

i=1

wR+1i ≤

�N�

i=1

wRi

�× 2�t ≤

�N�

i=1

w1i

�R�

t=1

2�t

N�

i=1

w1i = 1

=R�

t=1

2�t

なので

βt = �t/(1− �t)

� ≤R�

t=1

�2�t × β−1/2

t

�=

R�

t=1

2�

�t(1− �t)

と,上の不等式より

証明終

Page 31: Datamining 4th adaboost

• 「3人寄れば文殊の知恵」の発想で作られる分類器• でも集まる人が重要なので,集まる人を選ぶ

• =サンプル毎に重みを付ける• 重み付き分類器(Weighted Voting)と呼ばれる分類器の一種

• 訓練データにおいて,エラー率が限りなく0に近い分類器を作成できることが,理論的に保証されている

• WeakLearnerを任意に選べるので,WeakLearnerとして,今まで紹介した,決定木,NaiveBayesや,今後紹介するK-NN,

SVMなども利用が可能• 複数のクラス分類手法を組み合わせた学習(=Ensemble

Learning)の土台となることができる.

AdaBoostのまとめ