狠狠撸

狠狠撸Share a Scribd company logo
はじパタ!輪読会
第3章前半
ベイズの識別規則	
2013.07.16 (火)
担当: @_kobacky	
http://www.amazon.co.jp/dp/4627849710
自己紹介	
??Twitter ID : @_kobacky
??どこで働いている?
?? 株式会社 ALBERT システム開発部
??日頃のお仕事?
?? システム設計?プログラム開発
?? レコメンドエンジンとか、Twitterの解析を行うシステムとか
?? ウェブサイト運用
?? etc.
3.1で学ぶこと	
??3.1.1 ベイズの識別規則
??3.1.2 ベイズの識別規則の例
??3.1.3 尤度比
??3.1.4 ベイズの識別規則は誤り率最小
??3.1.5 最小損失基準に基づくベイズの識別規則
??3.1.6 リジェクト
3.1で学ぶこと	
??3.1.1 ベイズの識別規則
??3.1.2 ベイズの識別規則の例
??3.1.3 尤度比
??3.1.4 ベイズの識別規則は誤り率最小
??3.1.5 最小損失基準に基づくベイズの識別規則
??3.1.6 リジェクト
本章で扱う識別問題	
?? 観測データ x と所属するクラスの間に確率分布が仮定される
識別問題(p21)
P(x|C2)	
x	
P(x|C1)	
の
生
起
確
率	
x
3.1.1. 最大事後確率基準	
??チェックポイント
?? 事前確率?事後確率とは何か?
?? 修正項における尤度?周辺確率とは何か?
?? ベイズの定理を用いて識別境界をどのように決定するか?
突然ですが??	
??目の前にくじの入った袋があります。
?? 袋の中には赤い紙と青い紙が折り畳まれて入っています。
?? 紙を広げるとその中に「あたり」「はずれ」のどちらかが記述
されています。
突然ですが??	
??目の前にくじの入った袋があります。
?? 袋の中には赤い紙と青い紙が折り畳まれて入っています。
?? 紙を広げるとその中に「あたり」「はずれ」のどちらかが記述
されています。
??これまで100人の人がくじを引きました。
?? 60人が赤い紙、40人が青い紙でした。
?? 30人が「あたり」でした。
?? 「あたり」を引いた人のうち10人は赤い紙で、20人は青い紙でした。
突然ですが??	
??目の前にくじの入った袋があります。
?? 袋の中には赤い紙と青い紙が折り畳まれて入っています。
?? 紙を広げるとその中に「あたり」「はずれ」のどちらかが記述
されています。
??これまで100人の人がくじを引きました。
?? 60人が赤い紙、40人が青い紙でした。
?? 30人が「あたり」でした。
?? 「あたり」を引いた人のうち10人は赤い紙で、20人は青い紙でした。
?? とある情報スジからくじの色と「あたり」の割合には何かし
らの関係があるという情報をつかんでいます。
(勉強会発表時の実演 )	
??ここで @Prunus1350 さんがクジを引くことになりま
した。
(勉強会発表時の実演 )	
??ここで @Prunus1350 さんがクジを引くことになりま
した。
??この時点で @Prunus1350 さんが当たりを引く確率
は 「30 / 100」である予測できます。
(勉強会発表時の実演 )	
??ここで @Prunus1350 さんがクジを引くことになりま
した。
??この時点で @Prunus1350 さんが当たりを引く確率
は 「30 / 100」である予測できます。
??ここで @Prunus1350 さんがクジを引いたところ、青
いクジを引き当てました。
(勉強会発表時の実演 )	
??ここで @Prunus1350 さんがクジを引くことになりま
した。
??この時点で @Prunus1350 さんが当たりを引く確率
は 「30 / 100」である予測できます。
??ここで @Prunus1350 さんがクジを引いたところ、青
いクジを引き当てました。
??この時点で @Prunus1350 さんが当たりを引く確率
は 「20 / 40」である予測できます。
(勉強会発表時の実演 )	
??ここで @Prunus1350 さんがクジを引くことになりま
した。
??この時点で @Prunus1350 さんが当たりを引く確率
は 「30 / 100」である予測できます。
??ここで @Prunus1350 さんがクジを引いたところ、青
いクジを引き当てました。
??この時点で @Prunus1350 さんが当たりを引く確率
は 「20 / 40」である予測できます。
クジの色を観測する前から
わかる確率
「事前確率」	
クジの色を観測したことに
よってわかった確率
「事後確率」
(勉強会発表時の実演 )	
??ここで @Prunus1350 さんがクジを引くことになりま
した。
??この時点で @Prunus1350 さんが当たりを引く確率
は 「30 / 100」である予測できます。
??ここで @Prunus1350 さんがクジを引いたところ、青
いクジを引き当てました。
??この時点で @Prunus1350 さんが当たりを引く確率
は 「20 / 40」である予測できます。
??(??ちなみに @Prunus1350 さんがクジを開いたとこ
ろ見事当たりでした。さすが @Prunus1350 さん!)
ベイズの定理	
??ベイズの識別規則はベイズの定理で定義される最大
事後確率が最も大きなクラスに観測データを分類す
る。
?? 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
ベイズの定理	
??ベイズの定理は下記の項からなる
?? 事後確率
?? 事前確率
?? クラス条件付き確率(尤度)
?? 周辺確率
P Ci x( )=
p x Ci( )
p x( )
× P Ci( )
事後確率	
尤度	
周辺確率	
事前確率
ベイズの定理	
??事後確率
?? 観測データ x が与えられた下で、それがクラス Ci に属する条件
付き確率
?? 事前確率
?? Ci の生起確率
?? データを観測する前からわかっている確率
P Ci x( )=
p x Ci( )
p x( )
× P Ci( )
事後確率	
尤度	
周辺確率	
事前確率
ベイズの定理	
??尤度
?? クラスCiが与えられた下での観測データ x の確率分布
P Ci x( )=
p x Ci( )
p x( )
× P Ci( )
事後確率	
尤度	
周辺確率	
事前確率	
C1	
 C2	
x
ベイズの定理	
??周辺確率
?? 観測データ x の生起確率
?? 全てのクラスに対する観測データ x の同時確率を合計(周辺化)
することで得られる。
P Ci x( )=
p x Ci( )
p x( )
× P Ci( )
事後確率	
尤度	
周辺確率	
事前確率	
p x( )= p Ci, x( )
i=1
K
∑
最大事後確率基準による識別	
?? 識別においては、観測データ x に対して事後確率が一番大きなクラ
スを採用する。
?? 事前確率p(x) はクラスが異なっても一定であるため、識別において
は無視できる。
argmax
i
P Ci x( )
= argmax
i
p x Ci( )P Ci( )
p x( )
= argmax
i
p x Ci( )P Ci( )
3.1.2. ベイズの識別規則の例	
??チェックポイント
?? 実際の事後確率演算の流れはどのようになるか?
状況設定	
??下記の観測データから「健康な人(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人
演算の目標	
??最終的に求めたいものは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( )
事前確率の演算	
??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( )
尤度の演算	
??条件付き独立 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)の演算
周辺確率の演算	
?? 周辺化により 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) (←周辺化)
①	
②	
③
事後確率の演算	
?? ベイズの定理より事後確率を演算
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 に対して事後確率の大きい方のクラ
スとして判定される。
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
!
"
#
$
%
&
3.1.4. ベイズの識別規則は誤り率最小	
??チェックポイント
?? ベイズの識別規則における「条件付きベイズ誤り率」とは何
か?
?? ベイズ誤り率の定義と計算方法はどういうものか?
?? なぜベイズの識別境界で誤り率は最小になるのか?
条件付きベイズ誤り率	
?? ある観測データ x が与えられた時、ベイズの識別規則に従っ
て識別を行った場合に誤識別する確率
?? ε(x) = min [P(C1|x), P(C2|x)]
P(C1|x)	
x	
x1	
P(C2|x)	
 観測データ x の値が
x1 である場合に
誤識別をする確率	
R2(C2と判定される領域)	
R1(C1と判定される領域)
ベイズ誤り率	
?? 条件付きベイズ誤り率の(xに関する)期待値
ε*
= E ε x( ){ }= ε x( )p x( )dx
R1+R2
∫ 期待値の定義より
ベイズ誤り率	
?? 条件付きベイズ誤り率の(xに関する)期待値
ε*
= E ε x( ){ }= ε x( )p x( )dx
R1+R2
∫
ε(x)の定義代入	
= min P C1 x( ), P C2 x( )!
"
#
$p x( )dx
R1+R2
∫
ベイズ誤り率	
?? 条件付きベイズ誤り率の(xに関する)期待値
ε*
= E ε x( ){ }= ε x( )p x( )dx
R1+R2
∫
ベイズの定理代入	
= min P C1 x( ), P C2 x( )!
"
#
$p x( )dx
R1+R2
∫
= min
p x C1( )P C1( )
p x( )
,
p x C2( )P C2( )
p x( )
!
"
#
#
$
%
&
&
p x( )dx
R1+R2
∫
ベイズ誤り率	
?? 条件付きベイズ誤り率の(xに関する)期待値
ε*
= E ε x( ){ }= ε x( )p x( )dx
R1+R2
∫
p(x) で約分	
= min P C1 x( ), P C2 x( )!
"
#
$p x( )dx
R1+R2
∫
= min
p 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( )!
"
#
$dx
R1+R2
∫
ベイズ誤り率	
?? 条件付きベイズ誤り率の(xに関する)期待値
ε*
= E ε x( ){ }= ε x( )p x( )dx
R1+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( )dx
R1+R2
∫
= min
p 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( )!
"
#
$dx
R1+R2
∫
= p x C1( )P C1( )( )dx
R2
∫ + p x C2( )P C2( )( )dx
R1
∫
ベイズ誤り率	
?? 条件付きベイズ誤り率の(xに関する)期待値
ε*
= p x C1( )P C1( )( )dx
R2
∫ + p x C2( )P C2( )( )dx
R1
∫
P(x|C1)P(C1)	
x	
R2(C2と判定される領域)	
R1(C1と判定される領域)	
P(x|C2)P(C2)
ベイズ誤り率	
?? 条件付きベイズ誤り率の(xに関する)期待値
ε*
= p x C1( )P C1( )( )dx
R2
∫ + p x C2( )P C2( )( )dx
R1
∫
P(x|C1)P(C1)	
x	
R2(C2と判定される領域)	
R1(C1と判定される領域)	
P(x|C2)P(C2)	
識別境界をずらすと
誤り率が増加する
3.1.5. 最小損失基準に基づくベイズの識別規則	
??チェックポイント
?? 最小損失基準という考え方は何故必要か?
?? 損失行列とはどういうものか?
?? 最大事後確率基準に基づく識別との関係は?
損失の考え方	
?? 「病気の人を健康であると誤識別するリスク」は「健康な人を
病気であると誤識別するリスク」よりも高い。
?? 危険性を考慮した識別が必要。
?? 損失:Lij
?? 真のクラスがCj であるサンプルを Ci と判断することによって被る損失
?? 一般に i = j の時の損失は小さい
?? 識別対象のクラスがK個ある場合、K x K の損失行列が定義
できる。
L11 L12
L21 L22
!
"
#
#
$
%
&
&
=
0 10
20 0
!
"
#
$
%
&
損失行列の例
最小損失基準に基づく識別	
?? 観測データ x をクラス Ci と判断した時に被る損失を定義
r Ci x( )= LikP Ck x( )
k=1
K
∑
観測データ x を
Ckと判断する確率	
?? 観測データ x に対して損失が最も小さいクラスに識別する
argmin
i
r Ci x( )
最小損失基準に基づく識別の例(2 クラス)	
?? 事後確率は下記の通りとする
?? P(C1|x) = 0.6
?? P(C2|x) = 0.4
?? 最大事後確率基準では観測データ x は C1 と判定される
?? 下記の損失行列を定義
r Ci x( )= LikP Ck x( )
k=1
K
∑
L11 L12
L21 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)
P(病気|x)	
r(健康|x)	
P(健康|x)	
r(病気|x)	
健康と識別	
 病気と識別	
損失の定義による識別境界の移動	
?? 図3.2 (p28) 参考
?? 健康(C1)と病気(C2)に対して、「健康な人を病気と判断する
時の損失が大きい」損失行列を定義
?? 識別境界が左方に移動し、健康と判断されにくくなる。
L11 L12
L21 L22
!
"
#
#
$
%
&
&
=
0 2
0.5 0
!
"
#
$
%
&
r Ci x( )= LikP Ck x( )
k=1
K
∑
3.1.6 リジェクト	
??チェックポイント
?? リジェクトはどのような目的で行うか?
?? リジェクトの判断を実际にどのように行うか?
リジェクトの概念	
??誤り率の大きな領域で判断を避ける(リジェクトする)
?? ε(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 を
超える
リジェクト率と(誤)認識率の関係	
??認識率
?? [正答数] / ([全テストデータ数] – [リジェクトされたデータ数])
??誤識別率
?? [誤り数] / ([全テストデータ数] – [リジェクトされたデータ数])
?? しきい値との関係
?? しきい値を下げるとリジェクト率が上がる
?? しきい値を下げる(リジェクト率が上がる)と認識率は上がり、誤認識率
は下がる。
ありがとうございました!

More Related Content

20130716 はし?ハ?タ3章前半 ヘ?イス?の識別規則