機械学習

ロジスティック回帰② アルゴリズム

投稿日:

こちらを読むと

  • ロジスティック回帰のアルゴリズムを理解できます

前回の記事で、ロジスティック回帰はシグモイド関数を用いていること、モデル式が以下のように表せることまでを説明しました。

$$
p(C = t | {\bf x}) = y^t(1 – y)^{1-t}\\
t \in {0, 1}
$$

今回はこのモデル式を変形していき、確率的勾配降下法で重みとバイアスを更新していくアルゴリズムについて、解説します。

尤度関数を用いた最尤推定

重み\({\bf w}\)とバイアス\({\bf b}\)を求めるために、最尤推定という手法を用います。最尤推定とは、尤度関数と呼ばれる式を最大化するパラメータを求めることにより、学習を行う方法です。尤度とは、出力\(y\)が、そのモデル式から出力された確率のことです。
上のモデル式から、尤度関数と呼ばれる式を定義することができます。

N個のデータ\({\bf x}_n (n=1, 2, …, N)\)およびそれぞれに対応する正解の出力データ\(t_n\)が与えられたとき、ネットワークのパラメータである重み\({\bf w}\)およびバイアス\(b\)を最尤推定するための尤度関数を求めます。
尤度関数は、\( y_n := \sigma({\bf w}^T{\bf x}_n + b) \)を用いて、下式のように表すことができます。

$$
\begin{eqnarray*}
L({\bf w}, b) &=& \prod_{n=1}^N p(C=t_n | {\bf x_n}) \\
&=& \prod_{n=1}^N y_n^{t_n}(1 – y_n)^{1 – t_n}
\end{eqnarray*}
$$

この尤度関数を最大化(最尤推定)するようにパラメータを調整できれば、うまくネットワークの学習ができていることになります。

尤度関数の最大を求めるためには、’-‘をつけて最小化する、という問題に置き換えることができます。最小化するためには、微分をして勾配が0になる個所を求めればよいのですが、上式は積の形をしており、偏微分の計算が煩雑になりそうですね。
そこで計算を簡単にするため、上式の対数をとって、全体を和の形で表します。かつ、最小化する問題に置き換えるので、’-‘も付けます。

$$
\begin{eqnarray*}
E({\bf w}, b) &:=& -logL({\bf w}, b) \\
&=& – \sum_{n=1}^N \{t_n log y_n + (1 – t_n) log (1 – y_n)\}
\end{eqnarray*}
$$

上で導出された関数のことを、交差エントロピー誤差関数と呼びます。この関数を最小化することが、もともとの尤度関数を最適化することになります。

まとめ

  • ロジスティック回帰のアルゴリズムが理解できました

次回は、交差エントロピー誤差関数を最小化する方法で、最適なパラメータを求めていきます。

Reference

詳解ディープラーニング
https://book.mynavi.jp/manatee/books/detail/id=72424



-機械学習

執筆者:


  1. […] 前回の記事で、ロジスティック回帰の交差エントロピー誤差関数を定義し、これを最小化することで、尤度関数を最大化、すなわち最適なパラメータが設定できることを説明しました。 […]

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

単純パーセプトロン②

Table of Contents こちらを読むとモデルの数式誤り訂正学習法の更新式まとめ こちらを読むと 単純パーセプトロンのモデルの数式での表し方が分かります モデルの数式 前回のブログで、以下の …

多クラスロジスティック回帰④ ソフトマックス関数の微分

Table of Contents こちらを読むと前回のおさらいソフトマックス関数の微分(続き)まとめReference こちらを読むと 多クラスロジスティック回帰のソフトマックス関数の微分 の導出過 …

ロジスティック回帰③ 勾配法

Table of Contents こちらを読むと交差エントロピー誤差関数のおさらい勾配法(勾配降下法)まとめReference こちらを読むと ロジスティック回帰の勾配法でパラメータを決定する手法を …

Kaggle Kernelでライブラリをpip installでインストールする方法

Table of Contents こちらを読むとはじめにKaggle Kernel画面外部ライブラリのインストールまとめ こちらを読むと Kaggle Kernelでライブラリをpip instal …

機械学習初心者のための入門本ランキング

Table of Contents こちらを読むと評価基準第1位:ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装第2位:Pythonで動かして学ぶ! あたら …

Twitterフォロー

Twitterタイムライン