prml chapter 14

65
パターン認識と機械学習 14モデルの統合 D2 大上 雅史 PRML輪講 2013/1/7 1

Upload: masahito-ohue

Post on 27-Jun-2015

2.427 views

Category:

Technology


0 download

DESCRIPTION

PRML chapter14

TRANSCRIPT

Page 1: PRML Chapter 14

パターン認識と機械学習 第14章 モデルの統合

D2 大上 雅史

PRML輪講 2013/1/7 1

Page 2: PRML Chapter 14

目次

ベイズモデル平均化

コミッティ

ブースティング

決定木

条件付き混合モデル

1/7/2013 2

Page 3: PRML Chapter 14

モデルの統合

複数のモデルを何らかの方法で組み合わせると

単一のモデルより性能が改善することが見込まれる

モデルの結合の枠組みによる手法

• コミッティ(committee), アンサンブル学習(ensemble learning)

• 例:複数のモデルの予測値の平均を予測値とする

• バギング (bagging)

• ブースティング (boosting)

• Random Forest

• 予測に用いるモデルを入力変数の関数とする

• 異なる領域の予測をそれぞれのモデルが担当

• 決定木(decision tree)

• 混合エキスパートモデル

1/7/2013 3

Page 4: PRML Chapter 14

14.1 ベイズモデル平均化

ベイズモデル平均化≠モデルの結合

• 混同されやすい

混合ガウス分布による密度推定の例(でモデルの結合を説明)

• モデルは同時分布 で指定される

• zはデータ点の生成原因がどの混合構成要素であるかを示す

2値の潜在変数(1-of-K符号化)

• 観測変数xについての密度は,潜在変数を周辺化する

• 混合ガウス分布だと次のようになる(モデルの結合の一例)

1/7/2013 4

Page 5: PRML Chapter 14

14.1 ベイズモデル平均化

つづき

• 独立同分布のデータ集合 だと

となり,データ点xnごとに対応する潜在変数znが存在する

h=1,…,Hで番号付けされたいくつかのモデルの

事前確率がp(h)で与えられているとする(ここから違う話)

• データ集合についての周辺分布は次式で与えられる

これはベイズモデル平均化の一例となっている.

1/7/2013 5

Page 6: PRML Chapter 14

14.1 ベイズモデル平均化

hの和の解釈

• 1つのモデルがデータ集合全体の生成を担当

• hの確率分布はどのモデルであるかの不確実性を反映

• データ集合のサイズが大きくなれば不確実性が減少し 事後確率p(h|X)は漸近的に1つのモデルに集中する

まとめ

• ベイズモデル平均化

→単一のモデルからデータ集合全体が生成される

• モデルの結合

→データ点ごとに潜在変数が存在

=生成原因となるモデル構成要素が異なる

1/7/2013 6

Page 7: PRML Chapter 14

14.1 ベイズモデル平均化

周辺分布以外も同様に議論できる

予測分布 について(演習14.1)

• モデルの集合 を考えると,

ここで

1/7/2013 7

Page 8: PRML Chapter 14

14.1 ベイズモデル平均化

1/7/2013 8

事前確率hに潜在変数とパラメータが依存→ベイズモデル平均化

データ点tnごとに潜在変数znが存在→ベイズモデル平均化ではない

(演習14.1)

Page 9: PRML Chapter 14

14.2 コミッティ

コミッティ

• 複数のモデルを組み合わせて利用することで

単一のモデルを使うよりも性能を改善させる技術

ここでは

「複数のモデルの予測値の平均を予測値とする」 という最も簡単なコミッティ構築について考える

• バイアス要素が小さいモデルの平均化はバリアンスの

寄与がキャンセルされる傾向にある

→正確な予測につながる(3.2節)

1/7/2013 9

Page 10: PRML Chapter 14

14.2 コミッティ

モデルの誤差=バイアス要素+バリアンス要素

• バイアス要素:モデルと真の予測したい関数との差異

• バリアンス要素:個々のデータ点に対するモデルの感度

• 両者はトレードオフの関係にある(図3.6)

1/7/2013 10

Page 11: PRML Chapter 14

バイアスとバリアンス

三角関数の多項式フィッティング(図3.5)

• 正則化の が小さいとバリアンス大,バイアス小(高次多項式)

1/7/2013 11

平均化

平均化

Page 12: PRML Chapter 14

バギング

異なる複数のモデルを作るために

• 1つしかないデータ集合から複数のモデルを作りたい

• ブートストラップデータ集合の利用がその方法の1つ

ブートストラップデータ集合の利用

ブートストラップ集約,bagging(bootstrap aggregating)

• M個のブートストラップデータ集合を生成(1.2.3節)

• N点のデータ集合からN点の復元抽出をM回行う

• 個々のデータ集合について予測モデルym(x)を訓練

• コミッティの予測は次で得られる

1/7/2013 12

Page 13: PRML Chapter 14

バギングの誤差の評価

真の関数を , モデルとの誤差を とおく

個々のモデルの平均二乗和誤差

個々のモデルの動作から得られる平均誤差

1/7/2013 13

Page 14: PRML Chapter 14

バギングの誤差の評価

一方コミッティ予測の二乗誤差の期待値は

1/7/2013 14

Page 15: PRML Chapter 14

バギングの誤差の評価

誤差の平均が0で無相関であると仮定する

このとき次が成り立つ(演習14.2)

1/7/2013 15

Page 16: PRML Chapter 14

バギングの誤差の評価

バギングのコミッティ誤差について

• 単純にM個の異なるモデルを平均するだけで

モデルの平均誤差を1/Mに低減できる!

• 一見すると衝撃的な結果を示唆.だが...

• 個々のモデルの誤差が無相関という仮説に依拠

• 実際には誤差間に高い相関が存在する

→一般的に全体としての誤差の低減効果は小さい

• しかしながらコミッティ誤差について

が成り立つ(次で証明)

1/7/2013 16

Page 17: PRML Chapter 14

バギングの誤差の評価

の証明(演習14.3) • Jensenの不等式を利用(凸関数f に対して)

• 次の対応関係を使う

• こうなる

1/7/2013 17

Page 18: PRML Chapter 14

14.3 ブースティング

ブースティング(boosting)

• 複数の「ベース」分類器を統合する手法

(弱学習器, weak learnerとよく呼ばれる)

• バギングとの違い

• 弱学習器を重み付き訓練データによって逐次的に訓練

• 直前の弱学習器の分類結果に基づいて次の重みを調整

• バギングでは独立した訓練データからモデルを学習

• ここでは最も有名なAdaBoostを紹介

• Freund and Schapire, 1996.

• adaptive boostingの略

1/7/2013 18

Page 19: PRML Chapter 14

ブースティングの枠組み(図14.1)

1/7/2013 19

y1が苦手とする事例を

適切に分類

Page 20: PRML Chapter 14

AdaBoostアルゴリズム 1. のデータの重み係数 を に初期化

2. について以下を繰り返す:

a. 弱学習器 を次の重み付けされた誤差関数J m を最小化

するように訓練データにフィットさせる

b. 誤差率の尺度を計算し,弱学習器の重み係数 を求める

c. データ点の重み係数を以下の式で更新する

3. 以下の式で最終モデルの予測を行う

1/7/2013 20

I(・)は( )の中身が真→1, 偽→0

,

Page 21: PRML Chapter 14

弱学習器

弱学習器

• 「弱」とは?

• 正解率がランダム(2値判別なら50%)よりマシという意味

• 別にどんな学習器を使っても良い

• SVM, 決定木, 決定株, 挟み込み型不等式

決定株(decision stump)

• 1つの特徴量に対し,ある閾値を超えるか超えないか

で分類する(別名one-level decision tree, 1-rulesなど)

1/7/2013 21

http://en.wikipedia.org/wiki/File:Decision_stump.svg

Page 22: PRML Chapter 14

AdaBoostの学習の例(図14.2)

1/7/2013 22

緑の線:アンサンブルされた決定境界

黒の破線:最新の弱学習器による決定境界

丸の大きさ:最新の弱学習器の学習におけるデータ点の重み

Page 23: PRML Chapter 14

ブースティングの種類

いろいろなブースティング手法

• AdaBoost (Freud and Shapine, 1996)

• 指数誤差関数(14.3.1で説明)

• ノイズや外れ値に弱い

• LogitBoost (Friedman et al., 1998)

• ロジスティック誤差関数

• AdaBoostよりはノイズや外れ値に強い(?)

• MadaBoost (Domingo and Watanabe, 2000)

• Modified AdaBoost

• ノイズや外れ値に強い

• 変更したけど「まだ」ブースティングの性質を備えているよ

1/7/2013 23

Page 24: PRML Chapter 14

14.3.1 指数誤差の最小化

AdaBoostのデータ点の重み更新式は

指数誤差の逐次的最小化であることを示す

指数誤差関数

• fmはm番目までの弱学習器の線形結合

• tnは訓練集合の目標値 {-1, +1}

1/7/2013 24

Page 25: PRML Chapter 14

14.3.1 指数誤差の最小化

と のパラメータについて誤差関数を最小化

ここでは と が固定されていると

仮定し, のみについて最小化を行う

• 誤差関数を式変形

1/7/2013 25

Page 26: PRML Chapter 14

14.3.1 指数誤差の最小化

で正しく分類されるデータ点集合 ,

残りの誤分類されるデータ点集合を とする

• 正しい分類ではtnとymが同じ→ tnym=1

誤分類ではtnとymは異なる→ tnym=-1

1/7/2013 26

正しい分類 誤分類

誤分類 全体から誤分類を引く

Page 27: PRML Chapter 14

14.3.1 指数誤差の最小化

∴ に関する最小化⇔Jmの最小化(AdaBoost 2-a)

に関する最小化(演習14.6)

• 指数誤差を で微分して0とおく

1/7/2013 27

定数 極小化に関係ない

(AdaBoost 2-b)

Page 28: PRML Chapter 14

14.3.1 指数誤差の最小化

重みの更新

1/7/2013 28

(AdaBoost 2-b)

Page 29: PRML Chapter 14

14.3.1 指数誤差の最小化

を利用して変形

データ点の分類

• 全ての弱学習器の訓練が終わればfMの符号で分類できる

• 1/2を無視して次を得る

1/7/2013 29

nに関係ない(全てのデータ点を同じ係数で重み付けする)ので無視

(AdaBoost 2-c)

(AdaBoost 3)

Page 30: PRML Chapter 14

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

指数誤差はこれまで(13章まで)で考えてきた

誤差関数とは異なっている

ここでは指数誤差の性質について考えていく

AdaBoostで用いられる指数誤差の期待損失

1/7/2013 30

Page 31: PRML Chapter 14

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

変分最小化(期待損失を汎関数と見て最小化するy(x)を求める)

1/7/2013 31

y’(x)が含まれていないのでy(x)で微分する

(演習14.7)

(Euler-Lagrange方程式の第2項が0)

Page 32: PRML Chapter 14

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

対数オッズ(の1/2)

AdaBoostは逐次的な最適化戦略という制約の下,

最良の対数オッズ比の近似を,

弱学習器の線形結合による空間内で探索する.

• sign関数の利用の妥当性を示したことになる

1/7/2013 32

Page 33: PRML Chapter 14

その他の誤差関数との関係

誤差関数の比較

• 交差エントロピー誤差(ロジスティック回帰)(赤)

• ヒンジ誤差関数(SVM)(青)

• 0-1損失関数(黒)

• 指数誤差関数(緑)

1/7/2013 33

指数誤差の利点: 逐次的最小化でAdaBoostを導ける

指数誤差の欠点: ty(x)が負の大きな値を保つ場合

交差エントロピー誤差に比べて

強いペナルティを与えてしまう

⇨外れ値に対する頑健性が低い

Page 34: PRML Chapter 14

指数誤差の欠点

指数誤差の欠点

• 外れ値に対して頑健性が低い

• 対数尤度関数として解釈できない

• 他クラスの問題に容易に一般化することができない

1/7/2013 34

Page 35: PRML Chapter 14

回帰問題への拡張

二乗和誤差関数を利用

• 新しい弱学習器をそれ以前のモデルの残差

でフィットさせれば良い(演習14.9)

二乗和誤差関数の逐次最小化

1/7/2013 35

以前のモデルの残差

二乗和誤差Eのymに関する最小化→ymを残差にフィットさせる

Page 36: PRML Chapter 14

回帰問題への拡張

二乗和誤差も外れ値に対して頑健ではない

→絶対値誤差 を利用することで対処できる

1/7/2013 36

Page 37: PRML Chapter 14

14.4 木構造モデル

決定木(decision tree)

• 入力空間を多次元の矩形領域に分割する

• 木構造に沿った一連の決定処理として記述

1/7/2013 37

決定木 対応する領域分割

Page 38: PRML Chapter 14

決定木

決定木の利点

• 学習が高速

• 人間の可読性が高い

決定木の欠点

• 予測精度がそれほど良くないといわれる

• データ集合の細部に敏感

→訓練データの僅かな変化で分割結果が大きく変わる

• 分割が特徴空間の軸に沿うため準最適となる

• (回帰問題では)境界が不連続な領域ごとの定数の予測

となり, 普通のモデルのような滑らかな関数にならない

1/7/2013 38

Page 39: PRML Chapter 14

決定木

代表的な手法(主に枝刈り基準の違い)

• ID3 (Quinlan, 1979; Quinlan, 1986):情報利得

• C4.5 (Quinlan, 1993):情報利得比

• CART (Breiman et al., 1984):ジニ係数

CART (classification and refression tree)

• 枝刈り基準にジニ係数(Gini index)を利用

1/7/2013 39

Page 40: PRML Chapter 14

参考:The 10 Algorithms in Data Mining

IEEE ICDM2006で

「データマイニングで使われるトップ10アルゴリズム」 という論文が発表された(Wu et al., 2006)

1/7/2013 40

1位 C4.5 6位 PageRank

2位 K-means 7位 AdaBoost

3位 SVM 7位 kNN

4位 Apriori 7位 Naïve Bayes

5位 EMアルゴリズム 10位 CART

Page 41: PRML Chapter 14

CART

回帰問題を考える

• 入力変数

• 目標変数 t

• 訓練データ

入力空間の分割が与えられたとき,

二乗和誤差の最小化であれば, 予測変数の最適値は領域内のデータ点tnの平均値(演習14.10)

1/7/2013 41

Page 42: PRML Chapter 14

CART

分割の構造の決め方

• 構造の組み合わせが膨大で計算量的に難しい

→単一の根ノードから貪欲最適化する方法が良く用いられる

• 各ステップの処理

• D個の入力変数から分割に用いる変数を選択

• 閾値を設定

• いつノードの追加を終えるのか

• 単純な「残差が一定以下になったら止める」方法はうまくいかない

• 誤差が全然減らないけどそのまま分割を進めていくと誤差が大きく減るケースなど

• 「葉ノードのデータ点数を規準に木を成長させ,最後に枝刈りする」

1/7/2013 42

Page 43: PRML Chapter 14

CART

枝刈りの尺度

• 残差とモデルの複雑さに関する尺度のバランス

枝刈りの方法

• 枝刈り前の木

• 枝刈り後の木

• 葉ノード , 対応する領域

• 領域 に対する最適な予測

1/7/2013 43

Page 44: PRML Chapter 14

CART

• 対応する残差の寄与

• 枝刈りの規準

• 正則化パラメータ は交差確認法で選ばれる

1/7/2013 44

Page 45: PRML Chapter 14

CART

分類問題の場合

• 誤差の尺度が変わる以外は同じ

よく使われる2つの尺度

• 交差エントロピー誤差関数

• ジニ係数(Gini index)

• どちらも最小値はあるkにおける が1のとき(最小値 0),

最大値は全てのkについて のとき.

1/7/2013 45

: 領域 内において クラスkに割り当てられている

データ点の割合

Page 46: PRML Chapter 14

14.5 条件付き混合モデル

ここでやること

• 決定木では特徴空間の軸に沿ったハードな分割をした

• 各分割において全ての入力変数を考慮した関数による

ソフトな確率的な分割を行うことで緩和できる

• 解釈可能性が犠牲になる

• 葉ノードのモデルを確率的解釈→階層的混合エキスパートモデル

1/7/2013 46

Page 47: PRML Chapter 14

14.5 条件付き混合モデル

順序

• 14.5.1 線形回帰モデルの混合

• 9.2節の混合モデルを条件付きガウス分布に拡張したもの

• 14.5.2 ロジスティックモデルの混合

• 4.3節のロジスティック回帰モデルを混合分布に拡張したもの

• 14.5.3 混合エキスパートモデル

• 混合係数が入力依存に一般化されたもの

• 階層的混合エキスパートモデル

• 混合モデルの各構成要素自体が混合エキスパートモデル

1/7/2013 47

Page 48: PRML Chapter 14

14.5.1 線形回帰モデルの混合

それぞれが重みパラメータwkで支配される

K個の線形回帰モデルを考える

• 目標変数tはとりあえず1次元(拡張→演習14.12)

• 混合係数

• 混合分布は次のように書ける

1/7/2013 48

は をまとめたもの

Page 49: PRML Chapter 14

14.5.1 線形回帰モデルの混合

観測集合 が与えられたときの対数尤度関数

参考:混合ガウスモデル(9章)

1/7/2013 49

Page 50: PRML Chapter 14

尤度関数最大化

EMアルゴリズムによる尤度関数最大化

• 2値潜在変数集合 を導入

• 完全データに対する対数尤度関数(演習14.13)

1/7/2013 50

Page 51: PRML Chapter 14

グラフィカルモデル

1/7/2013 51

Page 52: PRML Chapter 14

EMアルゴリズム

Eステップ: を計算する

• 各データ点nに対するクラスkの事後確率(負担率)を求める

• 負担率を用いて事後分布 の下での完全データの

対数尤度の期待値を計算する

1/7/2013 52

Page 53: PRML Chapter 14

EMアルゴリズム

Mステップ:関数Qの に関する最大化( 固定)

• 制約条件 のもと, ラグランジュ未定乗数法より

• Qから に依存する項のみ取り出すと

• について微分して0とおく

1/7/2013 53

(演習14.4)

Page 54: PRML Chapter 14

EMアルゴリズム(Mステップ続き)

• Qからwkに依存する項のみ取り出すと

• wkについての微分して0とおく

• 行列表記すると

• wkについて解くと

1/7/2013 54

,

• 式(4.99)のロジスティック回帰の更新式と同じ形 • K=1のときに線形回帰の推定式と一致

Page 55: PRML Chapter 14

人工データ集合の例(図14.8)

1/7/2013 55

初期値 30回のEM反復計算後 50回のEM反復計算後

2つの線形回帰モデルの混合(赤線と青線), 下段は負担率

Page 56: PRML Chapter 14

人工データ集合の例(図14.8, 14.9)

混合線形回帰モデルの問題点

• 多峰性分布のためデータが存在しない領域にも

大きな確率値を持つところがある

• 混合係数もxの関数とすることによって解決できる

• 5.6節 混合密度ネットワーク

• 14.5.3節 階層的混合エキスパートモデル

1/7/2013 56

Page 57: PRML Chapter 14

14.5.2 ロジスティックモデルの混合

混合ロジスティック回帰モデル

• ロジスティック回帰モデル(4.3節)の混合モデルver.

• 目標変数の条件付き分布

• 尤度関数

1/7/2013 57

Page 58: PRML Chapter 14

14.5.2 ロジスティックモデルの混合

線形回帰モデルと同様に潜在変数を導入して

EMアルゴリズムで尤度関数最大化を行う

• 完全データの尤度関数

Eステップ:負担率の計算

1/7/2013 58

Page 59: PRML Chapter 14

14.5.2 ロジスティックモデルの混合

Mステップ:Q関数のパラメータに関する最大化

• に関する最大化→いつもの式

• wkに関する最大化→閉じた式にならないので反復計算

• 反復再重み付け最小二乗(IRLS)アルゴリズムなどを利用(4.3.3節)

1/7/2013 59

Page 60: PRML Chapter 14

14.5.2 ロジスティックモデルの混合

• wkについての勾配

• wkについてのヘッセ行列

• データ点に重み がついているだけで

ロジスティック回帰の誤差関数の場合とほぼ同じ形

(式(4.96), (4.97))

1/7/2013 60

Page 61: PRML Chapter 14

14.5.2 ロジスティックモデルの混合

データ例

多クラス分類問題への対応

• ソフトマックスモデルの混合に容易に拡張できる(演習14.16)

1/7/2013 61

クラスラベルの真の確率 単一のロジスティック回帰 2つのロジスティック回帰の混合

Page 62: PRML Chapter 14

14.5.3 混合エキスパートモデル

混合エキスパートモデル

• 混合係数も入力変数の関数としたモデル

1/7/2013 62

エキスパート

エキスパート

エキスパート

・・・

ゲート関数 出力

入力x

入力x

入力x

Page 63: PRML Chapter 14

14.5.3 混合エキスパートモデル

ゲート関数の制約

• 例えば線形ソフトマックスモデルで表現できる

• もしエキスパートも線形モデルならMステップでIRLSを用いたEMアルゴリズムによってパラメータ推定ができる

1/7/2013 63

Page 64: PRML Chapter 14

階層的混合エキスパートモデル

階層的混合エキスパートモデル(HMEモデル) • 混合エキスパートモデルを混合分布にしたモデル

• 条件付きでない単純な混合だと単一の混合分布と等価なモデルであるが,混合係数が線形分類モデルのときは 単一の混合分布とは異なるモデルとなる(演習14.17)

1/7/2013 64

混合エキスパートモデル

・・・

ゲート関数 出力

入力x

入力x

入力x

混合エキスパートモデル

混合エキスパートモデル

Page 65: PRML Chapter 14

階層的混合エキスパートモデル

EMアルゴリズムにより効率良く最尤推定ができる

変分推論法によるベイズ的扱いが与えられている

決定木の確率的ver.とみなすことができる

• 葉ノードに相当する部分がエキスパートで

入力に応じて各エキスパートの寄与率が決まる

混合密度ネットワークとの比較

• 階層的混合エキスパートモデルの利点

• EMアルゴリズムのMステップの最適化が凸最適化になる

• 混合密度ネットワークの利点

• 構成要素の密度と混合係数をニューラルネットワークの

隠れユニットで共有できる

• 入力空間の分割が非線形にもなり得る

1/7/2013 65