KATUBLO | エンジニアの日常BLOG

プログラミング、数学、旅行などを中心に役立つ情報をお届け

2018年12月24日

【Deeplearing】尤度関数を導き, 交差エントロピー誤差関数を求める

やること

タイトルの通り, 尤度関数を導き, 交差エントロピー誤差関数を求める.

 

前提

ロジスティック回帰で, 確率的な分類モデルを題材に考える.

入力xに対して, 男であるか, 女であるかを取る確率変数をCと置く. このとき男であればC=1, 女であればC=0の確率変数とする.

 

尤度関数を求める

男である確率は

$$
p ( C = 1 | x ) = \sigma \left( w ^ { T } x + b \right)
$$

 

その他は女である確率となるので, 女である確率は

$$
p ( C = 0 | x ) = 1 – p ( C = 1 | x )
$$

 

Cは{0,1}の2通りしかないため, [math]y : = \sigma \left( w ^ { T } x + b \right)[/math]とすると,

 

$$
p ( C = t | x ) = y ( 1 – y ) ^ { 1 – t }
$$

 

とまとめて置き換えることができる. ここでtは{0,1}である. N個の入力データ[math]x_n (n=1,2,….N)[/math]のそれぞれに対応する正解データ[math]t_n [/math]が与えられたとき, w,bのパラメータの最尤推定を行うために, 尤度関数を求める. [math]y _ { n } : = \sigma \left( w ^ { T } x _ { n } + b \right)[/math]を用いると以下の式で表せる.

 

$$
\begin{aligned} L ( w , b ) & = \prod _ { n = 1 } ^ { N } p \left( C = t _ { n } | x _ { n } \right) \\ & = \prod _ { n = 1 } ^ { N } y _ { n } ^ { n } \left( 1 – y _ { n } \right) ^ { 1 – t _ { n } } \end{aligned}
$$

 

 

最尤推定?

といっても, 最尤推定という手法がすんなり理解できないので調べた.

 

 

↑離散型確率分布の例:コイン の例が非常にわかりやすい.

 

尤度関数を計算しやすい形に変形する

logをとって, 計算しやすい形に変形する.

 

$$
E ( w , b ) : = – \log L ( w , b )
$$

 

$$
= \log \left( y _ { n } ^ { \operatorname { t_n } } \left( 1 – y _ { x } \right) ^ { 1 – t _ { n } } \right)
$$

 

$$
= \ log y ^ { \operatorname { t_n } } + + \log ( 1 – y_n ) ^ { 1 – t _n }
$$

 

$$
= \operatorname { t_n } \log y _ { n } + \left( 1 – t _ { n } \right) \log ( 1 – y_n )
$$

 

$$
= – \sum _ { n = 1 } ^ { N } \left\{ t _ { n } \log y _ { n } + \left( 1 – t _ { n } \right) \log \left( 1 – y _ { n } \right) \right\}
$$

 

 

最適化問題

尤度関数が最大, 最小となる状態を求めることを一般的に最適化問題という.

 

最後まで読んで頂き、ありがとうございました。
SNS等でのシェアが頂ければ幸いです!

プロフィール

@KATUO

現在都内私立大学に通う大学4年生。大学では電気電子工学を専攻。大学2年の夏頃に、プログラマーの長期インターン募集の広告が目に止まり、独学でプログラミングの学習を開始。現在は「ToC向け大規模サービスを運営するメガベンチャー」と「AIスタートアップ」でインターンで修行中。2020年4月からwebエンジニアとして社会人生活スタート。

広告

特集記事