おいも貴婦人ブログ

生物系博士課程満期退学をしたAIエンジニアのブログ。

PRML(PatternをRecognitionするために(1))

参考文献を文末に記載しています。

線形識別モデル

  • 識別方法の分類
    1. 識別関数の使用

事後確率が大きい方に分類される。

\(p(C_{ k }|x)=\frac { p(x|C_{ k }) }{ p(x) } \)
線形モデルにおける識別関数
\(y(x)=w^T x +\omega_0\)
非線形関数f(・)を用いて、
\(y(x)=f(w^T x +\omega_0)\)
とすると、これは活性化関数となる。この逆関数を連結関数と呼ぶ。
これにより表されるモデルは一般化線形モデルという。

確率的生成モデル

正規化指数関数:ロジスティックシグモイド関数の多変数版
ソフトマックス関数:ロジスティックシグモイド関数逆関数の多変数版

多クラスロジスティック回帰

事後確率は正規化指数関数より(4.62)

\(p(C_{ k }|x)=\frac { p(x|C_{ k }) }{ p(x) } = \frac{exp(a_k)}{\sum_j exp(a_j)}\)
活性は
\(a_k = w_k^T \phi \)
活性化関数\(a_j\)に関する\(y_k\)の微分は(2クラスロジスティック回帰と同様の操作)
ここで\(k=j\),\(k \neq j\)を考える。
\(k=j\)のとき
\(\frac { \partial y_k }{ \partial a_j } = \frac { \partial}{ \partial a_j } \frac{exp(a_k)}{\sum_j exp(a_j)} = \frac{exp(a_k)\sum_j exp(a_j)-exp(a_k a_j)}{(\sum_j exp(a_j))^2}=y_k-y_k y_j\)
\(k\neq j\)のとき
\(\frac { \partial y_k }{ \partial a_j } = \frac { \partial}{ \partial a_j } \frac{exp(a_k)}{\sum_j exp(a_j)} = \frac {-exp(a_k a_j)}{(\sum_j exp(a_j))^2}=-y_k y_j\)
よって
\(\frac { \partial y_k }{ \partial a_j }=\delta_{kj} y_k -y-k y_j= y_k (I_{kj} - y_j ) \)
\(1-of-K\)符号化法を使うと尤度関数は
\(p(T|w_1,....,w_K)=\Pi^N_{n=1}\Pi^K_{k=1}y^{t_nk}_{nk}\)
上記の負の対数をとると多クラス対する交差エントロピー誤差関数\(E(w_1,...,w_K)\)が出てくる。尤度を最大化するときの\(w_j\)を見つけるために交差エントロピー誤差関数のナブラを取ると、
\(\nabla_{w_j} E(w_1,...,w_K)= \nabla_{w_j} (-\sum^N_{n=1}\sum^K_{k=1}t_{nk} \ln{y_{nk}}\))
ここで
\(y_{nk}=y_k(\phi_n)=\frac {exp(w^T_k\phi_n)}{\sum_j exp(w^T_j\phi_n)}\)
すると
\(\nabla_{w_j} E(w_1,...,w_K)= \nabla_{w_j} (-\sum^N_{n=1}\sum^K_{k=1}t_{nj}\frac {exp(w^T_k\phi_n)}{\sum_j exp(w^T_j\phi_n)})\)
ここで、上記に記したように\(j=k\),\(j\neq k\)を考えると
\(\nabla_{w_j} E(w_1,...,w_K)=\sum^N_{n=1}(y_{nj}-t_{nj}\phi) \)
ニュートンーラフソン法の更新手続きを計算するために以下の式の評価が必要となる。
\(\nabla_{w_k} \nabla_{w_j} E(w_1,...,w_K)\)

プロビット回帰

ロジスティックシグモイド関数以外の識別確率モデルを考える。ここでは、2クラスのみを考える。活性化関数を以下の累積分布関数にする.

\(f(a=\int^{a}_{-\infty} p(\theta)d\theta\)
\(p(\theta)\)は平均0,分散1のガウス分布である。
\(\Phi(a)=\int^{a}_{-\infty} N (\theta|0,1)d\theta\)
これは、プロビット関数の逆関数として知られ、またerf関数との関係は以下となる。
\(\Phi (a) = \frac{1}{2}(1+erf(\frac{a}{\sqrt{2}})),erf(a)=\frac{2}{\pi}\int^a_0 exp(-\theta^2)d\theta\)
プロビット回帰:プロビット活性化関数に基づく一般化線形モデル
分布の裾の部分を比べると、プロビット活性化関数(\(exp(-x^2))\)となり、ロジスティックシグモイド\(exp(-x)\)に比べると逆関数が1に近づきやすいため、プロビット活性化関数の方が外れ値に敏感である。
誤ったラベル付けの影響を簡単に組み込むことができる。

正準連結関数

誤差が\(\left(y_n-t_n\right)\phi_n\)となるときは、活性化関数の逆関数として正準連結関数が対応している。問題を一般化するために指数型分布族を考える。そのときの分布関数は

\(p(x|\lambda_k)=h(x)g(\lambda_k)exp(\lambda^T_k u(x)\))
また、\(g(\lambda_k)\)を分布を正規化するための係数とも解釈できるので
\(g(\lambda_k)=\left\{\int h(x)exp(\lambda^T u(x))dx\right\}^{-1}\)
tの分布を以下のように考えると、
\(p(t|η,s)=\frac{1}{s}h\left(\frac{t}{s}\right)g(η)exp\left(\frac{η t}{s}\right)\)
すると、
\(\frac{g(η)}{s}\int h(\frac{t}{s})exp(\frac{ηt}{s})dt=1\)
となるので、両辺をηで微分すると
\(\frac{\partial g(η)}{\partial η}\frac{1}{s}\int h(\frac{t}{s})exp(\frac{ηt}{s})dt+\frac{g(η)}{s^2}\int t h(\frac{t}{s})exp(\frac{ηt}{s})dt=0\)
これと2つ上の式を使い
\(-\frac{1}{g(η)}\frac{\partial g(η)}{\partial η}=\frac{1}{s^2}\int t g(η)h(\frac{t}{s})exp(\frac{ηt}{s})dt=\frac{1}{s}E[t|η]\)
以上より
\(y\equiv E[t|η]=-s \frac{\partial }{\partial η}\ln g(η) \)
パターン認識と機械学習 上

パターン認識と機械学習 上