こちらの『パターン認識と機械学習』を読んで,勉強したことをまとめていきます.
前回は,1.4節の次元の呪いについてまとめました.
今回は,1.5節の決定理論です.
決定理論とは
決定理論とは,『意思決定を数学的・統計学的に行うための理論』です.
例えば,癌検査をして,手術を行うか否かを判定するとしましょう.
癌である確率が90%と言われたら,ほとんどの人は治療を行いますよね.なら,50%なら?それでも手術を受ける人が多いかもしれません.では,5%なら?5%くらいじゃ手術を受けたくないかもしれません.
では,癌である確率が何%以上と言われたら治療を行うのか?その根拠は?
何をもって意思決定をするかを定量的に扱うのが決定理論です.
識別境界を決定する
X線画像によってがん診断をしたときに,どのような画像
ならば癌であると判断し,どんな画像ならば癌でないと判断するのがの境界を決定することを考えます.
は画像データが
のときに癌である確率,
は画像データが
のときに癌でない確率として,
以下の図ように,識別境界の場所を決めます.

は識別境界であり,癌であると判断する
の範囲と癌でないと判断する
の範囲に分ける
の値です.
誤識別率の最小化
我々としては,がん診断を間違える確率,つまり,癌と判断したのに(の範囲)実際には癌でなかったり,癌でないと判断したのに(
の範囲)実際には癌であったりする確率を少なくしたいです.
上図の見方として,例えば,のピークでは,癌でない確率が高いわけですから,癌でないと判断したいので,
は
のピークよりも左側に位置付けたいはずです.ただ,あまりにも
を左に移動させすぎて,
のピークの近くにもっていくと,実際には癌なのに(
),癌でないと判断する部分が大きくなってしまう,という感じです.
上の図において,間違えた判断をしている確率は
・癌と判断(の範囲)したのに,癌でない(クラス
に属する)確率(赤色と緑色の部分)
・癌でないと判断(の範囲)したのに,癌である(クラス
に属する)確率(青色の部分)
の和です.
よって,間違える確率は
と書くことができます.
最適な位置は上図ののところになります.なぜなら,
を移動させても緑と青の面積は減らないが,赤の面積は減るからです.
この間違える確率を最小化するを探すというのが,一つの意思決定のしかたということになります.
ちなみに,文脈からも分かるように,今の場合,画像データが与えられたときに誤ったクラス
である確率
を最小化することと同義です.なぜなら,上の式において
であり,
はどの項にも共通だからです.
正解率の最小化
上の例では癌である確率と癌でない確率の2クラスでしたが,多数のクラスがある場合は,評価関数として正解率を選び,最大化する方が簡単になります.
クラスがの場合,正解率は,
となり,これを最大化するように領域を割り当てます.
期待値損失の最小化
上の例では,意思決定において,現実的には不十分な部分があります.
「癌であると判断したのに,実は癌でない」と,「癌でないと判断したのに,実は癌である」では,明らかに後者の方が『嫌』ですよね.命に関ります.
なので,「癌でないと判断したのに,実は癌である確率」はできるだけ避けたいです.
そのような,判断と結果の組み合わせによって重大さを変えたい場合は,以下のような期待損失を用意し,最小化します.
は損失行列で,判断と結果の重大さを表します.
例えば,行を判断,列を真の結果であるとし,インデックス1を癌クラス,インデックス2を正常クラスとすると,
とすれば,癌でないと判断したときに,実際には癌であった場合,その重みは1000となっており,この確率はより減らさなければ評価関数は小さくならないので,上の評価関数を減らすことが良い判断を求めることになります.
棄却オプション
意思決定の方法の考え方として,棄却オプションというものがあります.
これは,複数のクラスが拮抗しているときには,『そもそも決定をしない』という考え方です.
たとえば,X線画像データから癌である確率が50%,癌でない確率が50%という結果が得られたときに,癌だ,癌でないという決定を行わず,「何もしない(棄却)」します.
この拮抗具合,棄却の判断は,50%/50%でなくても,ある閾値を用いることで(例えば40%/60%でもいい),決定したものに対して自信を持てる程度が変わります.
推論と決定
決定問題を扱う場合,例えば以下の3つのようなアプローチがあります.
・生成モデル
クラスの条件付き密度と事前クラス確率
を求め,ベイズの定理を使って
を計算する(推論段階).
が計算できれば,あとは決定理論で新たな入力
のクラスを求めることができる(決定段階)
・識別モデル
クラス事後確率を求める推論問題をいきなり解き(事後確率を直接モデル化する),決定理論を使って新たな入力
をクラスに割り当てる.
・識別関数
入力をクラスに写像するような関数
を見つける(これだけ)
識別関数のやり方は,かなり雑で,人為的な結果になりますね.
回帰のための損失関数
これまでは,分類問題の話で決定理論を議論してきましたが,ここでは1.1節で述べた曲線フィッティングのような回帰問題で話を進めます.
各入力に対して,
の値に対する特定の推定値
を選ぶとき,
損失を用いて,期待損失を以下のように与えます.
例えば,損失関数が二乗誤差のとき,です.
目標はが最小になるような推定値
を見つけることなので,期待損失を
について変分して0と置くと,
より(このとき,に関する積分が消えているのは丁寧な数学変形では分かりませんでした.
に関する積分の中身が0にならなければならないという意味を取り込んでいるからかもしれません),
について解くと
となります.
つまり,期待損失を最小化するは,
が与えられた下での
の条件付き平均となり,回帰関数と呼ばれるものになります.
つまり,このを求めることができれば,回帰問題が解けることになります.
を求めるには,
を何らかの形(推論もしくは
と規格化定数から求めるなど)で求める必要があります.
もしくは,以上の手順を踏まなくとも回帰問題を解くには,回帰関数を直接訓練データから計算するという方法もあります.
まとめ
・決定理論とは,『意思決定を数学的・統計学的に行うための理論』
・識別境界を求めるために正解率
を最大化,もしくは誤識別率を最小化する.
・期待値損失で意思決定に表現を持たせる
・決定問題を解く3つのアプローチ
1.生成モデル
2.識別モデル
3.識別関数
・回帰のための損失関数
損失関数が二乗誤差のとき,最適な推定値は
すこし雑になってきたので,次回からは気持ちを入れ替えて,しっかりと考察を書いていきます.
次回は,1.6章情報理論について述べます.
コメント