ここ最近、次にような質問をされることが、たびたびあります。
「機械学習と統計学のモデル、何が違うのですか?」
ここで言っている統計学のモデルとは、多変量解析などに代表される回帰モデルや判別モデル、クラスター分析、主成分分析などです。
私の中には明確に違うものだったのですが、よくよく話しを聞いてみると「なるほど……」という感じでした。
今回は、「機械学習と統計学のモデルの違い」というお話しです。
よくよく話しを聞いてみると
よくよく話しを聞いてみて「なるほど……」という感じでした。
疑問の根本には、「どちらにも似たような分析手法が登場する」というところにあるようです。
例えば、書籍を読めば回帰モデルは統計学系の多変量解析の本にも登場しますし、機械学習の本にも登場します。ニューラルネット系のモデルを回帰モデルの一種として扱う場合もあります。
分析手法というか、登場する数理モデルを眺めるとかなり被っています。
勝手な定義
先ずは、機械学習です。
「機械学習とは、人工知能における研究課題の一つで、人間が自然に行っているような学習をコンピュータ上で実現しようとする技術」
次に、統計学です。
「統計学(多変量解析などを含む)とは、データの特徴や規則性などを見いだすことを目的として学問」
念のため、Wikipediaでも確認しましたが、大きく違いはないようでした。Wikipediaのほうが詳しいですが……
異論はあるかもしれませんが、一旦この定義で話しを進めます。
で、何がどう違う?
機械学習であるためには、何かしら「『学習』をコンピュータ上で実現」しなければなりません。そこに尽きると思います。
統計学のモデルの目的は、少なくともコンピュータ上の「学習」を目的としていません。データの特徴や規則性を見出すことで、人の解釈がポイントになります。
コンピュータが普及する以前から、統計学は存在しました。統計学は、コンピュータがあれば便利ですが、なくても構いません。
実際、私が学生時代、手計算で平均値や分散を計算したり、回帰分析や分散分析、主成分分析などを実施した記憶があります。
しかし、コンピュータがないと機械学習は存在できないと思います。
回帰モデルを例に考えると
再度言います。機械学習であるためには、何かしら「『学習』をコンピュータ上で実現」しなければなりません。
問題は何を学習するのか、だと思います。
その学習する何かが、統計学の代表的な多変量解析手法である「回帰モデル」でも問題ありません。
回帰モデルは、モデル式の定数と係数をデータから計算します。その「計算」を「学習」という言葉に言い換えれば、機械学習の数理モデルとしても問題なさそうです。
「計算」を「学習」と言い換えるには何が必要でしょうか?
学習とは?
学習とは何でしょうか?
直観的には分かりますが、厳密な定義というと言葉に表し憎いものです。
Wikipediaには、以下のように記載されていました。
学習(がくしゅう)は、体験や伝聞などによる経験を蓄えることである。生理学や心理学においては、経験によって動物(人間を含め)の行動が変容することを指す。繰り返し行う学習を練習(れんしゅう)という。
こちらも、異論があるかもしれませんが、この定義をもとに話しを進めます。
蓄えたデータによって○○が変容する
先ほどの定義から、以下の文章を抜粋して考えてみます。
「経験によって動物(人間を含め)の行動が変容すること」
この文章の前には、次のような文章も書かれています。
「体験や伝聞などによる経験を蓄えること」
体験をデータに置き換えれば……
〇〇によるデータを蓄える
データによって○○が変容する
……となるかと思います。
つまり、「蓄えたデータによって○○が変容する」ことなのでしょう。
この「〇〇」に「回帰モデル」を代入すれば、「蓄えたデータによって回帰モデルが変容する」となります。
要するに、何なのさ!
統計学的な目的で回帰モデルを利用するとき、回帰モデル式の係数がどうだったのかなど、過去や現在の状況の解釈のために利用します。解釈できれば、一旦はモデル式の構築は終了します。
一方、機械学習の場合はどうでしょうか。
新たにデータが蓄積されたタイミングで、回帰モデルの定数と係数を再度計算することでしょう。常に新しいデータを取り込んで、モデル式が日々進化していきます。
この場合の用途は、解釈と言うよりも予測でしょう。回帰モデルの数式を使い予測することができるからです。
今回のまとめ
今回は、「機械学習と統計学のモデルの違い」というお話しをしました。
簡単に言うと……
機械学習とは人工知能における研究課題の一つで、人間が自然に行っているような学習をコンピュータ上で実現しようとする技術。データの特徴や規則性などを見いだそうとする統計学(多変量解析などを含む)とは目的とするところは異なるが、機械学習の枠組みの中で統計学の数理モデルを活用することは多々ある
……ということになるかと思います。
機械学習であるためには、何かしら「『学習』をコンピュータ上で実現」しなければなりません。そこに尽きると思います。
問題は何を学習するのか、だと思います。その学習する何かが、統計学の代表的な多変量解析手法である「回帰モデル」でも問題ありません。
コンピュータが普及する以前から、統計学は存在しました。統計学は、コンピュータがあれば便利ですが、なくても問題ありません。
しかし、コンピュータがないと機械学習は存在できないと思います。
以上が、「機械学習と統計学のモデル、何が違うのですか?」に対する私なりの回答になります。