機械学習の仕組みとは
天馬「全員揃ったようなので、講義を再開しよう。午後は眠くなるので、できるだけ質問でもしようか」
猿田くん「先生、マリリンを呼び出してくれたら眠気も吹っ飛ぶんですが」
天馬「なにを言っているんだ、そんなことをしたら誰も講義を聞かないだろう。まあいい、次は機械学習の話をしよう」
最初は線形回帰から
天馬「機械学習とは、人工知能を研究する際に、機械にも人間のような学習能力を持たせようと考えられたものだ。それでは、機械学習の基本的な原理を、単純化して説明する。機械学習の基本は統計学にあり、その出力データはすべて確率で表現されると捉えると、理解しやすいと思う。ではマリリン、最初の図を表示してくれ」
天馬「機械学習には、教師あり学習と教師なし学習がある。最初は教師あり学習でシンプルな回帰(Regression)からだ。回帰とは、過去の実績データを学習させて、未知の数値を予測させる、統計学で古くから用いられている手法だ。
例えば、商店がチラシを配布して、ある商品を販売しようとする。この商品の在庫を全部売るには、チラシをどのくらい配布すればよいだろうか?」
猿田くん「え~と、今までのチラシ配布数と販売実績から推測するのかな」
愛さん「でも販売日が平日で大雨だったりしたら、お客さんが来ないかもしれないわ」
天馬「確かに、その商品が何個売れるかの予測は、チラシの配布数、販売日の曜日、その日の天候などによって、変動するだろうね。
つまり商品の販売数に影響を与える『因子』は多数あるため、この図の左中にあるような近似式になる。これを君たちでもわかるように単純化しよう。因子は『チラシの枚数』だけにして、チラシ枚数と商品販売数の実績値をプロットする。この場合、だいたいチラシが多いほど販売数が増えるような傾向があったと仮定する。これを実績値と誤差が最小になるような直線を引いたのが、左上のグラフとなる。
この直線式が得られたら、右上のグラフのように、チラシ枚数 x を入力すると、販売予想数 y が求められるようになる。これが最も単純な単回帰分析だ。この数式の右辺に複数の変数があると、重回帰分析になる」
伴くん 「なるほど。実際には因子が多数あるので、数式では表せても2次元のグラフでは表現できないのですね」
天馬「そうなんだ。人間はどうしても単純なパターンでしか考えられないから、因子が3つ以上になると直観的に理解することが難しくなる。しかしコンピューターなら、数式で表現できさえすれば計算が可能だ。
機械学習における、アルゴリズムとはこの数式のことで、実績値、つまり入力データとその結果のことを、教師データと呼んでいる。教師データを入力することで、この式の傾き w や切片 c が自動的に決まることが学習であり、だから機械学習は予測できることになるのだ」
愛さん 「予測するには教師データが必要だから、教師あり学習と呼んでいるのですね」
伴くん「ちょっと待ってください。どうしてデータを入力すると、傾きや切片などのパラメータが『自動的に』決まるのですか?」
天馬「ちょっと説明を飛ばしたかな。先ほども述べたが、この図のように予測式が直線なら、入力データと直線の値(予測値)との差(誤差)を最小にすればよいことは直観的に分かるだろう。その決め方だが、最尤推定を用いればよい」
愛さん「最尤推定?」
天馬「簡単に説明しよう。この図にあるように、予測誤差が正規分布に従って発生すると仮定した場合、誤差ゼロ付近に最も多くなるようにパラメータを設定すればよいはずだ。これが最尤推定で機械学習では定番の手法になっている」