最尤推定とは
この記事では最尤推定とは何かについて簡単に説明していきます。
最尤推定、尤度関数、勾配法、ロジスティクス回帰などが分からない方はぜひご覧ください。
最尤推定とは尤度を最小または最大にする手法のことです。
ロジスティクス回帰においては対数尤度を評価基準として最小化します。
ロジスティクス回帰
下のような図で特徴量が分かれている場合簡単に識別する線は真ん中に引くと識別できそうです。このように2クラス分類を行うことをロジスティクス回帰といいます。
尤度
しかし上のグラフのように実際はこのグラフの見える範囲だけに猫と犬は収まりきることはないため識別するのが難しくなってしまいます。そこで猫と犬の特徴をまとめたものを0~1に縮めることができれば簡単に識別線を引くことができます!そこで登場するのが出力を0~1にするシグモイド関数です。
\displaylines{
f(x)= \frac{1}{1+e^{-x}}
}
シグモイド関数の傾きを学習にして0~1に圧縮したデータとモデルが当てはまるように学習します。
ここでモデルとデータの当てはまり度合いを算出するのが尤度です。
尤度の式は以下のように表されます。
\displaylines{
P(w)= \prod \hat{y}^{(n)y^{(n)}}(1-\hat{y}^{(n)})^{(1-y^{(n)})}
}
yハットの部分がクラス猫(クラス1)を表しており、(1-yハット)が犬のクラス(クラス2)を表しています。もし犬のクラスだった場合yハットは0になり(1-yハット)が残ります。猫のクラスの場合は逆のことが起きます。(yハットが1になるため)
一般にこの尤度は1に近いほど正解データと予測データ(出力)の差が小さいことを示します。
尤度とは正解データと出力の差(データとモデルの当てはまり具合)を計算したものです。
最尤推定
この尤度を1に近づけるように学習を行いますが実際はこのままいきません。
尤度は通常小さい値を取るためこのままではアンダーフローを起こしてしまうためです。
アンダーフローを起こさないために対数をとります。これが対数尤度です。
\displaylines{
\ln P(w)= \Sigma_{n=1}^N\{y^{(n)}\ln \hat{y}^{(n)} + (1-y^{(n)})\ln (1-\hat{y}^{(n)})
}
ロジスティクス回帰において上の式である対数尤度を評価基準として最適化を実施することを最尤推定といいます。
そして実際に最適化を行なうのには勾配降下法を用いて誤差関数を最小にするように学習を行います。
通常を最小化するためこれにー(マイナス)をつけて最小化します。ーをつけたものを交差エントロピーといいます。
参考文献
https://ai-trend.jp/basic-study/estimator/maximum-likelihood-estimation/
https://unit.aist.go.jp/mcml/rg-orgp/uncertainty_lecture/likelihood.html
https://www.tryeting.jp/column/9547/#:~:text=%E3%83%AD%E3%82%B8%E3%82%B9%E3%83%86%E3%82%A3%E3%83%83%E3%82%AF%E5%9B%9E%E5%B8%B0%E3%83%A2%E3%83%87%E3%83%AB%E3%81%A8%E3%81%AF%E3%80%81%E8%A4%87%E6%95%B0%E3%81%AE%E8%A6%81%E5%9B%A0%E3%80%8C%E8%AA%AC%E6%98%8E%E5%A4%89%E6%95%B0,%E7%AF%84%E5%9B%B2%E3%81%A7%E3%81%97%E3%81%8B%E5%88%A4%E6%96%AD%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82