機械学習に詳しくなりたいブログ

機械学習や数学について勉強した内容を中心に書きます。100%趣味です。記事は数学的に厳密でなかったり誤りを含んでいるかもしれません。ご指摘頂ければ幸いです。

aが線形関数で表されることの確認

確率的生成モデル - シグモイド関数の続きです。事後確率P(C_{1}|\mathbf{x})がシグモイド関数で表せること、つまりP(C_{1}|\mathbf{x}) = \sigma(a)で表せることを確認しました。今回は、


\displaystyle a = \ln \frac{P(\mathbf{x}|C_{1})P(C_{1})}{P(\mathbf{x}|C_{2})P(C_{2})} \tag{1}

が、\mathbf{x}の線形関数で表せることを確認します。

クラスC_kにおけるデータ\mathbf{x}が、正規分布であり、全てのクラスにおいて共分散が等しいと仮定すれば、


\displaystyle P(\mathbf{x}|C_k)= \frac{1}{\sqrt{(2\pi)^{D} \det\Sigma}}\exp\left\{ -\frac{1}{2}(\mathbf{x} - \boldsymbol{\mu}_k)^T \Sigma^{-1}(\mathbf{x} - \boldsymbol{\mu}_k) \right\} \tag{2}

と書けます。(参考:多変量正規分布) ここでDは入力\mathbf{x}の次元数、\boldsymbol{\mu}_kはクラスC_kにおける\mathbf{x}の平均ベクトルです。式(1)を変形すれば


\displaystyle a = \ln \frac{P(C_{1})}{P(C_{2})} + \ln \frac{P(\mathbf{x}|C_{1})}{P(\mathbf{x}|C_{2})}  \tag{3}

です。式(3)右辺の2項目に式(2)を代入すれば、


\begin{eqnarray*}
\displaystyle \ln \frac{P(\mathbf{x}|C_{1})}{P(\mathbf{x}|C_{2})} &=& -\frac{1}{2}(\mathbf{x} - \boldsymbol{\mu}_1)^{T} \Sigma^{-1}(\mathbf{x}- \boldsymbol{\mu}_1) + \frac{1}{2}(\mathbf{x} - \boldsymbol{\mu}_2)^{T} \Sigma^{-1}(\mathbf{x}- \boldsymbol{\mu}_2) \tag{4} \\
&=& \frac{1}{2} \left\{ \mathbf{x}^{T}\Sigma^{-1}( \boldsymbol{\mu}_1 - \boldsymbol{\mu}_2) + ( \boldsymbol{\mu}_1 - \boldsymbol{\mu}_2)^{T}\Sigma^{-1}\mathbf{x} - \\ \boldsymbol{\mu}_1^{T}\Sigma^{-1}\boldsymbol{\mu}_1 +\boldsymbol{\mu}_2^{T} \Sigma^{-1}\boldsymbol{\mu}_2 \right\} \tag{5} 
\end{eqnarray*}

です。ここで、共分散行列が対称行列であること、対称行列の逆行列も対称行列であること(参考:対称行列の逆行列)、ベクトルの内積が\mathbf{x}^{T}\mathbf{y} =\mathbf{y}^{T}\mathbf{x} であることに注意すれば、


\begin{eqnarray*}
\mathbf{x}^{T}\Sigma^{-1}( \boldsymbol{\mu}_1 - \boldsymbol{\mu}_2) &=& \left\{  \Sigma^{-1}(\boldsymbol{\mu}_1 - \boldsymbol{\mu}_2) \right\}^{T} \mathbf{x} \tag{6} \\
 ( \boldsymbol{\mu}_1 - \boldsymbol{\mu}_2)^{T}\Sigma^{-1}\mathbf{x} &=&  \left\{  \Sigma^{-1}(\boldsymbol{\mu}_1 - \boldsymbol{\mu}_2) \right\}^{T} \mathbf{x} \tag{7}
\end{eqnarray*}

ですから、 \mathbf{w} = \Sigma^{-1}(\boldsymbol{\mu}_1 - \boldsymbol{\mu}_2)とすれば、式(5)は


\displaystyle =\mathbf{w}^{T}\mathbf{x} - \frac{1}{2}\boldsymbol{\mu}_1^{T}\Sigma^{-1}\boldsymbol{\mu}_1 + \frac{1}{2}\boldsymbol{\mu}_2^{T} \Sigma^{-1}\boldsymbol{\mu}_2  \tag{8}

となります。よって、


\displaystyle a =\mathbf{w}^{T}\mathbf{x} - \frac{1}{2}\boldsymbol{\mu}_1^{T}\Sigma^{-1}\boldsymbol{\mu}_1 + \frac{1}{2}\boldsymbol{\mu}_2^{T} \Sigma^{-1}\boldsymbol{\mu}_2  + \ln \frac{P(C_{1})}{P(C_{2})}\tag{9}

です。\mathbf{x}にダミー入力を加え、


\displaystyle w_{0} = - \frac{1}{2}\boldsymbol{\mu}_1^{T}\Sigma^{-1}\boldsymbol{\mu}_1 + \frac{1}{2}\boldsymbol{\mu}_2^{T} \Sigma^{-1}\boldsymbol{\mu}_2  + \ln \frac{P(C_{1})}{P(C_{2})}\tag{10}

とすれば、


\displaystyle a =\mathbf{w}^{T}\mathbf{x} \tag{11}

です。

以上より、


P(C_{1}|\mathbf{x}) = \sigma(\mathbf{w}^{T}\mathbf{x}) \tag{12}

と書けることが確認できました。なお、今回は正規分布を仮定していますが、より一般的な指数型分布族と仮定しても同様に線形関数で表せることが確認できるようです。*1 いろいろややこしい計算が続きましたが、要するに確率的生成モデルを考えても、\mathbf{x}の線形関数によってモデル化できますよってことですね。


一般化線形モデル

線形回帰では、


y = \mathbf{w}^{T}\mathbf{x}\tag{14}

とモデル化して考えていきましたが、右辺をさらに非線形関数を通して


y = f(\mathbf{w}^{T}\mathbf{x})\tag{15}

と表すようなものを一般化線形モデルと呼ぶようです。この関数fをシグモイド関数にすれば2クラスのロジスティック回帰となり、つまりロジスティック回帰は一般化線形モデルに属する手法ということになります。

*1:正規分布は指数型分布族の1つ