第1種の誤り・第2種の誤り
from 機械学習・AI
このページで説明する2種類の誤りは、人間がなんらかの「判断」や「意思決定」をするとき常に起こり得る、日常生活にも仕事にも応用が効く重要な概念です。
こうした2種類の誤りがあり得ることを認識したうえで、それぞれのリスクを洗い出して、どのリスクをどの程度許容するのかについて合意を取るようなことは、組織や集団において、多くの価値観のもとでなにかのものごとを決めるときの考え方のヒントになるでしょう。
機械学習も、データから学習した予測モデルをもとに、ある種の「判断」を行う(あるいは判断のもととなる情報を導き出す)ものです。機械学習を「実際に使う」場合にも、機械学習が行う「判断」が起こし得る2種類の誤りについて認識をしておくことが重要です。
二値判断と判断の誤り
2つの選択肢のうちどちらを選ぶか決める二値判断(二値分類)では、判断の誤りに2つのタイプがある
https://gyazo.com/baea9a841b316031d01165d220caf7df
画像は以下より引用
Ellis, P.D., “I always get confused about Type I and II errors. Can you show me something to help me remember the difference?”, EffectSizeFAQ.com, https://effectsizefaq.com/2010/05/31/i-always-get-confused-about-type-i-and-ii-errors-can-you-show-me-something-to-help-me-remember-the-difference/ (2022/6/27アクセス)
二値判断(二値分類)において、発見したいクラスを陽性、そうでないクラスを陰性と呼ぶことが多い
上の例では、「妊娠している」ことを発見したいので、「妊娠している」ことを陽性、「妊娠していない」ことを陰性としている
上の例は、「妊娠しているかどうかの診断をする」ケースでの、2種類の誤りを示した図
Type I error(第1種の誤り):妊娠していないのに、妊娠していると診断(誤って陽性と判断するので偽陽性ともいう)
Type II error(第2種の誤り):妊娠しているのに、妊娠していないと診断(誤って陰性と判断するので偽陰性ともいう)
分類問題
機械学習とはにもあるように、機械学習(教師あり学習)は分類問題を解くのによく用いられる
入力されたデータ(パターン)をあらかじめ用意されたいくつかのカテゴリー(クラス)に分類する問題
https://gyazo.com/6e955e613136391db3447a1d21aa62d9
分類問題における2種類の誤り
たとえば、分類問題として「病気の診断」をする機械学習システムを想定すると…
「病気である」と診断することを「陽性」とすると、分類結果は以下の4パターンになり、2種類の誤りが想定される
https://gyazo.com/74dc05a3d427b33cefc66ea714de4cf5
2種類の誤りとそのリスクの例
第1種の誤り、第2種の誤りは、なんらかの2値判断をする場合に常に想定し得る
さらに、それぞれの誤りにはそれぞれのリスクが生じる
例1)医療上の検査(病気を陽性とする場合)
第1種の誤り=偽陽性:本当は病気じゃないのに病気と診断
無駄な医療リソースやコストをかけてしまうリスクがある
第2種の誤り=偽陰性:本当は病気なのに病気じゃないと診断
病気を見逃して悪化させてしまうリスクがある
例2)有罪・無罪の判断(有罪を陽性とする場合)
第1種の誤り:無実の人を有罪と判断
冤罪による人権侵害等のリスクがある
第2種の誤り:有罪の犯人を無罪と判断
真犯人を捕えられず事件を解決できないリスクがある
第1種の誤り、第2種の誤りのトレードオフ
第1種/第2種の誤りは、どちらかの誤りの確率を小さくしようとすると、もう片方の誤りの確率は大きくなる
例1)検査の例
実際に陽性である人を確実に見つけたい(=第2種の誤りを小さくしたい)場合
検査の感度をすごく高くして、ちょっとした「疑わしさ」でも陽性を出すようにする
そうすると、「本当に陽性」の人は確実に見つかるが、「偽陽性」の人が増えてしまう
極端にいえば、全員を陽性と判定すれば、陽性の人は確実に見つけられるが……それって意味ある??
逆に、第1種の誤りを小さくしたい、つまり「陽性」と判断する場合は間違いなく陽性であってほしい場合
検査の判定基準を厳しくして、相当に確信できる場合のみ陽性と判断するようにする
そうすると、陽性と判定した場合には実際に陽性であることが多くなるが、陽性判定がなかなか出ないので、本来見つけたい陽性の人を見つけにくくなる
例2)かもしれない運転・だろう運転
死角に人がいる「かもしれない」と思ってする慎重な運転
第2種の誤りを可能な限り小さくしたい(絶対に人身事故を起こさないようにする)
第1種の誤り(=実際に人はいなかった)は大きくなる
死角には人がいない「だろう」と思ってする危険な運転
第1種の誤りは小さくなるが、第2種の誤り(実際には人がいたのに、いないと思って轢いてしまった)が大きくなってしまう
このように、第1種の誤り、第2種の誤りはトレードオフの関係(どちらかを良くすると片方は悪くなる関係)にある
第2種の誤りを小さくしたいと第1種の誤りが大きくなって「無駄の多い判断」になる
第1種の誤りを小さくしたいと第2種の誤りが大きくなって「見つけたいものが見つけられなく」なる
以下のスプレッドシートで、このトレードオフを体験してみよう
偽陽性・偽陰性のシミュレーション
病気の検査を例にして、偽陽性(第1種の誤り)と偽陰性(第2種の誤り)のトレードオフについてシミュレーションすることができます
2種類の誤りと機械学習
機械学習の分類問題においても、二値判断である以上、これらの2種類の誤りが原理的に起こり得る
たとえば、上のような「病気の診断」を機械学習に置き換えることを想像してみよう
機械学習で医療診断をするという研究や事例はよくある
例:機械学習のデータセットにもBreast Cancer(乳がん)のデータがある
そのため、機械学習を分類問題に活用しようと思う場合には、それぞれの誤りにどのようなリスクがあるのかを想定しておくことが重要
2種類の誤りのリスクと機械学習
第1種の誤り(偽陽性)と第2種の誤り(偽陰性)はトレードオフするが、どちらを重視すべきかは問題による
いずれの誤りを避けるべきかは、想定されるリスクの重大さによって異なるはず
重大な感染症の検査など、命に関わるような強大なリスクであれば、偽陽性を高めてでも確実に検出したい(なるべく第2種の誤りが起こらないようにする)だろう
有罪・無罪の判決だと、「有罪」と判断して実際には無実だった(第1種の誤り:偽陽性)という冤罪は避けるべき(疑わしきは罰せず)なので、なるべく第1種の誤りが起こらないようにするだろう
リスク評価と「予測」の問題
リスクマネジメントの難しさ
リスクを評価し、未然に防ぐための意思決定
リスクは確率的にしか評価できないので、原理的に確率にもとづいた予測による判断
すなわち、100%確実な策はない
最終的には「決定(決断)」の問題である(機械的には決められない)
確率にもとづく判断なので、第1種の誤り・第2種の誤りが一定程度起こり得る
上に書いたように、いずれの誤りを避けるべきかは、想定されるリスクの重大さによって異なるはず
リスク評価の評価
実際には「起こる」か「起こらない」かのいずれか
未然に防ぐための策が「空振り」に終わる(=第1種の誤り)こともある
その場合、しばしば、「やっぱり起こらなかったじゃないか」と低く評価されてしまうこともある… それでいい??
「警報」や「アラート」なども、この問題として捉えたほうがよい
確率的事象について発令するかどうかを決める以上、「偽陽性(警報を出したが実際は発生しない)」も「偽陰性(警報を出さなかったが実際は発生した)」も、必ず起こりうる
災害等の場合、偽陰性は人命にかかわるので絶対に避けたい。ただし、偽陰性を極端に避けると偽陽性を高めてしまう
しかしながら、偽陽性が高いと、「オオカミ少年」になる危険性がある。難しい!
両方の誤りを可能な限り小さくするように、予測のモデルを洗練させることが求められる