二値分類問題
入力ベクトルxに対して、出力yが0か1の二値であるような分類問題を考える。定石は、重みベクトルwとバイアスbを用いて、
出力yが1である確率をロジスティック回帰によって次のようにモデル化することである。
q(y=1∣x)=σ(wTx+b)
ここでσ(⋅)はシグモイド関数である(ロジスティック回帰やシグモイド関数は単なる例であり、この頁の本質ではないのでこの後登場しない)。q(⋅)は予測された確率分布で、q(y=1∣xi)はデータxiが与えられたときyが1となる確率、q(y=0∣xi)はyが0となる確率を表す。なお、q(y=1∣xi)とq(y=0∣xi)はq(⋅)という表現をしているが実際の関数の形は異なることに注意。yが0となる確率は
q(y=0∣x)=1−q(y=1∣x)
である。また、予測される出力y^iは次のようになる。
y^i={10(q(y=1∣xi)≥0.5)(q(y=1∣xi)<0.5)
これに対し、実際のデータに対する現実の確率分布pは以下のようになる。
p(y∣xi)={yi1−yi(y=1)(y=0)
これは以下のように書いても良い。
{p(y=1∣xi)=yip(y=0∣xi)=1−yi
つまりyi=1であればyが0,1である確率はそれぞれ0,1であり、yi=0であればyが0,1である確率はそれぞれ1,0だということである。
データセットD={(xi,yi)}i=1Nがあるとする。あるデータxiについてyiが1である確率はq(y=1∣xi)と予測され、yiが0である確率はq(y=0∣xi)=1−q(y=1∣xi)と予測される。
このとき、現実の値yiが出力される確率は以下のようになる。
[q(y=1∣xi)]yi[1−q(y=1∣xi)](1−yi)
2つの掛け算になっているが、yiが1であれば1−yiが0、yiが0であれば1−yiが1になるため、yiが1であればq(y=1∣xi)、yiが0であれば1−q(y=1∣xi)になるだけである。
これをデータセットD={(xi,yi)}i=1Nに含まれる全てのデータについて考えると、予測分布q(x)が与えられたとき、その予測分布が出力の組み合わせ{yi}i=1Nを実現する確率L(D)は次のようになる。
L(D)=i=1∏N[q(y=1∣xi)]yi[1−q(y=1∣xi)](1−yi)=i=1∏N[q(y=1∣xi)]p(y=1∣xi)[q(y=0∣xi)]p(y=0∣xi)=i=1∏N[q(y=yi∣xi)]p(y=yi∣xi)=i=1∏N[q(yi∣xi)]p(yi∣xi)
(3)式は(2)式の掛け算をy=yiと書いて一つにまとめたものである(二項の掛け算は実質一つのみであり、こう書けば一つにまとまる)。また(4)式は単にy=を省略した表記である。L(D)は尤度であり、これを最大化するようなパラメータw,bを求めることで、パラメータを推定することができる。
尤度の対数を取ると次のようになる。
logL(D)=i=1∑N{yilogq(y=1∣xi)+(1−yi)log[1−q(y=1∣xi)]}=i=1∑Np(y=yi∣xi)logq(y=yi∣xi)=i=1∑Np(yi∣xi)logq(yi∣xi)
これを最大化するw,bを求めることで、パラメータを推定することができる。
クロスエントロピー
ある確率分布pとqが与えられたとき、その分布の間の距離を表す指標としてクロスエントロピーがある。クロスエントロピーは次のように定義される。
H(p,q)=−x∑p(x)logq(x)=−i=1∑Np(xi)logq(xi)
これは対数尤度の符号を反転させたものに他ならない。上記の対数尤度を最大化することは、クロスエントロピーを最小化することと同じである。
クロスエントロピーは分布pとqが近いほど小さくなるので、実際の分布pと予測分布qが近くなるようにパラメータw,bを推定するという意味になる。
カルバック・ライブラー情報量
分布pとqの間の距離を表す指標として、カルバック・ライブラー情報量がある。カルバック・ライブラー情報量は次のように定義される。
DKL(p∣∣q)=x∑p(x)logq(x)p(x)=x∑p(x)logp(x)−x∑p(x)logq(x)=−H(p)+H(p,q)
カルバック・ライブラー情報量は、分布pとqが近いほど小さくなる。また、分布pとqが同じであれば、カルバック・ライブラー情報量は最小値0をとる。二値分類問題では分布pは実際の分布でqは予測分布なので、予測においては−H(p)は定数であり、クロスエントロピー誤差を最小化することはカルバック・ライブラー情報量を最小化することと同じである。