Download - Datamining 4th adaboost
データマイニングクラス分類(III) - AdaBoostクロスバリデーション
クロスバリデーション
擬似的なテストデータ• 訓練データとテストデータがある,と言ったが多くの例で
はテストデータは本当に当てたいもの• 本当の予測をするまえに,分類手法の精度を測りたい• 治療効果の分からない手術はできないのと同様
• 訓練データの一部を,擬似的にテストデータと見なして,正答率のチェックを行う• 擬似的なテストデータを用いることで,正答率の見積も
りを出す• 訓練データ全体を使って,訓練データの予測が高くなるよ
うに学習させる例をみかけるが,これはオーバーフィットを招くので,訓練データとは独立したテストデータを用意する必要がある.
クロスバリデーション(交差検証,Cross Validation)
• 様々な手法,様々なパラメータのうち,最も正答率の良いルールを生成する手法&パラメータを求めたい• 決定木の枝刈りをどこで止めるか決めたい• AdaBoostのWeakLearnerの数を決めたい• K-最近点分類の,最も良いKを求めたい時,など.• クロスバリデーションを行い,正答率を計算する• 元データから複数の訓練データ&テストデータを選び,何度も正答率を調べる• それらの正答率の平均値を,選んだ手法(変数)の正答率とする• 最も正答率の高い変数の値を最終的に選択する• 訓練データ&テストデータの選択方法として,主に,次の2つの方法がある• n-フォールドクロスバリデーション• Leave-one-out クロスバリデーション
• 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 の例
各四角はサンプルを表す
• 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回ルールの作成&正答率の調査を行う
オーバーフィット(Over Fit)• クロスバリデーションは,オーバーフィットを防げる事がある• もし,訓練データを完全に信用して「良い」ルールを作成すると,訓練データに偏ったルールが生成されてしまう.• →オーバーフィットと呼ぶ
モデルを作成
訓練データ
モデルを作成 オーバーフィット
と思われるモデル
比較的適切なモデルモデルは訓練データを完全に正しく分割できる
必要はない
7
アダブースト
アダブースト(AdaBoost)• 決定木,Naive Bayes同様,Yes, Noの属性(テスト)と○,×のクラスが訓練データとして与えられているとする.• 説明の都合上,クラスは○と×ではなく,1と0とする
• 「3人寄れば文殊の知恵」の発想で作られる分類器• 重み付き分類器(Weighted Voting)と呼ばれる分類器の一種(発展版)• 一般の重み付き分類器は,属性に重みを付ける
• どの属性が重要かを判定する• 決定木なら選択する属性、ナイーブベイズなら属性の確率
• アダブーストでは,サンプル毎に重みをつける• どのサンプルが重要かを判定する
• 訓練データにおいて,エラー率が限りなく0に近い分類器を作成できることが,理論的に保証されている
利用する訓練データ
• クラスを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
初期化• R: 最終的に組み合わせる分類器の個数.
• この数が大きい程,良い分類器(ルール)が作成できる代わりに,生成に時間がかかる
• 初期状態として,各サンプルに均等に重みを割り当てる.• サンプルiの初期の重みを で表す.• 初期状態で,重みは全サンプルで均等であって欲しい.サンプルの個数はNなので,
• 例題の訓練データでは,10個のサンプルがあるので,
w1i
w1i = 1/N (i = 1, . . . , N)
w1i = 1/10
• 各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
• 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
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
• 例題で実際に計算してみる.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
• t=1の計算では,WeakLearnerとしてT2を選択した• どのようなWeakLearnerを選択するのが良い?
• 重みが一気に下がる,重み付きエラーの少ないWeakLearner
• ここでは,シンプルに最も重み付きエラーの少ない属性をWeakLearnerとして選択しよう
• t=1で最も重み付きエラーの少ない属性を選択してみよう
• 属性T1がYesの時のε1をε1(T1=Yes)と書く
WeakLearnerの選択
より
よって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
• 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
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
求めた重みから最終仮説を求める
• 仮説の(対数付き)重み付き平均より大きかったら予測は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
重み付き平均を計算する
• この値以上なら,予測は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
サンプルのクラス予測
• 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 より小さいので予測は×
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
• 補題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
�より
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 | に注意すると,
を計算する
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
となるので,次の不等式が計算できる.
よっていずれの場合も,同一の式が成立する
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
となるので,次の不等式が計算できる.
証明終
• 補題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
となるので,次の不等式が計算できる.を利用することで,次ページの式変形が成り立つ
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
証明終
• 定理
• ε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)
と,上の不等式より
証明終
• 「3人寄れば文殊の知恵」の発想で作られる分類器• でも集まる人が重要なので,集まる人を選ぶ
• =サンプル毎に重みを付ける• 重み付き分類器(Weighted Voting)と呼ばれる分類器の一種
• 訓練データにおいて,エラー率が限りなく0に近い分類器を作成できることが,理論的に保証されている
• WeakLearnerを任意に選べるので,WeakLearnerとして,今まで紹介した,決定木,NaiveBayesや,今後紹介するK-NN,
SVMなども利用が可能• 複数のクラス分類手法を組み合わせた学習(=Ensemble
Learning)の土台となることができる.
AdaBoostのまとめ