最近、機械学習やら人工知能やらAIやらその手の言葉をよく聞きます。
ほうほうと思って勉強してみると、「あれ、機械学習と統計学って一緒じゃね?」と思ってみたりもしちゃうわけです。そんでもって何となく、「AIも機械学習も同じもの?なの?」とか考えてみちゃったりするわけです。
そうかと思えば「何を言っているんだ、機械学習と統計学は全然違う」と怒られたり、はたまた「AIなんて言葉を使う輩はニワカ」などと言われたりして、もう何が何だかよくわからんという方も多いような気がします。
そこで今回は、統計学と機械学習が何故似ているのか、そしてどういう点が異なるのかについてざっくり書いていきます。
※あくまで私の考えです。
スポンサーリンク
統計学の歴史
本当にざっくりですが、まず統計学の歴史について。
統計学の流派は大きく分けて、3種類に分けられます。
・フィッシャー流統計学
・ネイマンピアソン流統計学(伝統的な統計学)
・ベイズ統計学
一昔前までは主にネイマンピアソン流統計学が主流で、フィッシャー流が一部使われていて、ベイズはほとんど使われていないといった状況でした。
ベイズが使われなかった理由は単純で、具体的な計算が手計算じゃ無理なものが多く、「理論上はまあわかるけど、結局無理だよねー」という話になっていたわけです。あと確率の考え方で少々特殊なものを使っていたので論争になっていたという理由もありますが。
しかし、今はというとベイズ統計学が大ヒットしており、伝統的なものに迫る勢いです。
これは、昨今のコンピュータ技術の発達が大きく関わっており、
端的に言ってしまうと、手計算で無理な部分がコンピュータの発達で事実上計算可能になったため、ベイズが使えるようになった。ということに起因します。
こうして、統計学はコンピュータ計算を取り入れて、最近ではどんどん
手計算で無理ならシミュレーションで補えば良いじゃないという発想にシフトしています。
このように色々流派がある統計学ですが、数学の道具としては、「最適化」と「確率論」を利用しています。つまり土台としてまず「最適化」と「確率論」があり、基本的にはそれをもとに各流派の統計学の考え方が出来、更にそれらの流派が混ざり混ざって今に至ります。
機械学習の歴史
さて一方で機械学習は、人間の学習に関する研究、そしてその学習を機械に行わせる方法に関する研究としてスタートしており、今もモチベーションとしてはほとんど変わっていません。
機械に学習をさせ、何かしら予測的な反応を機械がとることを期待します。
また、最近ではコンピュータ技術の発達により、どんどんシミュレーションに基づく予測の評価に関する手法が発達しています。
この機械学習ですが、学習を考えるにあたってその土台は「最適化」「確率論」「解析論」「統計学」になっています。これらの道具で土台を作り、機械学習の各手法が提案されているわけです。
何故似ているか
もう察しが付くかとは思いますが、とどのつまり統計学と機械学習が似ていると言われている理由は、これら二つは土台がほとんど一緒であるうえに、共にコンピュータ技術の発達に伴って急速に発展し、お互いの考え方を取り入れあって進歩した学問だからです。だから当然機械学習をやっていれば統計学の考え方は出てくるし、なんなら コンピュータエイジ統計学だとか言われて統計学と機械学習をまとめて呼ぶ呼び方すら出て来ています。
何が異なるのか
しかし、発展した経緯は似ていても、根本の目的が違うため、次のような状況が起こります。
使っている手法は似ているんだけども、使いどころが違う
例えば、統計学も機械学習も過去のデータをいっぱい取ってくるとこまでは同じですが、
統計学はまず「過去のデータがどうやって生成されたのか」を徹底的に考えます。そして何らかの意味で適切なモデルを設定し、推定し、そのモデルが適切かどうか、データは適切かどうかといったことをじっくり検証します。
一方機械学習は「とりあえずデータをアルゴリズムに放り込みます」。そして学習をした結果現実のデータに対して予測精度が良いだとか、何らかの期待していた結果が出たかどうか等々でアルゴリズムが適切かどうか確認します。あまり適切じゃないと思ったらまたモデルを色々かえるわけです。また、もし時間が経って予測精度が悪くなってきたらまた別のアルゴリズムを試せばよいということになります。
これはどちらが良い悪いではなく、目的によって使い分けることになります。
例えば、とにかく精度の良い予測をしたい。意味は分からなくていいからとにかく結果を出したいと思えば機械学習の方が適当ですが、〇〇が△△になる理由をデータから考えたいといった場合は統計学が適当です。
経済学等であまり機械学習が用いられない理由はここにあり、人間の行動を分析するであるとか政策提案を行うといった場合に、いくら何かしらのデータと数式の組み合わせで良い予測が出来たとしても、何故なのか理由を説明出来なければ何の意味も無いわけです。
一方最近話題の人工知能タクシーを作るにあたって、人工知能タクシーが客がたくさんいそうな地域を予測して事前にそれを教えてくれるといったシステムを考える場合に、その予測の仕組みをいちいち考えていても特に何のメリットもありません。要は客がいっぱいいるところを特定できればそれでいいわけです。
以上がざっくりとした統計学と機械学習の違いです。
というか、私が考えている統計学と機械学習の違いです。
おおよそ間違えたことは言ってないとは思いますが、これについては色々と議論があるので、とりあえずあまり深くは突っ込まないことにします。
来週くらいからちょっとずつ機械学習に関係しそうな記事もあげていこうかなと思います。