これまで、少ないデータから意味を見出すための方法論「スパースモデリング」(スパース性)についてさまざまな事例を用いながら解説してきた。今回はスパース性を絡め、データと人間の経験の融合させるという機械学習の取り組みを紹介する。
イカサマを疑うのは誰か
コインを何度も振っていると、表が出たり、裏が出たりする。結果はその時々で違い、いわゆる「確率的な現象」となる。コインも物体であることには間違いないから、うまく投げたらいつでも表に、いつでも裏にできそうにも感じるが、素人にはうまくできない。コインの表裏の記録もれっきとしたデータである。
「データに基づいて、その背後にある関係を捕まえることを機械に任せ、機械が勝手にその法則性を学び、次に何が起こるかを予言する」――この一連の所作を機械学習という。
では、コインを3度投げ、3回立て続けに表が出たとしよう。あなたはそのコインにイカサマがあると断定できるだろうか。
スパース性は人間の直感
こうして起きた事実を基に、そのコインの性質を学び取れというのが機械学習の第一段階である。その時に「データに忠実に」学習するべきかどうか。コインの表が立て続けに、実は「たまたま」出てしまった場合に、そのデータに基づきコインの性質を決めると、“イカサマ”を疑うはめになる。
このように少ないデータから機械学習を駆使して、背後にあるコインの性質や物事の真理を学び取ろうとすると、データを信じ過ぎてしまうという「過学習」という問題が生じてしまう。過学習の際、データをあまりに信じ過ぎてはいけないと人間が手で押さえつける方法を「正則化」という。
なぜ人間は、データをあまり信じ過ぎてはいけないということを知っているのだろうか。それは過去の膨大なデータに裏打ちされた経験があるからだ。実は人間もビッグデータの申し子であり、人間はこれまで大量のデータにさらされて、学習してきた優れたマシンなのだ。その人間を差し置いて「学習」の進化があり得るだろうか。
考え方は2つに分かれるだろう。「機械を賢くさせるために、人間の力はできる限り排除するべきだ」という考え。「いや人間の知恵を利用して、機械を加速度的に進化させるべきだ」という考え。後者は最終的には機械を自立させることを目指しているが途中は並走するべきだというわけだ。
以前、紹介した回帰の問題を思い出してほしい。いくつかのデータ点にできる限り近くなるようにグラフの形を決めるという話だ。これもデータこそが真実なのだから、その点に忠実に沿うようにグラフを決めたら良いというのはもっともだ。しかし、そのデータには不確実な要素があり、信用に足らないこともあるし、数が少ないと過学習の恐れはある。
そして何より、人間の意志である。複雑な現象であってもできる限り単純化できたら良いな、それを美しいと思う、自然だと思う何か感情めいたものがある。何より物事を理解するためには、必要最低限の情報に止めて、雑音は防ぎたい。そのためにスパースな本質をえぐりとる技術が歓迎される。全ては人間の知恵と利益の追求から来ているのだ。