prml 第14 章 - · pdf file1/50 prml第14章 宮澤 彬...

52
1/50 PRML 14 宮澤 彬 総合研究大学院大学 博士前期 [email protected] September 25, 2015 (modified: October 4, 2015)

Upload: lydang

Post on 31-Mar-2018

230 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

1/50

PRML 第14章

宮澤 彬

総合研究大学院大学 博士前期

[email protected]

September 25, 2015(modified: October 4, 2015)

Page 2: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

2/50

はじめに

I このスライドの LuaLATEXのソースコードはhttps://github.com/pecorarista/documentsにあります.

I 教科書とは若干異なる表記をしている場合があります.

I 図は TikZで描いたものを除き,Bishop (2006)のサポートページ http://research.microsoft.com/en-us/um/people/cmbishop/prml/ またはMurphy (2012)のサポートページhttp://www.cs.ubc.ca/~murphyk/MLbook/から引用しています.

I 間違った記述を見つけた方は連絡ください.

Page 3: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

3/50

今日やること

1. ベイズモデル平均化

2. コミッティ

3. ブースティング (AdaBoost)

I 分類

I 回帰

4. 木構造モデル (CART)

I 回帰

I 分類

5. 条件付き混合モデル

Page 4: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

4/50

モデルの結合

複数のモデルの予測結果の平均を使って回帰を行うと,過学習が避けられて,より良い予測値が得られそう.また,分類の場合は多数決の結果を使うと同様のことが言えそう.

複数のモデルの出力を組み合わせて使う方法をコミッティあるいは合議(committee)と呼ぶ.

Page 5: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

5/50

モデルの結合

モデルの結合とベイズモデル平均化を混同しないように注意する.

まずはモデル結合の例として,混合ガウス分布の密度推定を考える.モデルは,データがどの混合要素から生成されたかを示す潜在変数 zを使って,同時確率 p (x, z)で与えられる.観測変数 xの密度は

p (x) =∑

z

p (x, z) (14.3)

=K∑

k=1πkN (x|µk, Σk) (14.4)

となる.データX = (x1, . . . , xN )に関する周辺分布は

p (X) =N∏

n=1p (xn) =

N∏n=1

(∑zn

p (xn, zn))

(14.5)

であり,各 xn に対して zn が存在していることがわかる.

Page 6: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

6/50

ベイズモデル平均化

次にベイズモデル平均化の例を示す.いくつかの異なるモデルがあって,h = 1, . . . , H で番号付けられているとする.例えば 1つは混合ガウス分布で,もう 1つは混合コーシー分布であるとする.

∑k

πkN (x|µk, Σk)∑

`

ρ`t1 (x|µ`, Σ`)

Page 7: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

7/50

ベイズモデル平均化

モデルに関する事前確率が p (h)で与えられているならば,データに関する周辺分布は次式で求められる.

p (X) =H∑

h=1p (X|h) p (h) (14.6)

モデル結合との違いは,データを生成しているのはモデル h = 1, . . . , Hのどれか 1つだということである.

Page 8: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

8/50

コミッティ

コミッティを使う手法の例として,バギング (bagging; bootstrapaggregation)を紹介する.まず訓練用データ Z = (z1, . . . , zN )から,ブートストラップ標本 Z(1), . . . , Z(M) を作る.

Z(1) Z(2) Z(M)

Z = (z1, . . . , zN )

復元抽出

ブートストラップ標本

訓練標本

Page 9: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

9/50

コミッティ

バギングにおけるコミッティの予測値 yCOM (x)は,各ブートストラップ集合 Z(1), . . . , Z(M) で学習したモデルの予測 y1 (x) , . . . , yM (x)を使って

yCOM (x) = 1M

M∑m=1

ym (x) (14.7)

となる.

これで実際に良い結果が得られるのか,誤差を評価して確認する.

Page 10: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

10/50

バギングの誤差評価

予測したい回帰関数を h (x)とし,各モデルの予測値 ym (x)が,h (x)と加法的な誤差 εm (x)を使って

ym (x) = h (x) + εm (x) (14.8)

と表せると仮定する.このとき,二乗誤差は

E[(ym (x)− h (x))2

]= E

[(εm (x))2

](14.9)

となるので,平均二乗誤差の期待値 EAV は

EAV := E

[1

M

M∑m=1

(ym (x)− h (x))2

]

= 1M

M∑m=1

E[(εm (x))2

](14.10)

で求められる.

Page 11: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

11/50

バギングの誤差評価一方,コミッティによる出力について,誤差の期待値 ECOM は

ECOM := E

( 1M

M∑m=1

ym − h (x))2

= E

( 1M

M∑m=1

εm (x))2 (14.11)

と求められる.ベクトル (1 · · · 1)′ ∈ RM と (ε1 (x) · · · εm (x))′ ∈ RM

に対して Cauchy-Schwarzの不等式を用いると(M∑

m=1εm (x)

)2

≤M

M∑m=1

(εm (x))2

ECOM ≤ EAV

が成り立つ.つまりコミッティを使う場合の誤差の期待値は,構成要素の誤差の期待値の和を超えない.

Page 12: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

12/50

バギングの誤差評価

特に誤差の平均が 0で無相関である,すなわち

E [εm (x)] = 0 (14.12)cov (εm (x) , ε` (x)) = E [εm (x) ε` (x)] = 0, m 6= ` (14.13)

が成り立つならば 1

ECOM = E

( 1M

M∑m=1

εm (x))2

= 1M2E

[M∑

m=1(εm (x))2

]

= 1M

EAV (14.14)

となり,誤差の期待値が大幅に低減される.

1 同じようなモデルを,同じような訓練データで学習させているのだから,こんなことは期待できない.

Page 13: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

13/50

ブースティング

コミッティを使う手法の別な例として,ブースティング (boosting)と呼ばれる手法を紹介する.ブースティングは分類のためのアルゴリズムとして設計されたが,回帰にも拡張できる.とりあえず分類について考える.

コミッティを構成する個々の分類器はベース学習器 (base learner)または弱学習器 (weak learner)と呼ばれる.ブースティングは,弱学習器を(並列的にではなく)逐次的に,重み付きデータを使って学習を進める方法である.重みの大きさは,それ以前に誤って分類されたデータに対して大きくなるように定める.

ブースティングの中で代表的な手法であるAdaBoost (adaptiveboosting)を紹介する.

Page 14: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

14/50

AdaBoost

{w(1)n } {w(2)

n } {w(M)n }

y1(x) y2(x) yM (x)

YM (x) = sign

(M∑m

αmym(x)

)

for m = 1, . . . , NInitialize the data weighting coefficients

w(1)n :=

1N

Page 15: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

15/50

AdaBoost

for m = 1, . . . , MFit a classifier ym (x) to the training data by minimizing

Jm :=N∑

n=1

w(m)n 1{x | ym(x)6=tn} (xn) . (14.15)

Evaluate

αm := log1 − εm

εm(14.17)

where

εm :=

N∑n=1

w(m)n 1{x | ym(x)6=tn} (xn)

N∑n=1

w(m)n

. (14.15)

Update the data weighting coefficients

w(m+1)n := w

(m)n exp

(αm1{x|ym(xn) 6=tn} (xn)

). (14.18)

Page 16: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

16/50

AdaBoost

Make predictions using the final model, which is given by

YM (x) := sign

(M∑

m=1

αmym (x)

). (14.19)

このアルゴリズム中に現れる式は,指数誤差の逐次的な最小化から導かれる.

Page 17: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

17/50

指数誤差の最小化目標値を t ∈ {−1, 1},予測値を y ∈ Rとし,これらの積 tyを zと置く.このとき指数誤差は E (z) := exp (−z)という形で与えられる.E (z)はtと yが同符号 (z > 0)なら 0に近い正の値を,異符号 (z < 0)ならば正の大きな値をとる.

−2 −1 0 1 2z

E(z)

指数誤差関数 交差エントロピー誤差 ヒンジ形誤差関数 誤分類誤差

Page 18: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

18/50

指数誤差の最小化以下の誤差 E を最小化したい.

E :=N∑

n=1exp

(−tn

m∑`=1

12α`y` (xn)

)

逐次的に学習していくので α1, . . . , αm−1 と y1 (x) , . . . , ym−1 (x)は所与として,αm と ym (x)に関して E を最小化する.E を

E =N∑

n=1exp

(−tn

m−1∑`=1

12α`y` (xn)− 1

2 tnαmym (xn))

=N∑

n=1w(m)

n exp(−1

2 tnαmym (xn))

(14.22)

と書き換える.ここで以下のように置いた.

w(m)n := exp

(−tn

m−1∑`=1

12α`y` (xn)

)(14.22′)

Page 19: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

19/50

指数誤差の最小化

ym : x 7→ {−1, 1}によって正しく分類されたデータ点の添字集合を Tm,誤って分類されたデータの添字集合をMm とする.このとき

E = e−αm/2∑

n∈Tm

w(m)n + eαm/2

∑n∈Mm

w(m)n

=(

eαm/2 − e−αm/2) N∑

n=1w(m)

n 1{x|ym(xn)6=tn} (xn)

+ e−αm/2N∑

n=1w(m)

n (14.23)

が成り立つ.これを ym (x)について最小化することは (14.15)を最小化することと同値である.

Page 20: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

20/50

指数誤差の最小化

また αm について微分して 0と置くと

(eαm/2 + e−αm/2

) N∑n=1

w(m)n 1{x|ym(xn) 6=tn} (xn)− e−αm/2

N∑n=1

w(m)n = 0

eαm + 1 =

N∑n=1

w(m)n

N∑n=1

w(m)n 1{x|ym(xn)6=tn} (xn)

となる.(14.15)と同じ置き換えを行うことにより

αm = log 1− εm

εm

を得る.これはアルゴリズム中の (14.17)に等しい.

Page 21: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

21/50

指数誤差の最小化

重みは (14.22′)に従い次のように更新する.

w(m+1)n = w(m)

n exp(−1

2 tnαmym (xn))

(14.24)

ここで

tnym (xn) = 1− 21{x|ym(x)6=tn} (xn) (14.25)

が成り立つことを使うと

w(m+1)n = w(x)

n exp(−1

2αm

(1− 21{x|ym(x)6=tn} (xn)

))= w(x)

n exp(−αm

2

)exp

(1{x|ym(x)6=tn} (xn)

)(14.26)

と書き換えられる.exp (−αm/2)はすべてのデータに共通なので無視すると (14.18)が得られる.

Page 22: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

22/50

ブースティングのための誤差関数

以下の指数誤差を考える.

E [exp (−ty (x))] =∑

t∈{−1,1}

∫exp (−ty (x)) p (t|x) p (x) dx (14.27)

変分法を使って yについて上式を最小化する.ϕt (y) := exp (−ty (x)) p (t|x) p (x)とする.停留点は以下のように求められる. ∑

t∈{−1,1}

Dyϕt (y) = 0

exp (y (x)) p (t = −1|x)− exp (−y (x)) p (t = 1|x) = 0

y (x) = 12 log p (t = 1|x)

p (t = −1|x) (14.28)

つまり AdaBoostは逐次的に p (t = 1|x)と (t = −1|x)の比の対数の近似を求めている.これが最終的に (14.19)で符号関数を使って分類器を作った理由となっている.

Page 23: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

23/50

AdaBoostの振る舞い

AdaBoostによる分類の例を示す.図中の円は各データを表し,その半径は割り振られた重みを表している.

m = 1

−1 0 1 2

−2

0

2m = 2

−1 0 1 2

−2

0

2

Page 24: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

24/50

AdaBoostの振る舞い

m = 3

−1 0 1 2

−2

0

2m = 6

−1 0 1 2

−2

0

2

m = 10

−1 0 1 2

−2

0

2m = 150

−1 0 1 2

−2

0

2

Page 25: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

25/50

AdaBoostの拡張

AdaBoostは Freund and Schapire (1996)で導入されたが,指数誤差の逐次的最小化としての解釈は Friedman et al. (2000)で与えられた.これ以降,誤差関数の変更により様々な拡張が行われるようになった.

Page 26: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

26/50

木構造モデル

今までは複数の出力を合わせる方法を見てきた.今度は入力を複数のモデルの 1つに振り分ける方法である木構造モデルを扱う.

木構造モデルのでは,入力空間を矩形 (cuboid)領域に分けて,それぞれの領域に対応するモデルに予測をさせる.

A

B

C D

E

θ1 θ4

θ2

θ3

x1

x2

x1 > θ1

x2 > θ3

x1 6 θ4

x2 6 θ2

A B C D E

Page 27: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

27/50

CART

以下では木構造モデルの 1つである CART (classification andregression tree)を扱う.CARTは名前の通り分類にも回帰にも使うことができるが,まずは回帰に絞って説明する.

入力と目標値の組 D = (x1, tn) , . . . , (xN , tN ) ∈ RD × Rが与えられているとする.入力に対する分割がR1, . . . ,RM となっているとき,予測値を次のように定義する.

f (x) :=M∑

m=1cm1Rm (x)

Page 28: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

28/50

CART

02

46

810

02

46

8102

3

4

5

6

7

8

9

10

Page 29: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

29/50

分割が与えられているときの最適な予測値

各領域で二乗和誤差を最小化する予測値を求めよう.Im := {n ; xn ∈ Rm}と表すと誤差は以下のようになる.

N∑n=1

(tn − f (xn))2 =N∑

n=1

(tn −

M∑m=1

cm1Rm(xn)

)2

=M∑

m=1

∑n∈Im

(cm − tn)2

各 cm について微分して 0と置くと,最適な予測値は

c̄m = 1|Im|

∑n∈Im

tn

となることが分かる.ただし二乗和誤差を最小化するような分割を決めようとすると計算量が大きくなる.そこで貪欲法を使って木の構造を定める.

Page 30: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

30/50

分割基準

各回の領域の分割基準を考える.変数を表す添字を j ∈ {1, . . . , D},閾値を θとして,2つの領域R1 (j, θ)とR2 (j, θ)を次で定める.

R1 (j, θ) = {x ; xj ≤ θ} , R2 (j, θ) = {x ; xj > θ}

Ii (j, θ) := {n ; xn ∈ Ri (j, θ)}とする.分割の基準となる (j, θ)は次を解いて得られる.

minj∈{1,...,D}

minθ

minc1

∑n∈I1(j,θ)

(c1 − tn)2 + minc2

∑n∈I2(j,θ)

(c2 − tn)2

.

内側の和を最小化する c1 と c2 は,それぞれ

c̄1 = 1|I1 (j, θ)|

∑n∈I1(j,θ)

tn, c̄2 = 1|I2 (j, θ)|

∑n∈I2(j,θ)

tn

となる.あとは各 j について最適な θを計算し,そのあとで最適な j を求めればよい.

Page 31: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

31/50

停止基準

次に停止基準について考えなければならない.

単純に考えると誤差の減少幅が小さくなったときに止める方法が良さそうであるが,分割を続けていると大きな誤差の減少が見られることが経験的に知られている.

そこで,先に大きな木を作ってからその木の枝を刈って適当な木を得ることにする.

Page 32: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

32/50

枝刈り

T

t1

t2 t3

t4 t5 t6 t7

t8 t9

Page 33: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

32/50

枝刈り

t1

t2 t3

t4 t5 t6 Tt7t7

t8 t9

Page 34: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

32/50

枝刈り

T − Tt7

t1

t2 t3

t4 t5 t6 t7

t8 に対応する領域と t9 に対応する領域を併合するので t7 は残る.

Page 35: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

33/50

枝刈りの基準

切り落とす位置は,次の error-complexity measure

Rα (T ) = R (T ) + α∣∣∣T̃ ∣∣∣

が一番大きく減少するような節点 tを選ぶ.ただし T̃ は木 T の葉全体の集合,R (T )は誤差

R (T ) :=

∣∣T̃ ∣∣∑m=1

∑n∈Im

(c̄m − tn)2

である.α ≥ 0は枝の数に対する罰則を調整するパラメータである.この基準では,刈っても(通常大きくなってしまう)誤差があまり大きくならず,葉の数が減るような枝刈りが優先して行われる.

Page 36: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

34/50

枝刈りの基準

αを動かすと次のようなことがわかる.

I α = 0のとき各データに 1つの葉を対応させるような木が最適になる.

I αが大きいとき根 t1 だけから成る木が最適になる.

ちょうどいい木はこの間にある.

Page 37: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

35/50

枝刈り部分木 Tt と節点 tから下を刈ってできる木 ({t} , ∅)のerror-complexity measureはそれぞれ

Rα (Tt) = R (Tt) + α∣∣∣T̃t

∣∣∣ ,Rα (({t} , ∅)) = R (({t} , ∅)) + α

である.Rα (Tt) > Rα(({t} , ∅)),すなわち

α <R (Tt)−R (({t} , ∅))∣∣∣T̃t

∣∣∣− 1

が成り立つならば刈り取ったほうがよい.この右辺を刈り取る効果の指標とし

g (t ; T ) := R (Tt)−R (({t} , ∅))∣∣∣T̃t

∣∣∣− 1

と定める.

Page 38: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

36/50

枝刈り

次の最弱リンク枝刈り (weakest link pruning)と呼ばれるアルゴリズムにより T 0 � · · · � T J = ({t1} , ∅)と狭義単調増加列 α0 < · · · < αJ

を得る.

1: i← 0

2: while∣∣∣T̃ i∣∣∣ > 1

3: αi ← mint∈V (T i)\T̃ i

g(t ; T i

)4: T i ← arg min

t∈V (T i)\T̃ i

g(t ; T i

)5: for t ∈ T i

6: T i ← T i − T it

7: i← i + 1

Page 39: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

37/50

交差確認

最終的にやらなければならないことは,得られた列⟨T i⟩J

i=0の中から適当な T i 選ぶことである.そのための方法としては交差確認 (crossvalidation)が使われる.

Test

Train

Train

Train

Train

Test

Train

Train

...

Train

Train

Test

Train

Train

Train

Train

Test

1 2 · · · K − 1 K

Page 40: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

38/50

交差確認

手順は以下のようになる.

1: データ Dを使って,木の列⟨T i⟩J

i=0 とパラメータの列 〈αi〉Ji=0 を

作る.

2: データDをD =∐K

k=1Dk と分割する.極力,各 |Dk|が同じ大きさ

になるようにする.

3: 各 D(k) := D\Dk を使い,木の列⟨T (k)i

⟩ik

i=0 とパラメータの列⟨α

(k)i

⟩ik

i=0を作る.

Page 41: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

39/50

交差確認

4: 各 α′i := √αiαi+1 に対して Rα′

i(T )を最小化するような

T (1) (α′i) , . . . , T (K) (α′

i)とそれらに対応する予測 y(1)i , . . . , y

(K)i を求

める.ここで α ∈[

α(k)i , α

(k)i+1

)ならば T (k) (α) = T (k)i となること

に注意する.

5: 今までの結果から以下を求めることができる.

RCV (T i)

= 1N

K∑k=1

∑n∈{n′ ; (xn,tn)∈Dk}

(tn − y

(k)i (xn)

)2

6: 誤差が一番小さい木を T ∗∗ := arg minT i R(T i)とする.

Page 42: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

40/50

交差確認

7: 標準誤差 (standard error) SEを求める.

SE(RCV (T i

)):= s

(T i)

/√

N,

s(T i)

:=

√√√√ 1N

N∑n=1

((tn − y

(κ(n))i (xn)

)2−RCV (T i)

)2,

κ (n) =K∑

k=1k1Dk

((xn, tn))

8: 以下を満たす T の中で最小の木 T ∗ を最終的な結果とする.

RCV (T ) ≤ RCV (T ∗∗) + 1× SE (T ∗∗)

このヒューリスティックな決め方は 1 SE ruleと呼ばれる.

Page 43: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

41/50

交差確認

Breiman et al. (1984)の TABLE 3.3

i

∣∣∣T̃ i

∣∣∣ R(

T i)

RCV(

T i)

± SE(

T i)

1 31 .17 .30 ± .032∗∗ 23 .19 .27 ± .033 17 .22 .30 ± .034 15 .23 .30 ± .035 14 .24 .31 ± .036∗ 10 .29 .30 ± .037 9 .32 .41 ± .048 7 .41 .51 ± .049 6 .46 .53 ± .0410 5 .53 .61 ± .0411 2 .75 .75 ± .0312 1 .86 .86 ± .03

Page 44: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

42/50

CARTによる分類次に分類を扱う.手順は回帰とほぼ同様なので,分割の基準だけ扱う.

C1, . . . , CK のK クラスに分類する問題を解きたいとする.節点 tを通って流れていくデータの数をN (t)とする.またそれらのうちで Ck

に属するものの数をNk (t)と表す.このとき

p (t|Ck) = Nk (t)Nk

,

p (Ck, t) = p (Ck) p (t|Ck) = Nk

N

Nk (t)Nk

= Nk (t)N

,

p (t) =K∑

k=1p (Ck, t) = N (t)

N

である.よって事後確率 p (Ck|t)は次のように求められる.

p (Ck|t) = p (Ck, t)p (t) = Nk (t)

N (t)

Page 45: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

43/50

CARTによる分類

分割の基準には不純度関数 (impurity function)というものを使う.不純度関数とは,以下の条件を満たす関数 ϕ : ∆M → Rのことである.

1. ϕ (p)は p = (1/M, · · · , 1/M)のときに限り最大となる.

2. ϕ (p)は p = (0, · · · , 0,

i`1, 0, · · · , 0)のときに限り最小となる.

3. ϕ(p1, . . . ,

i`pi, . . . ,

j`pj , . . . , pM ) = ϕ(p1, . . . ,

i`pj , . . . ,

j`pi, . . . , pM ).

Page 46: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

44/50

不純度

不純度関数を ϕとすると,任意の節点 tの不純度 I (t)は

I (t) := ϕ (p (C1|t) , . . . , p (CK |t))

で定められる.

節点 tの子 tL と tR について,tからそれらに流れるデータの割合を

pL = p (tL)p (t) , pR = p (tR)

p (t)

とすると,tにおいて基準 sで分割したときの不純度の減少は

∆I (s, t) = I (t)− pRI (tR)− pLI (tL)

と表される.不純度の減少が最大になるような分割を行っていけばよい.

Page 47: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

45/50

不純度関数の例

I 誤分類率

I (t) = 1−maxk

p (Ck|t)

I 交差エントロピー

I (t) = −K∑

k=1p (Ck|t) log p (Ck|t)

I ジニ指数 (Gini index)

I (t) =K∑

k=1p (Ck|t) (1− p (Ck|t))

Page 48: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

46/50

不純度の数値例

2クラス分類において,I として交差エントロピーを使う例.

t

100/100

100/0 0/100

∆I (s, t) = I (t)− pLI (tL)− pRI (tR)

= −12 log 1

2 −12 log 1

2 − 2 · 12 (−1 log 1− 0 log 0)

= log 2

Page 49: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

47/50

不純度の数値例

別な分割 s′ を使う例.

t

100/100

60/40 40/60

∆I (s′, t) = I (t)− pLI (tL)− pRI (tR)

= log 2− 2 · 12

(−3

5 log 35 −

25 log 2

5

)< ∆I (s, t)

前の分割 sのほうが好ましい.

Page 50: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

48/50

不純度関数の比較

0 0.2 0.4 0.6 0.8 10

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

Error rate

Gini

Entropy

Page 51: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

49/50

木構造モデルの問題点

I 軸に合わせて分割しているので,軸と平行でない方向にうまく境界が引けない.

I 入力空間をハードに(ただ 1つのモデルが対応するように)分割してしまう.

I 通常,回帰では滑らかな関数での近似するが,このモデルでは境界で不連続な,領域ごとの定数予測になってしまう.

Page 52: PRML 第14 章 -   · PDF file1/50 PRML第14章 宮澤 彬 総合研究大学院大学博士前期 miyazawa-a@nii.ac.jp September25,2015 (modified:October4,2015)

50/50

参考文献

Bishop, C. M. (2006). Pattern Recognition and MachineLearning. Springer.

Breiman, L., Friedman, J., Stone, C. J., and Olshen, R. A.(1984). Classification and regression trees. CRC press.

Freund, Y. and Schapire, R. E. (1996). Experiments with a newboosting algorithm.

Friedman, J., Hastie, T., Tibshirani, R., et al. (2000). Additivelogistic regression: a statistical view of boosting (withdiscussion and a rejoinder by the authors). The annals ofstatistics.

Hastie, T., Tibshirani, R., and Friedman, J. (2009). TheElements of Statistical Learning: data mining, inference andprediction. Springer, second edition.

Murphy, K. P. (2012). Machine Learning: A ProbabilisticPerspective.

平井有三 (2012). はじめてのパターン認識. 森北出版.