2017年3月28日 更新

【機械学習勉強会】パターン認識と機械学習(PRML)第1章のまとめ Part.3 ~決定理論~

機械学習理論の名著である『パターン認識と機械学習』(Pattern Recognition and Machine Learning, PRML)の内容をまとめます. 第1章の Part.3 では,「決定理論」について説明します.

9,997 view お気に入り 0

「最も確率の高いもの」を選ぶのが自然な場合もありますが, そうでない場合もあります.例えば, 「45%の確率で肺がんであり,55%の確率で肺がんではない」と診断された場合. 「肺がんではない」確率の方が高いからといって, そう結論付けてしまうのが妥当とは考えにくいですね. 当人からすれば,とても安心できる数字ではないでしょう. 肺がんの可能性を重視し,詳しい検査などしかるべき処置を取るべきであるといえます.

これは,「誤った決定をしたときに生じる損失」に偏りがあることが原因です. 肺がんでない人を「肺がんである」と診断した場合, さらなる検査を受けることなり, 検査の対象者へ心理的・身体的な負担を与えます. 一方で,肺がんの人を「肺がんでない」と診断した場合, その人はしかるべき治療を受けられず,寿命が全うできない可能性があります. 多くの人にとって,より避けたいのは後者のほうでしょう.

こういった場合,「損失関数の最小化」という考え方が用いられます. まず, 「本来クラス $i$ のものを,クラス $j$ であると決定ときに生じる損失」 を $L_{ij}$ とし,予め具体的な数値として決定しておきます. すると,私たちが割り当てるべきクラス $j$ は,$L_{ij}$ を用いた次の式 \begin{align} \sum_{k}L_{kj}p(C_k\mid \bm{x}) \end{align} が最小となるもの,として決定されます. これは,「$\bm{x}$が与えられたときに生じる期待損失を最小にする」ことに相当します.

たとえば先ほどの肺がんの例に当てはめてみます. クラス1を「がん」,クラス2を「正常」とします. $L_{11}$ および $L_{22}$ は正しい判断をしているのですから,損失は0. $L_{12}$ は「がん患者を正常と見なす誤識別」, $L_{21}$ は「がんでない人をがんと見なす誤識別」ですから, 先程の価値観にのっとれば,$L_{12}\gg L_{21}$ とするのが妥当です. たとえば,$L_{12}=1000, L_{21}=1$ としましょう.このとき,上の関数は \begin{align} &L_{1j}p(C_1\mid \bm{x})+L_{2j}p(C_2\mid \bm{x})\\ &=\begin{cases} p(C_2\mid \bm{x})&(j=1)\\ 1000p(C_1\mid \bm{x})&(j=2) \end{cases} \end{align} となります.「正常」と判断したときに重いリスクがつくことが分かりますね. これで,機械もほとんど明らかな場合に限って「正常」の判断を下すようになり, がんを見逃すことを避ける効果が期待できます.

棄却オプション

今までの方法は「決定をすべて機械にゆだねる」という観点から行っていました. しかし,たとえば患者のX線画像を見て, 機械がきわどい結果を出したとき, はたしてその機械が「決定」まで行う必要があるのでしょうか. より現実的な話をすると,機械の目が人間の専門家の目ほど育っていない場合, 肺がんであるかどうか明らかな画像は機械に任せるとしても, 機械が微妙な結果を出したときは画像診断の専門家に任せる方が確実です.

このような場合,ある棄却オプションを付ける方法が考えられます. つまり,事後確率 $p(C_k\mid \bm{x})$ の最大値がある値 $\theta$ を下回った場合, 「決定できない」と診断する(棄却する),ということです.

棄却オプションの概念図

棄却オプションの概念図

青線,赤線は $\bm{x}$ がそれぞれのクラスに属している確率を示す.
reject region と書かれている部分は,
どちらのクラスに属している確率もしきい値 $\theta$ を超えなかった部分であり,
人間的に言えば「どちらとも言い難い」部分であるから,決定を棄却(reject)する.

図を見れば当然かもしれないが,棄却域の広さは $\theta$ の大きさによって大きく変動する.
たとえば$\theta=1$ とすると,すべての事例が棄却される.

回帰における決定問題

上で話したことは,全てクラス分類問題に関することでした. しかし,回帰問題においても同じ議論を適用することができます. つまり,入力ベクトル $\bm{x}$ が与えられたときに目標変数 $t$ を決定したいというときも, 3種類のアプローチを考えることができます.

  1. 同時分布 $p(\bm{x},t)$ を推定する方法. そこから $p(t\mid \bm{x})$ を求め, 決定理論を用いて $\bm{x}$ にふさわしい $t$ を決定する.
  2. 最初にクラス事後確率 $p(t\mid \bm{x})$ を求め, そのあと $\bm{x}$ にふさわしい $t$ を決定する.
  3. 回帰関数 $y(\bm{x})$ を直接求めて $t$ を決定してしまう.

そして,各手法のメリット・デメリットも, クラス分類問題におけるそれと同じものになります. A,B は確率の話が入る分面倒ですが, 損失関数などを設定し直すことにより, より事情を酌んだ決定を行うことができます.


今回のお話はここまでです. 次回は「情報理論」についてお話しする予定です. ご期待ください!

23 件

関連する記事 こんな記事も人気です♪

【機械学習勉強会】パターン認識と機械学習(PRML)第1章のまとめ Part.2 ~モデル選択・次元の呪い~

【機械学習勉強会】パターン認識と機械学習(PRML)第1章のまとめ Part.2 ~モデル選択・次元の呪い~

機械学習理論の名著である『パターン認識と機械学習』(Pattern Recognition and Machine Learning, PRML)の内容をまとめます. 第1章の Part.2 では,「モデル選択」「次元の呪い」について説明します.
最上 伸一 | 10,307 view
【機械学習勉強会】パターン認識と機械学習(PRML)第1章のまとめ Part.1

【機械学習勉強会】パターン認識と機械学習(PRML)第1章のまとめ Part.1

機械学習理論の名著である『パターン認識と機械学習』(Pattern Recognition and Machine Learning, PRML)の内容をまとめます.
最上 伸一 | 22,356 view
KaggleチュートリアルTitanicで上位3%以内に入るには。(0.82297)

KaggleチュートリアルTitanicで上位3%以内に入るには。(0.82297)

まだ機械学習の勉強を初めて4ヶ月ですが、色々やってみた結果、約7000人のうち200位ぐらいの0.82297という記録を出せたので、色々振り返りながら書いていきます。
Takumi Ihara | 185,819 view
LSTMとは〜概要と応用について〜

LSTMとは〜概要と応用について〜

音声信号処理や文章・対話の生成に用いられているLSTM(Long Short Term Memory)についてまとめました。
pythonによるtensorflow〜deepdreamによる画像変換〜

pythonによるtensorflow〜deepdreamによる画像変換〜

今回は前回のtensorflowの記事に引き続き、deepdreamによる画像変換についてご紹介します。

この記事のキーワード

この記事のキュレーター

最上 伸一 最上 伸一