見出し画像

【統計学修士の備忘録】 #1 統計学と機械学習の違い

こんにちは。ポムポムプリンが大好きなぽむぽむです。
東大を卒業後、諸事情あって大嫌いな街ロンドンの大学院で統計学やデータサイエンスを学んでいます。

大学院卒業後にはデータ分析とは関係のない、テック系ですらない業界に就職するので、勉強したことを全部忘れちゃったら嫌だなぁということで備忘録を書くことにしました。

今は試験のために Machine Learning and Data Mining という科目の復習をしているのですが、実は私、この授業が始まった頃は統計学と機械学習(厳密に言うと Statistical learning と Machine learning)の違いすらもちゃんと分かっていませんでした…。でも意外と私みたいな人は結構いたようで、初回の授業で教授がちゃんと解説してくれました。

簡単に言うと、この二つの大きな違いは目的にあります。SLはデータの説明を目的としているに対し、MLは予測を目的としているということです。従って、SLは推定の正確性や解釈性に重きを置くのに対し、MLはとにかく予測の正確性を高めることに重きを置いています。あとは、MLの方がより大きなスケールの問題を扱うということだったり、属する分野の違いなど、細かい違いは色々とあります。

例えばSLでもMLでも使う(多分)最もシンプルな道具として、回帰分析があります。

$$
Y = \beta_{0} + \beta_{1} X_{1} + \beta_{2} X_{2}
$$

ここでYを年収、$${X_{1}}$$を年齢、$${X_{2}}$$を学歴とした時に、$${\beta_{1}}$$や$${\beta_{2}}$$の値を見て、年収に年齢や学歴がどれだけ影響を与えているのか分析するのがSL、新しく誰かの年齢や学歴のデータが手に入った時に、その人の年収を予測しようとするのがMLという感じですかね。だからこそ、SLでは$${\beta_{1}}$$や$${\beta_{2}}$$の値が重要で、それぞれのp値を見たり、なんちゃら検定をしたりして本当に有効か見極めます。それに対してMLではそこら辺の係数はあまり重要ではなくて、それよりもこのモデルはデータにオーバーフィットしていないか心配します。

MLを勉強しているとよく出てくる概念?としてバイアスと分散のトレードオフがありますが、この心配をよく表しているなぁと思います。例えば線形でも非線形でも何でもいいのですが、$${ f(X) }$$という関数があったとして、データが本当に$${ Y = f(X) + \epsilon }$$というモデルに従っているとします。そこで私たちはXとYの限られたデータから、この関数は$${\hat{f}(X)}$$なんじゃないかと予想する訳ですが、この$${\hat{f}(X)}$$を柔軟で複雑なものにしてデータに合わせようとする(バイアスを小さくする)ほど、違うデータで試した時のバラつきが大きくなります(分散が大きくなる)。だがしかし!MSEを計算すると、

$$
E(y-\hat{f}(x))^{2} = Var(\hat{f}(x)) + (Bias(\hat{f}(x)))^{2} + Var(\epsilon)
$$

に分解されるので、これを最小化するためには分散もバイアスも同時に下げなくてはなりません。だからこそMLではあれやこれや、色んな手法を使って試行錯誤する訳です。

学部で統計を学んでいた時も一応触れられてはいましたが、機械学習ではやたらとこれが出てきたのは、予測の重要性に起因しているのでしょう。これからの note でも各メソッドがどのようにこのバイアスと分散のトレードオフと関係するのか記録していきたいと思います。

補足

MSEの分解↓

$$
\begin{equation*}
\begin{split}
E(y-\hat{f}(x))^{2} &= E((y-f(x))-(\hat{f}(x) - f(x)))^{2} \\
&=Var(\epsilon) + 0 + E(\hat{f}(x) - f(x))^{2} \\
&= Var(\epsilon) + E((\hat{f}(x) - E(\hat{f}(x)))- (E(\hat{f}(x))- f(x)))^{2} \\
&= Var(\epsilon) + Var(\hat{f}(x)) + (Bias(\hat{f}(x)))^{2}
\end{split}
\end{equation*}
$$


この記事が気に入ったらサポートをしてみませんか?