パターン認識と機械学習の勉強ノート【1.5 決定理論】

深層学習を学ぶシリーズ

こちらの『パターン認識と機械学習』を読んで,勉強したことをまとめていきます.

前回は,1.4節の次元の呪いについてまとめました.

今回は,1.5節の決定理論です.

決定理論とは

決定理論とは,『意思決定を数学的・統計学的に行うための理論』です.

例えば,癌検査をして,手術を行うか否かを判定するとしましょう.

癌である確率が90%と言われたら,ほとんどの人は治療を行いますよね.なら,50%なら?それでも手術を受ける人が多いかもしれません.では,5%なら?5%くらいじゃ手術を受けたくないかもしれません.

では,癌である確率が何%以上と言われたら治療を行うのか?その根拠は?

何をもって意思決定をするかを定量的に扱うのが決定理論です.

識別境界を決定する

X線画像xによってがん診断をしたときに,どのような画像xならば癌であると判断し,どんな画像ならば癌でないと判断するのがの境界を決定することを考えます.

p(x, C_1)は画像データがxのときに癌である確率,p(x, C_2)は画像データがxのときに癌でない確率として,

以下の図ように,識別境界\hat xの場所を決めます.

パターン認識と機械学習から引用

\hat xは識別境界であり,癌であると判断するR_1の範囲と癌でないと判断するR_2の範囲に分けるxの値です.

誤識別率の最小化

我々としては,がん診断を間違える確率,つまり,癌と判断したのに(R_1の範囲)実際には癌でなかったり,癌でないと判断したのに(R_2の範囲)実際には癌であったりする確率を少なくしたいです.

上図の見方として,例えば,p(x, C_2)のピークでは,癌でない確率が高いわけですから,癌でないと判断したいので,\hat xp(x, C_2)のピークよりも左側に位置付けたいはずです.ただ,あまりにも\hat xを左に移動させすぎて,p(x, C_1)のピークの近くにもっていくと,実際には癌なのに(C_1),癌でないと判断する部分が大きくなってしまう,という感じです.

上の図において,間違えた判断をしている確率は

・癌と判断(R_1の範囲)したのに,癌でない(クラスC_2に属する)確率(赤色と緑色の部分)

・癌でないと判断(R_2の範囲)したのに,癌である(クラスC_2に属する)確率(青色の部分)

の和です.

よって,間違える確率は

    \[p(mistake)=\int_{R_1} p(x,C_{2})dx + \int_{R_2} p(x,C_{1})dx\]

と書くことができます.

最適な位置は上図の\hat x = x_0のところになります.なぜなら,\hat xを移動させても緑と青の面積は減らないが,赤の面積は減るからです.

この間違える確率を最小化する\hat xを探すというのが,一つの意思決定のしかたということになります.

ちなみに,文脈からも分かるように,今の場合,画像データxが与えられたときに誤ったクラスC_kである確率p(C_k|x)を最小化することと同義です.なぜなら,上の式においてp(x, C_k)=p(C_k|x)p(x)であり,p(x)はどの項にも共通だからです.

正解率の最小化

上の例では癌である確率と癌でない確率の2クラスでしたが,多数のクラスがある場合は,評価関数として正解率を選び,最大化する方が簡単になります.

クラスがKの場合,正解率は,

    \[p(correct)=\sum_{k=1}^{K} \int_{R_k} p(x, C_k)dx\]

となり,これを最大化するように領域R_kを割り当てます.

期待値損失の最小化

上の例では,意思決定において,現実的には不十分な部分があります.

「癌であると判断したのに,実は癌でない」と,「癌でないと判断したのに,実は癌である」では,明らかに後者の方が『嫌』ですよね.命に関ります.

なので,「癌でないと判断したのに,実は癌である確率」はできるだけ避けたいです.

そのような,判断と結果の組み合わせによって重大さを変えたい場合は,以下のような期待損失を用意し,最小化します.

    \[E[L]=\sum_{k}\sum_{j} \int_{R_j}L_{kj}p(x,C_k)dx\]

Lは損失行列で,判断と結果の重大さを表します.

例えば,行を判断,列を真の結果であるとし,インデックス1を癌クラス,インデックス2を正常クラスとすると,

    \[\mbox{\boldmath $L$} = \left(\begin{array}{cc}0 & 1000 \\ 1 & 0 \end{array}\right)\]

とすれば,癌でないと判断したときに,実際には癌であった場合,その重みは1000となっており,この確率はより減らさなければ評価関数は小さくならないので,上の評価関数を減らすことが良い判断を求めることになります.

棄却オプション

意思決定の方法の考え方として,棄却オプションというものがあります.

これは,複数のクラスが拮抗しているときには,『そもそも決定をしない』という考え方です.

たとえば,X線画像データから癌である確率が50%,癌でない確率が50%という結果が得られたときに,癌だ,癌でないという決定を行わず,「何もしない(棄却)」します.

この拮抗具合,棄却の判断は,50%/50%でなくても,ある閾値を用いることで(例えば40%/60%でもいい),決定したものに対して自信を持てる程度が変わります.

推論と決定

決定問題を扱う場合,例えば以下の3つのようなアプローチがあります.

・生成モデル

クラスの条件付き密度p(x|C_k)と事前クラス確率p(C_k)を求め,ベイズの定理を使ってp(C_k|x)を計算する(推論段階).

p(C_k|x)が計算できれば,あとは決定理論で新たな入力xのクラスを求めることができる(決定段階)

・識別モデル

クラス事後確率p(C_k|x)を求める推論問題をいきなり解き(事後確率を直接モデル化する),決定理論を使って新たな入力xをクラスに割り当てる.

・識別関数

入力xをクラスに写像するような関数f(x)を見つける(これだけ)

識別関数のやり方は,かなり雑で,人為的な結果になりますね.

回帰のための損失関数

これまでは,分類問題の話で決定理論を議論してきましたが,ここでは1.1節で述べた曲線フィッティングのような回帰問題で話を進めます.

各入力xに対して,tの値に対する特定の推定値y(x)を選ぶとき,

損失L(t,y(x))を用いて,期待損失を以下のように与えます.

    \[E[L]=\int \int L(t,y(x))p(x,t)dxdt\]

例えば,損失関数が二乗誤差のとき,L(t,y(x))=\{ y(x)-t \} ^2です.

目標はE[L]が最小になるような推定値y(x)を見つけることなので,期待損失をy(x)について変分して0と置くと,

    \[\delta E[L] = 2 \int \{y(x)-t\}p(x,t)dt \delta y(x) = 0\]

より(このとき,xに関する積分が消えているのは丁寧な数学変形では分かりませんでした.xに関する積分の中身が0にならなければならないという意味を取り込んでいるからかもしれません),y(x)について解くと

    \[y(x) = \frac{p(x)}{\int tp(x,t)dt} = \int t p(t|x)dt = E_{t}[t|x]\]

となります.

つまり,期待損失を最小化するy(x)は,xが与えられた下でのtの条件付き平均となり,回帰関数と呼ばれるものになります.

つまり,このE_{t}[t|x]を求めることができれば,回帰問題が解けることになります.E_{t}[t|x]を求めるには,p(t|x)を何らかの形(推論もしくはp(x,t)と規格化定数から求めるなど)で求める必要があります.

もしくは,以上の手順を踏まなくとも回帰問題を解くには,回帰関数y(x)を直接訓練データから計算するという方法もあります.

まとめ

・決定理論とは,『意思決定を数学的・統計学的に行うための理論』

・識別境界を求めるために正解率

    \[p(correct)=\sum_{k=1}^{K} \int_{R_k} p(x, C_k)dx\]

を最大化,もしくは誤識別率を最小化する.

・期待値損失で意思決定に表現を持たせる

・決定問題を解く3つのアプローチ

決定問題を解く3つのアプローチ

1.生成モデル

2.識別モデル

3.識別関数

・回帰のための損失関数

    \[E[L]=\int \int L(t,y(x))p(x,t)dxdt\]

損失関数が二乗誤差のとき,最適な推定値y(x)

    \[y(x) = E_{t}[t|x]\]

すこし雑になってきたので,次回からは気持ちを入れ替えて,しっかりと考察を書いていきます.

次回は,1.6章情報理論について述べます.

コメント

タイトルとURLをコピーしました