最尤法と回帰モデル|高校数学の演習を通して理解する確率分布と最尤法 #5

f:id:lib-arts:20191112170245p:plain

当シリーズでは、高校レベルの数学と絡めながら確率分布と最尤法について取り扱っています。
#1では集合・確率と様々な関数(指数関数、対数関数)について、#2では確率分布のグラフ化と掛け算と対数について、#3では合成関数の微分と最大値問題について、#4では確率分布のパラメータと最尤法について取り扱いました。

集合・確率&様々な関数(指数関数、対数関数)|高校数学の演習を通して理解する確率分布と最尤法 #1 - lib-arts’s diary

確率分布のグラフ化&掛け算と対数|高校数学の演習を通して理解する確率分布と最尤法 #2 - lib-arts’s diary

合成関数の微分と最大値問題|高校数学の演習を通して理解する確率分布と最尤法 #3 - lib-arts’s diary

確率分布のパラメータと最尤法|高校数学の演習を通して理解する確率分布と最尤法 #4 - lib-arts’s diary

#5では#4で取り扱った最尤法を元に回帰モデルについて見ていきます。通常の単回帰分析だけでなく、一般化線形モデルやDeepLearningとも話をつなげながら記述していきます。
以下、目次になります。
1. 最尤法の復習
2. 最尤法と回帰モデル
2-1. 最尤法から導く最小二乗法
2-2. 一般化線形モデルについて
2-3. DeepLearningと最尤法
3. まとめ

 

1. 最尤法の復習
1節では#4で取り扱った最尤法について簡単に復習します。
https://lib-arts.hatenablog.com/entry/math_mle4
基礎的な統計では得られたデータを元に、平均や分散を計算するという記述統計的なアプローチをとりますが、最尤法は得られたデータの裏側に確率分布という規則を仮定します。確率分布はそれぞれが大まかな形状を持っていますが、より表現力を持たせるために少量のパラメータを設定し、その値を変えることで様々なデータの分布が表現できるようになっています。
分析側の観点から見るなら、あらかじめ全ての形状が決まっていると各データにフィッティングすることができないので、データに合わせて調整可能なパラメータを持っていると考えることもできます。パラメータを仮置きした上で、確率分布に従って手元のデータが得られたと考えることで同時確率(joint probability)を算出し、これを仮置きしたパラメータについて着目することで尤度(likelihood)と読み変えます。

尤度の理解としては、手元のデータが仮定した確率分布に沿って得られる同時確率が大きければ大きいほど尤もらしいと考えるため、尤もらしさの度合いとして尤度としていると捉えておくのが良いと思います。
この尤度というパラメータに関する指標を定義してしまえば、あとはパラメータに関しての尤度の最大値問題を解くことで、パラメータの値を導出することができます。パラメータとしては、平均や分散などに関するパラメータが多く、それらを取りまとめて\thetaと表現し、尤度をL(\theta)とします。この際に微分を用いて最大値問題を解くにあたって、L(\theta)は確率分布の積の形になっており取り扱いづらいため、対数関数のlog L(\theta)を取ることで計算しやすくしています。この辺の導出の過程は#3のex.06で取り扱ったのでこちらを再度復習していただけたらと思います。
https://lib-arts.hatenablog.com/entry/math_mle3
最尤法についての大体の復習ができたので1節はここまでとし、次の2節で回帰モデルとの関係性について見ていきます。


2. 最尤法と回帰モデル
2節では最尤法と回帰モデルの関係性について見ていきます。このあたりのトピックは入門者向けの本には載っていないので案外抜けがちですが、多くのモデリングのベースになっている重要な考え方なのでこれを機にしっかり抑えていただけたら良いのではと思います。
最尤法を回帰モデルに導入するにあたっては、\hat{y}=ax+bにおけるax+bのような部分の計算結果を予測値ではなく予測値の期待値と考え、ax+bを平均などの値に置き換えた確率分布で目的変数が得られていると考えます。たとえば正規分布を仮定するなら、
P(\hat{y}|\mu=ax+b,\sigma)=\frac{1}{\sqrt{2 \pi \sigma^2}}exp(-\frac{(y-(ax+b))^2}{2 \sigma^2})
のように観測された値yの予測値の\hat{y}が得られると考えます。ちなみにこの際のax+bは一般化線形モデルの文脈では線形予測子(linear predictor)と呼ばれており、詳しくは2-2節で取り扱いますが言葉だけ抑えておいていただけたらと思います。
モデリングの前提の大枠について取り扱えたので、2-1節ではここで導出したyの予測値の分布を元に最尤法にあてはめていきます。


2-1. 最尤法から導く最小二乗法
2-1節では最尤法から最小二乗法を導きます。
P(\hat{y}|\mu=ax+b,\sigma)=\frac{1}{\sqrt{2 \pi \sigma^2}}exp(-\frac{(y-(ax+b))^2}{2 \sigma^2})
前節で上記のような\hat{y}の予測値の分布を見ましたが、ここでこの分布のパラメータはaとbと\sigmaであることに注意してください。そのため、最尤法を用いる最終目的はaとbと\sigmaを求めることだというのは見失わないようにしてください。また、今回のフォーカスは回帰モデルのため、\sigmaは定数とみなし、aとbの値をこの問題設定から導出することを考えます。
L(a,b)=\Pi \frac{1}{\sqrt{2 \pi \sigma^2}}exp(-\frac{(y_{i}-(ax_{i}+b))^2}{2 \sigma^2})
今回の最尤法におけるパラメータ\thetaはaとbのため、尤度はL(a,b)と立式しています。また、i番目のサンプルを(x_{i},y_{i})と設定していることに注意してください。この際に対数尤度にあたるlog L(a,b)を計算すると下記のようになります。
log L(a,b)=\sum (-\frac{(y_{i}-(ax_{i}+b))^2}{2 \sigma^2} + Const)
ここで\sigmaは定数とおいたので、尤度の最大化を行うにあたっては
\sum -(y_{i}-(ax_{i}+b))^2 = - \sum (y_{i}-(ax_{i}+b))^2
の最大値問題を解けば良いことがわかります。この式をよく見ると二乗和の最小化を行うことで尤度の最大化ができることがわかります。ここまでの話によって、目的変数の\hat{y}\sigmaが定数の正規分布を仮定すると、最小二乗法が最尤法によって導出できるということがわかります。

 

2-2. 一般化線形モデルについて
以前の記事でも言及しましたが、一般化線形モデルは下記の三つの要素によって成り立つとされています。

1) 目的変数の分布に指数型分布族を仮定する
-> 指数型分布族の代表的な例としては、正規分布、ベルヌーイ分布、二項分布、ポアソン分布などがあります。

2) 線形予測子(linear predictor)
-> ax+bにあたるのが線形予測子です。この線形予測子にリンク関数を適用して、目的変数の期待値(平均など)を導出します。

3) リンク関数(link function)
-> リンク関数は線形予測子の値を目的変数に仮定する指数型分布族のパラメータの条件を満たすように調整する関数のことです。たとえばポアソン分布では平均が0以上が必要であるや、ベルヌーイ分布において確率は0~1である必要性があるなどです。

一般化線形モデルの中で有名なのがロジスティック回帰やポアソン回帰ですが、これらを用いなくとも通常の最小二乗法を最尤法の枠組みで理解しておくことは重要なので、一般化線形モデルは実際に用いなくても理解しておきたいトピックです。


2-3. DeepLearningと最尤法
DeepLearningの誤差関数としてよく用いられる交差エントロピー(Cross Entropy)誤差もベルヌーイ分布を仮定した上で最尤法を用いると導出することができます。
L(p)=\Pi p_{i}^{t_{i}} (1-p_{i})^{1-t_{i}}
上記がベルヌーイ分布を元にした尤度になります。こちらの対数を取った対数尤度は下記のようになります。
log L(p)=\sum t_{i}log p_{i} + (1-t_{i})log(1-p_{i})
これは二値における交差エントロピー誤差と同等な式になっています。

 

3. まとめ
#5では最尤法を回帰モデルの文脈で確認しました。
#6ではここまで取り扱ってきた内容を元にベイズ的な考え方を用いたモデリングについて見ていきます。