最尤推定と二乗誤差関数・交差エントロピー誤差関数の関係

 多くの機械学習モデルにおいて最適化を行うとき、二乗誤差関数や交差エントロピー誤差関数などの目的関数(単に誤差関数、損失関数ともいわれる)を定める必要があります。今回は、目的関数を決めるうえで根本的な考え方の最尤推定を説明し、実際に二乗誤差関数と交差エントロピー誤差関数を導出していきます。

キーとなるポイント

 今回の内容で軸となるポイントを大雑把に示しておきます。

  • 誤差関数には最尤推定という考え方が根本に存在する。
  • 最尤推定において、調節する対象は確率分布のパラメータである。
  • 最尤推定とは訓練データを再現する確率が最も大きくなる確率分布のパラメータは何か、という考えのもと、パラメータの尤らしさを最大化することである。
  • 二乗誤差関数は回帰問題で使用される。
  • 交差エントロピー誤差関数は分類問題、特にロジスティック回帰やニューラルネットワークで使用される。
  • 回帰問題では人が確率分布の種類を仮定する。
  • 分類問題では人が確率分布の種類を仮定しない。
  • 回帰問題においては、確率分布にガウス分布を仮定することが大抵である。このとき、ガウス分布のパラメータの平均値\(\mu\)(\(= \hat{y} = \boldsymbol{w}^T \boldsymbol{x}\))を推定することで、線形モデルのパラメータ\(\boldsymbol{w}\)を決定する。
  • ロジスティック回帰やニューラルネットワークは出力値が確率である。つまり、モデル自体が確率密度関数である。このとき、確率分布のパラメータに対応するのは、重みや閾値である。

最尤推定

尤度

 式は確率密度関数と同じですが、考え方のアプローチが異なります。図1の矢印を見てください。

図1 確率密度関数と尤度

上図において入力(原因)は、確率密度関数への入力を表し、出力(結果)は、確率密度関数からの出力(確率)を表します。

式が同じと説明しましたが、厳密にいえば式は同じでも変数が異なります。例えば\(y = -ax^2 + b\)という簡単な式がありますが、\(a, b\)を定数として、入力\(x\)に対する\(y\)を出力するのが右向き矢印で、入力\(x\)が与えられた状態で、変数\(a, b\)を決めて、\(y\)を出力するのが左向き矢印です。つまり、\(y(x|a,b)\)か\(y(a, b|x)\)かの違いです。ここで、\(y(a,b|x)\)を最大化するという条件を加えたものが最尤推定です。

最尤推定

最尤推定は入力データ全体(バッチサイズによる)について、正しく回帰または分類できる確率\(P(=L)\)を最大にする、確率分布の確率密度関数または学習モデル(ニューラルネットワークなど)のパラメータを推定することです。

回帰問題の目的関数

回帰問題

 回帰は連続値を予測する問題で、代表的なものに単回帰、重回帰、多項式回帰があります。更に過学習やスパース性を考慮した、リッジ回帰やラッソ回帰などがあります。

以下の図は単回帰の例です。訓練データの平均は、単回帰の線形モデル\(y = ax + b\)に、ガウス分布に従う誤差が加わったものと仮定します。

図2 単回帰

二乗誤差関数

 訓練データは、線形モデルの表す超平面(または超曲面)に、ガウス分布に従う誤差が加わったものという仮定のもと、目的関数を導いていきます。どの回帰手法を使用しても二乗誤差関数は求まりますが、今回は式の複雑さが程よい重回帰を代表として考えていきます。重回帰は以下の線形モデルの式(説明変数をベクトル\(\boldsymbol{x}\)(ただし\(x_0=1\)), 重みベクトルを\(\boldsymbol{w}\)(ただし\(w_0=b(閾値)\)), 出力値を\(\hat{y}\))で表せます。

\(\hat{y} = \boldsymbol{w}^T\boldsymbol{x}\)

ここで、\(i\)番目の推測値\(\hat{y_i}\)と、実際の出力\(y_i\)の間に、正規分布に従う誤差\(\epsilon_i\)があると仮定します。

\(y_i = \hat{y_i} + \epsilon_i = \boldsymbol{w}^T\boldsymbol{x}_i + \epsilon_i\)

誤差\(\epsilon_i\)が生起する確率\(P_i\)は、

\(\begin{eqnarray}
P_i &=& N(\epsilon_i|\mu=0, \sigma^2) = \frac{1}{\sqrt{2\pi}\sigma}\exp\left (-\frac{\epsilon_i^2}{2\sigma^2}\right )\\
&=& N(y_i|\mu=\hat{y_i}, \sigma^2) = \frac{1}{\sqrt{2\pi}\sigma}\exp\left (-\frac{(y_i – \hat{y_i})^2}{2\sigma^2}\right )
\end{eqnarray}\)

と表されます。訓練データが独立同一分布に従う場合、それぞれについて掛け合わせた以下の式(同時確率)で表される多変量正規分布が確率密度関数になり、これが尤度を表します。

\(\begin{eqnarray}
L (= f) &=& \prod_iP_i\\
&=& \prod_i \frac{1}{\sqrt{2\pi}\sigma}\exp\left (-\frac{(y_i – \hat{y_i})^2}{2\sigma^2}\right )\\
&=& \frac{1}{\sqrt{2\pi}\sigma}\exp\left (-\frac{\sum_i(y_i – \hat{y_i})^2}{2\sigma^2}\right )
\end{eqnarray}\)

尤度を最大化する、つまりパラメータの尤もらしさを最も大きくしたいとき、\( \sum_i(y_i – \hat{y_i})^2 \)が最小になればよいので、回帰問題における目的関数は、

\(E = \sum_i(y_i – \hat{y_i})^2 = \sum_i(y_i – \boldsymbol{w}^T\boldsymbol{x}_i )^2 \)

になります。

分類問題の目的関数

確率分布を表現するロジスティック回帰やニューラルネットワーク

ロジスティック回帰モデルは二項分類器で、図3のモデルで表されます。ロジスティック回帰は、線形モデルに活性化関数としてシグモイド関数\(\phi\)なる非線形変換を施し、クラス1に属する確率を出力します。シグモイド関数をソフトマックス関数に変えることで2項分類の単層ニューラルネットワークになります。

図3 ロジスティック回帰モデル

ニューラルネットワークモデルの例を図4に示します。多項分類器であるニューラルネットワークは活性化関数にソフトマックス関数が使用され、それぞれのクラスに属する確率を出力します。

図4 ニューラルネットワークモデル

これら二つは、入力を受けて確率を出力するので、確率密度関数といえます。そのため、重みベクトルを学習することは、確率密度関数のパラメータを決定すること同じです。

交差エントロピー

ロジスティック回帰の目的関数を求めたいと思います。ロジスティック回帰では二項分布を扱うため、教師信号はクラス0(\(t=0\))とクラス1(\(t=1\))です。\(i\)番目の入力データを\(\boldsymbol{x}_i\)(ただし\(x_0=1\))、教師信号を\(t_i\)、重みベクトル\(\boldsymbol{w}(ただしw_0=b(閾値))\)とするとき、クラス1に属する確率\(p_i\)は

\(p_i = \phi(\boldsymbol{w}^T\boldsymbol{x}_i)\)

で表せます。ここで、\(p_i\)はクラス1に属する確率なので、クラス0に属するときはクラス0に属する確率を出力するように以下のように\(P_i\)定めます。

\(P_i = p_i^{t_i}(1 – p_i)^{(1 – t_i)}\)

全てのデータ(それぞれ独立同一分布と仮定)につてい正しく分類する確率は、

\(L (=P) = \prod_iP_i = \prod_ip_i^{t_i}(1 – p_i)^{(1 – t_i)} \)

となります。つぎに、情報理論で使用される情報量の概念を使用し、

\(E = \log\frac{1}{P} = -\log P = -\log L\)

のように定めます。情報量は以下の性質

  1. 情報量が大きい → 生起確率\(P(=L)\)が小さく、その事象は珍しい。
  2. 情報量が小さい → 生起確率\(P(=L)\)が大きく、その事象は高い確率で生起する。

があるため、訓練データに適合するには情報量が小さくなればよいことが分かります。つまり、情報量\(E\)が最も最小になるように学習を行えば自ずとパラメータの尤もらしさ(尤度)が最大になります。よって交差エントロピーは、

\(\begin{eqnarray}
E &=& -\log L\\
&=& -\sum_i\{t_i\log p_i + (1 – t_i)\log (1 – p_i)\}
\end{eqnarray}\)

になります。

まとめ

多くの機械学習モデルでは最適化にあたり目的関数が必要です。今回、目的関数が最尤推定に基づいていることを確認することで、回帰問題と分類問題の関連性を改めて認識することができました。今後も最尤推定は常に頭の片隅に置いておきたいですね。

Follow me!

コメントを残す