スパースモデリングとは
本連載で紹介する「スパースモデリング」とは、前節であげたディープラーニングが適用しにくいような
- データが少ない
- 説明責任が求められる
といった状況でも、ビジネスで利用できるシステムを構築しうる手法の一つです。スパースモデリングはあくまでデータ解析における一つの手法、アプローチに近く、ディープラーニングやランダムフォレストといった特定のアルゴリズムを指すものではありません。この表現ではピンとこない方も多いと思いますが、具体例を含めて詳細は本連載の第二回以降でご紹介していきますので楽しみにしていてください。連載の第一回としては、なぜそれが可能かを、中学生時代の数学を題材にして紹介します。
これまで一言で「データが少ない」と述べてきましたが、単純に「10件しかない」といった数量的な意味合いより一歩踏み込んだケースとして、入力データの項目数よりも学習に使うデータ数が少ない場合を考えてみましょう。先の売上予測の例を単純化して、「来客数と気温から売上を予測する」という課題を考えてみましょう。また、売上を表現するモデルとしては線形モデルを採用します。そうすると売上は以下のように表されます。
売上 = 来客数 x(来客数に対する重み)+ 気温 x(気温に対する重み)
この時、来客数に対する重みと気温に対する重みがわかれば、どんな来客数と気温の組み合わせからも売上を予測できるようになりますので、機械学習の第一歩はこの二つの重みをデータから学習させることになります。
この時入力となるデータの項目数は「来客数」と「気温」の2つです。それに対して、学習に使えるデータがたった1件(例:来客数は10人、気温は20度で、その時の売上は100円)の場合、二つの重みを求めることはできるでしょうか? 言わずもがなノーですね。来客数に対する重みを\(x_1\)、気温に対する重みを\(x_2\)としたときに、学習データを数式で表現すると、
$$10 = x_1 + 2x_2$$
となります。中学校時代の数学を思い出していただければわかるとおり「未知数が二つだけれども方程式が一つしかない」ため答えを求められない、ということになります。ここでスパースモデリングの登場です。もし、
- 気温か来客数のどちらかは全く売上に関係ない
- 重みは小さければ小さいほどよい
という条件が加わったらどうでしょう。なんと以下の図のように答えが求まるではないですか。
これがスパースモデリングでやっていることです。「気温か来客数のどちらかは全く売上に関係ない」というのは言い換えれば\(x_1\)もしくは\(x_2\)のどちらかがゼロになる、ということです。データの多くがゼロになることをスパース(疎、まばら)である、といいます。このスパース制約を考慮に入れることで、「データが少ない」ケースでも答えを求めることができます。また、先の結果では気温のみが結果に影響することがわかりましたので、予測に対して「説明」も容易です。
単純な例ではありますが、スパースモデリングは上にあげたようなデータに内在する「スパース性」を上手に活用することで、「データが少ない」状況でも「解釈性の高い」結果を導き出すことができます。また、それが理論的にも裏打ちされている点も心強いところです。これからデータサイエンティストを目指していく方が、こういった手法を学び状況に応じて適切な手法を選べるようになることが、今後のAIの現場での適用事例の増加に繋がっていくことと信じています。
次回はスパースモデリングの歴史や、その代表的なアルゴリズムであるLASSOについて紹介したいと思います。お楽しみに。
