・ 機械学習は楽観的なとこがある
・ サンプル数
・ データ可視化が大切
人でもないのに楽観的?
最初にそういう言葉があるのを知ったのは、何年も前のことですが、その後、実際に5年ほど前に、楽観的な機械学習に翻弄される人々を目のあたりにしてしまい、シェアしてみました
そのときのデータは使えないので、厳密には再現できませんが、似たような感じで作ったサンプル・データで、エッセンスの共有をしてみます
たとえば、こんな分布をするデータがあったとします
機械学習(何かしらのライブラリ)で、赤(図ではピンクですが)と青を判別分析でふたつにわけようとしてみます 線形判別を使い、線を引いて判別面を可視化します
赤い点の 77 % が正しく判別できた、という結果です
いざ、サンプル数を増やしてみると、赤の正答率は 69 % になって、けっこう下がっています
これは、偶然の結果なのでしょうか?
77 % と 69 % では 結構ちがいます 困ることもあるでしょう
シミュレーション
そこで、サンプル数を 30 から 900 まで徐々に増やしていったときに、それぞれの場合ごとに線形判別モデルを作り、赤の正解率を調べてみました
図からわかるように、サンプル数 500 くらいまでは変動がけっこうあって、サンプル数30 - 50 あたりでピーク (~77 % )をむかえ、そこからだんだんと下がってきます サンプル数 500 以降は、だいたい 70 % 点線 のあたりで落ち着いてきます
最適化
理由は、判別モデルを作るアルゴリズムが、そもそも、「最も上手く判別できるように」作るからで、あたりまえといえば当たり前のことなのですが、これが、機械学習がオプティミスティックだと言われるポイントですね
交差検証や、重みづけ、外れ値の扱いなど、基本的なことはたくさんあるにはあるのですが、それで防ぎようがない側面でもあります
過去には
5年ほど前、サンプル数が増えるほど、判別精度が悪くなることを知ったチームの人々は、日に日に不安が増していきました データを取るときの測定の何かがわるくなったのではないか? 担当者のスキルの問題ではないか? とあれこれ考え、犯人捜しをしていました 正直、あまり見ていていいものではありませんでした
「いやそれ、誰も悪くないし」
このシミュレーションは、正規分布をする2変量データで簡単に作れるので、平均値と分散がわかったところで、シミュレーショして必要なサンプル数を見てみるといいかもしれません