20130716 はじパタ3章前半 ベイズの識別規則

47
はじパタ!輪読会 第3章前半 ベイズの識別規則 2013.07.16 (火) 担当: @_kobacky http://www.amazon.co.jp/dp/4627849710

Upload: koji-ono

Post on 25-Jun-2015

2.908 views

Category:

Technology


1 download

DESCRIPTION

「はじめてのパターン認識」読書会の発表資料です。 第3章(前半):ベイズの識別規則

TRANSCRIPT

Page 1: 20130716 はじパタ3章前半 ベイズの識別規則

はじパタ!輪読会 第3章前半 ベイズの識別規則 2013.07.16 (火) 担当: @_kobacky

http://www.amazon.co.jp/dp/4627849710

Page 2: 20130716 はじパタ3章前半 ベイズの識別規則

自己紹介

• Twitter ID : @_kobacky

• どこで働いている? • 株式会社 ALBERT システム開発部

• 日頃のお仕事? • システム設計・プログラム開発

• レコメンドエンジンとか、Twitterの解析を行うシステムとか • ウェブサイト運用 •  etc.

Page 3: 20130716 はじパタ3章前半 ベイズの識別規則

3.1で学ぶこと

• 3.1.1 ベイズの識別規則 • 3.1.2 ベイズの識別規則の例 • 3.1.3 尤度比 • 3.1.4 ベイズの識別規則は誤り率最小 • 3.1.5 最小損失基準に基づくベイズの識別規則 • 3.1.6 リジェクト

Page 4: 20130716 はじパタ3章前半 ベイズの識別規則

3.1で学ぶこと

• 3.1.1 ベイズの識別規則 • 3.1.2 ベイズの識別規則の例 • 3.1.3 尤度比 • 3.1.4 ベイズの識別規則は誤り率最小 • 3.1.5 最小損失基準に基づくベイズの識別規則 • 3.1.6 リジェクト

Page 5: 20130716 はじパタ3章前半 ベイズの識別規則

本章で扱う識別問題

• 観測データ x と所属するクラスの間に確率分布が仮定される識別問題(p21)

P(x|C2)

x

P(x|C1) の生起確率

x

Page 6: 20130716 はじパタ3章前半 ベイズの識別規則

3.1.1. 最大事後確率基準

• チェックポイント • 事前確率・事後確率とは何か? • 修正項における尤度・周辺確率とは何か? • ベイズの定理を用いて識別境界をどのように決定するか?

Page 7: 20130716 はじパタ3章前半 ベイズの識別規則

突然ですが・・

• 目の前にくじの入った袋があります。 • 袋の中には赤い紙と青い紙が折り畳まれて入っています。 • 紙を広げるとその中に「あたり」「はずれ」のどちらかが記述

されています。

Page 8: 20130716 はじパタ3章前半 ベイズの識別規則

突然ですが・・

• 目の前にくじの入った袋があります。 • 袋の中には赤い紙と青い紙が折り畳まれて入っています。 • 紙を広げるとその中に「あたり」「はずれ」のどちらかが記述

されています。 • これまで100人の人がくじを引きました。

•  60人が赤い紙、40人が青い紙でした。 •  30人が「あたり」でした。 •  「あたり」を引いた人のうち10人は赤い紙で、20人は青い紙でした。

Page 9: 20130716 はじパタ3章前半 ベイズの識別規則

突然ですが・・

• 目の前にくじの入った袋があります。 • 袋の中には赤い紙と青い紙が折り畳まれて入っています。 • 紙を広げるとその中に「あたり」「はずれ」のどちらかが記述

されています。 • これまで100人の人がくじを引きました。

•  60人が赤い紙、40人が青い紙でした。 •  30人が「あたり」でした。 •  「あたり」を引いた人のうち10人は赤い紙で、20人は青い紙でした。

• とある情報スジからくじの色と「あたり」の割合には何かしらの関係があるという情報をつかんでいます。

Page 10: 20130716 はじパタ3章前半 ベイズの識別規則

(勉強会発表時の実演 ) • ここで @Prunus1350 さんがクジを引くことになりました。

Page 11: 20130716 はじパタ3章前半 ベイズの識別規則

(勉強会発表時の実演 ) • ここで @Prunus1350 さんがクジを引くことになりました。

• この時点で @Prunus1350 さんが当たりを引く確率は 「30 / 100」である予測できます。

Page 12: 20130716 はじパタ3章前半 ベイズの識別規則

(勉強会発表時の実演 ) • ここで @Prunus1350 さんがクジを引くことになりました。

• この時点で @Prunus1350 さんが当たりを引く確率は 「30 / 100」である予測できます。

• ここで @Prunus1350 さんがクジを引いたところ、青いクジを引き当てました。

Page 13: 20130716 はじパタ3章前半 ベイズの識別規則

(勉強会発表時の実演 ) • ここで @Prunus1350 さんがクジを引くことになりました。

• この時点で @Prunus1350 さんが当たりを引く確率は 「30 / 100」である予測できます。

• ここで @Prunus1350 さんがクジを引いたところ、青いクジを引き当てました。

• この時点で @Prunus1350 さんが当たりを引く確率は 「20 / 40」である予測できます。

Page 14: 20130716 はじパタ3章前半 ベイズの識別規則

(勉強会発表時の実演 ) • ここで @Prunus1350 さんがクジを引くことになりました。

• この時点で @Prunus1350 さんが当たりを引く確率は 「30 / 100」である予測できます。

• ここで @Prunus1350 さんがクジを引いたところ、青いクジを引き当てました。

• この時点で @Prunus1350 さんが当たりを引く確率は 「20 / 40」である予測できます。

クジの色を観測する前からわかる確率 「事前確率」

クジの色を観測したことによってわかった確率

「事後確率」

Page 15: 20130716 はじパタ3章前半 ベイズの識別規則

(勉強会発表時の実演 ) • ここで @Prunus1350 さんがクジを引くことになりました。

• この時点で @Prunus1350 さんが当たりを引く確率は 「30 / 100」である予測できます。

• ここで @Prunus1350 さんがクジを引いたところ、青いクジを引き当てました。

• この時点で @Prunus1350 さんが当たりを引く確率は 「20 / 40」である予測できます。

• (・・ちなみに @Prunus1350 さんがクジを開いたところ見事当たりでした。さすが @Prunus1350 さん!)

Page 16: 20130716 はじパタ3章前半 ベイズの識別規則

ベイズの定理

• ベイズの識別規則はベイズの定理で定義される最大事後確率が最も大きなクラスに観測データを分類する。 •  x : 観測データ

•  くじ袋の例では [赤 or 青] • Ci : 識別クラス(i = 1,2,3,・・・, K)

•  くじ袋の例では [あたり or はずれ]

P Ci x( ) =

p x Ci( )p x( )

×P Ci( )

x = 赤 x = 青

あたり 10 20

はずれ 50 20

合計 60 40

Page 17: 20130716 はじパタ3章前半 ベイズの識別規則

ベイズの定理

• ベイズの定理は下記の項からなる •  事後確率 •  事前確率 •  クラス条件付き確率(尤度) •  周辺確率

P Ci x( ) =p x Ci( )p x( )

×P Ci( )事後確率

尤度

周辺確率

事前確率

Page 18: 20130716 はじパタ3章前半 ベイズの識別規則

ベイズの定理

• 事後確率 •  観測データ x が与えられた下で、それがクラス Ci に属する条件

付き確率 • 事前確率

•  Ci の生起確率 •  データを観測する前からわかっている確率

P Ci x( ) =p x Ci( )p x( )

×P Ci( )事後確率

尤度

周辺確率

事前確率

Page 19: 20130716 はじパタ3章前半 ベイズの識別規則

ベイズの定理

• 尤度 •  クラスCiが与えられた下での観測データ x の確率分布

P Ci x( ) =p x Ci( )p x( )

×P Ci( )事後確率

尤度

周辺確率

事前確率

C1 C2

x

Page 20: 20130716 はじパタ3章前半 ベイズの識別規則

ベイズの定理

• 周辺確率 •  観測データ x の生起確率 •  全てのクラスに対する観測データ x の同時確率を合計(周辺化)

することで得られる。

P Ci x( ) =p x Ci( )p x( )

×P Ci( )事後確率

尤度

周辺確率

事前確率

p x( ) = p Ci, x( )i=1

K

Page 21: 20130716 はじパタ3章前半 ベイズの識別規則

最大事後確率基準による識別

•  識別においては、観測データ x に対して事後確率が一番大きなクラスを採用する。

•  事前確率p(x) はクラスが異なっても一定であるため、識別においては無視できる。

argmaxiP Ci x( )

= argmaxi

p x Ci( )P Ci( )p x( )

= argmaxip x Ci( )P Ci( )

Page 22: 20130716 はじパタ3章前半 ベイズの識別規則

3.1.2. ベイズの識別規則の例

• チェックポイント • 実際の事後確率演算の流れはどのようになるか?

Page 23: 20130716 はじパタ3章前半 ベイズの識別規則

状況設定

• 下記の観測データから「健康な人(G=1)」「健康でない人(G=0)」を識別したい。 •  「喫煙している(S=1)」 or 「喫煙していない(S=0)」 •  「飲酒している(T=1)」 or 「飲酒していない(T=0)」

• ある街の住人からランダムに(識別モデル作成用に)1000人サンプリング

サンプル数 喫煙する人 (S=1)

飲酒する人 (T=1)

健康な人(G=1) 800人 320人 640人

健康でない人(G=0) 200人 160人 40人

Page 24: 20130716 はじパタ3章前半 ベイズの識別規則

演算の目標

• 最終的に求めたいものはS, T, G 全ての組み合わせ(8通り)における事後確率

• 右辺の確率を順番に演算していく

サンプル数 喫煙する人 (S=1)

飲酒する人 (T=1)

健康な人(G=1) 800人 320人 640人

健康でない人(G=0) 200人 160人 40人

P G | S,T( ) =P S,T |G( )P G( )

P S,T( )

Page 25: 20130716 はじパタ3章前半 ベイズの識別規則

事前確率の演算

• P(G=1) = 800/1000 = 4/5 • P(G=0) = 200/1000 = 1/5

サンプル数 喫煙する人 (S=1)

飲酒する人 (T=1)

健康な人(G=1) 800人 320人 640人

健康でない人(G=0) 200人 160人 40人

P G | S,T( ) =P S,T |G( )P G( )

P S,T( )

Page 26: 20130716 はじパタ3章前半 ベイズの識別規則

尤度の演算

• 条件付き独立 P(S,T|G) = P(S|G) P(T|G) を仮定

サンプル数 喫煙する人 (S=1)

飲酒する人 (T=1)

健康な人(G=1) 800人 320人 640人

健康でない人(G=0) 200人 160人 40人

S=1 S=0

G=1 320/800 480/800

G=0 160/200 40/200

T=1 T=0

G=1 640/800 160/800

G=0 40/200 160/200

P(S|G)の演算 P(T|G)の演算

P G | S,T( ) =P S,T |G( )P G( )

P S,T( )

S=1, T=1 S=0, T=1 S=1, T=0 S=0, T=0

G=1 (2/5) X (4/5) (3/5) X (4/5) (2/5) X (1/5) (3/5) X (1/5) G=0 (4/5) X (1/5) (1/5) X (1/5) (4/5) X (4/5) (1/5) X (4/5)

P(S,T|G)の演算

Page 27: 20130716 はじパタ3章前半 ベイズの識別規則

周辺確率の演算

• 周辺化により P(S,T) を演算

P G | S,T( ) =P S,T |G( )P G( )

P S,T( )

S=1, T=1 S=0, T=1 S=1, T=0 S=0, T=0

P(S,T|G=1) (2/5) X (4/5) (3/5) X (4/5) (2/5) X (1/5) (3/5) X (1/5) P(S,T|G=0) (4/5) X (1/5) (1/5) X (1/5) (4/5) X (4/5) (1/5) X (4/5) P(S,T,G=1) (8/25) X (4/5) (12/25) X (4/5) (2/25) X (4/5) (3/25) X (4/5) P(S,T,G=0) (4/25) X (1/5) (1/25) X (1/5) (16/25) X (1/5) (4/25) X (1/5) P(S,T) 36/125 49/125 24/125 16/125

• ①→②: P(S,T,G) = P(S,T|G) X P(G) • ②→③: P(S,T) = P(S,T,G=0) + P(S,T,G=1) (←周辺化)

Page 28: 20130716 はじパタ3章前半 ベイズの識別規則

事後確率の演算

• ベイズの定理より事後確率を演算

P G | S,T( ) =P S,T |G( )P G( )

P S,T( )

S=1, T=1 S=0, T=1 S=1, T=0 S=0, T=0

P(G=1|S,T) 8/9 48/49 1/3 3/4

P(G=0|S,T) 1/9 1/49 2/3 1/4

• 観測データ S, T に対して事後確率の大きい方のクラスとして判定される。

Page 29: 20130716 はじパタ3章前半 ベイズの識別規則

3.1.3. 尤度比

• ある観測データ x が2つのクラスのどちらであるかを識別する際、尤度の比と事前確率の比を比べれば識別ができるというだけのお話。

p x Ci( )P Ci( )

>

<

!"#

$%&p x Cj( )P Cj( )

⇒Ci

⇒Cj

!"#

$%&

p x Ci( )p x Cj( )

>

<

!"#

$%&

P Cj( )P Ci( )

⇒Ci

⇒Cj

!"#

$%&

Page 30: 20130716 はじパタ3章前半 ベイズの識別規則

3.1.4. ベイズの識別規則は誤り率最小

• チェックポイント • ベイズの識別規則における「条件付きベイズ誤り率」とは何

か? • ベイズ誤り率の定義と計算方法はどういうものか? • なぜベイズの識別境界で誤り率は最小になるのか?

Page 31: 20130716 はじパタ3章前半 ベイズの識別規則

条件付きベイズ誤り率

• ある観測データ x が与えられた時、ベイズの識別規則に従って識別を行った場合に誤識別する確率

•  ε(x) = min [P(C1|x), P(C2|x)]

P(C1|x)

x x1

P(C2|x) 観測データ x の値が x1 である場合に

誤識別をする確率

R2(C2と判定される領域) R1(C1と判定される領域)

Page 32: 20130716 はじパタ3章前半 ベイズの識別規則

ベイズ誤り率

• 条件付きベイズ誤り率の(xに関する)期待値

ε* = E ε x( ){ }= ε x( ) p x( )dxR1+R2∫ 期待値の定義より

Page 33: 20130716 はじパタ3章前半 ベイズの識別規則

ベイズ誤り率

• 条件付きベイズ誤り率の(xに関する)期待値

ε* = E ε x( ){ }= ε x( ) p x( )dxR1+R2∫

ε(x)の定義代入 = min P C1 x( ),P C2 x( )!" #$p x( )dxR1+R2∫

Page 34: 20130716 はじパタ3章前半 ベイズの識別規則

ベイズ誤り率

• 条件付きベイズ誤り率の(xに関する)期待値

ε* = E ε x( ){ }= ε x( ) p x( )dxR1+R2∫

ベイズの定理代入 = min P C1 x( ),P C2 x( )!" #$p x( )dxR1+R2∫

= minp x C1( )P C1( )

p x( ),p x C2( )P C2( )

p x( )

!

"##

$

%&&p x( )dx

R1+R2∫

Page 35: 20130716 はじパタ3章前半 ベイズの識別規則

ベイズ誤り率

• 条件付きベイズ誤り率の(xに関する)期待値

ε* = E ε x( ){ }= ε x( ) p x( )dxR1+R2∫

p(x) で約分

= min P C1 x( ),P C2 x( )!" #$p x( )dxR1+R2∫

= minp x C1( )P C1( )

p x( ),p x C2( )P C2( )

p x( )

!

"##

$

%&&p x( )dx

R1+R2∫

= min p x C1( )P C1( ), p x C2( )P C2( )!" #$dxR1+R2∫

Page 36: 20130716 はじパタ3章前半 ベイズの識別規則

ベイズ誤り率

• 条件付きベイズ誤り率の(xに関する)期待値

ε* = E ε x( ){ }= ε x( ) p x( )dxR1+R2∫

ベイズの識別規則によって識別境界が定められているとすると、 R2の領域では p(x|C1)P(C1) < p(x|C2)P(C2) R1の領域では p(x|C2)P(C2) < p(x|C1)P(C1)

= min P C1 x( ),P C2 x( )!" #$p x( )dxR1+R2∫

= minp x C1( )P C1( )

p x( ),p x C2( )P C2( )

p x( )

!

"##

$

%&&p x( )dx

R1+R2∫

= min p x C1( )P C1( ), p x C2( )P C2( )!" #$dxR1+R2∫

= p x C1( )P C1( )( )dxR2∫ + p x C2( )P C2( )( )dxR1

Page 37: 20130716 はじパタ3章前半 ベイズの識別規則

ベイズ誤り率

• 条件付きベイズ誤り率の(xに関する)期待値

ε* = p x C1( )P C1( )( )dxR2∫ + p x C2( )P C2( )( )dxR1

P(x|C1)P(C1)

x

R2(C2と判定される領域) R1(C1と判定される領域)

P(x|C2)P(C2)

Page 38: 20130716 はじパタ3章前半 ベイズの識別規則

ベイズ誤り率

• 条件付きベイズ誤り率の(xに関する)期待値

ε* = p x C1( )P C1( )( )dxR2∫ + p x C2( )P C2( )( )dxR1

P(x|C1)P(C1)

x

R2(C2と判定される領域) R1(C1と判定される領域)

P(x|C2)P(C2)

識別境界をずらすと誤り率が増加する

Page 39: 20130716 はじパタ3章前半 ベイズの識別規則

3.1.5. 最小損失基準に基づくベイズの識別規則

• チェックポイント • 最小損失基準という考え方は何故必要か? • 損失行列とはどういうものか? • 最大事後確率基準に基づく識別との関係は?

Page 40: 20130716 はじパタ3章前半 ベイズの識別規則

損失の考え方

•  「病気の人を健康であると誤識別するリスク」は「健康な人を病気であると誤識別するリスク」よりも高い。

• 危険性を考慮した識別が必要。 • 損失:Lij

•  真のクラスがCj であるサンプルを Ci と判断することによって被る損失 •  一般に i = j の時の損失は小さい

• 識別対象のクラスがK個ある場合、K x K の損失行列が定義できる。

L11 L12L21 L22

!

"##

$

%&&= 0 10

20 0

!

"#

$

%&

損失行列の例

Page 41: 20130716 はじパタ3章前半 ベイズの識別規則

最小損失基準に基づく識別

• 観測データ x をクラス Ci と判断した時に被る損失を定義

r Ci x( ) = LikP Ck x( )k=1

K

∑観測データ x を

Ckと判断する確率

• 観測データ x に対して損失が最も小さいクラスに識別する

argminir Ci x( )

Page 42: 20130716 はじパタ3章前半 ベイズの識別規則

最小損失基準に基づく識別の例(2 クラス)

• 事後確率は下記の通りとする •  P(C1|x) = 0.6 •  P(C2|x) = 0.4

• 最大事後確率基準では観測データ x は C1 と判定される • 下記の損失行列を定義

r Ci x( ) = LikP Ck x( )k=1

K

L11 L12L21 L22

!

"##

$

%&&= 0 20

10 0

!

"#

$

%&

真のクラス:C1 (k=1) 真のクラス:C2 (k=2) 合計

識別:C1 (i=1) 0 x 0.6 20 x 0.4 8

識別:C2 (i=2) 10 x 0.6 0 x 0.4 6

C2をC1と識別した時の損失が大きいので、最小損失基準に基づく識別ではC2と判定 損失

L12 × P(C1|x) L22 × P(C2|x)

Page 43: 20130716 はじパタ3章前半 ベイズの識別規則

P(病気|x)

r(健康|x)

P(健康|x)

r(病気|x)

健康と識別 病気と識別

損失の定義による識別境界の移動

• 図3.2 (p28) 参考 • 健康(C1)と病気(C2)に対して、「健康な人を病気と判断する時の損失が大きい」損失行列を定義

• 識別境界が左方に移動し、健康と判断されにくくなる。

L11 L12L21 L22

!

"##

$

%&&= 0 2

0.5 0

!

"#

$

%&

r Ci x( ) = LikP Ck x( )k=1

K

Page 44: 20130716 はじパタ3章前半 ベイズの識別規則

3.1.6 リジェクト

• チェックポイント • リジェクトはどのような目的で行うか? • リジェクトの判断を実際にどのように行うか?

Page 45: 20130716 はじパタ3章前半 ベイズの識別規則

リジェクトの概念

• 誤り率の大きな領域で判断を避ける(リジェクトする) •  ε(x) >= t なる x の領域 •  t :しきい値

• リジェクトを含めた識別規則 • 最大事後確率が 1-t より大きい場合、識別を行う • 全てのクラスの事後確率が1-t 以下の場合リジェクト

• 例:t = 0.3, K=3 の場合の事後確率と識別結果 No P(C1 | x) P(C2 | x) P(C3 | x) 識別結果

① 0.1 0.1 0.8 C3

② 0.5 0.2 0.3 リジェクト

③ 0.9 0.07 0.03 C1

どのクラスに識別しても誤り率は0.3 を

超える

Page 46: 20130716 はじパタ3章前半 ベイズの識別規則

リジェクト率と(誤)認識率の関係

• 認識率 •  [正答数] / ([全テストデータ数] – [リジェクトされたデータ数])

• 誤識別率 •  [誤り数] / ([全テストデータ数] – [リジェクトされたデータ数])

• しきい値との関係 •  しきい値を下げるとリジェクト率が上がる •  しきい値を下げる(リジェクト率が上がる)と認識率は上がり、誤認識率

は下がる。

Page 47: 20130716 はじパタ3章前半 ベイズの識別規則

ありがとうございました!