機械学習

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

投稿日:

[mathjax]

こちらを読むと

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

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

$$
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

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

関連記事

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

こちらを読むと 多クラスロジスティック回帰のソフトマックス関数の微分の導出過程が分かります。 前回の記事で、多クラスロジスティック回帰の概要を説明しました。今回は、モデル式の導出まで行い、最適解を求め …

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

こちらを読むと 機械学習初心者のための入門本が分かります。私が今まで機械学習関連の本を15冊ほど読んだ中から選んでいます。 機械学習は非常に流行っており、本もたくさん出ています。その分、初心者の方は何 …

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

こちらを読むと Kaggle Kernelでライブラリをpip installでインストールする方法が分かります。記事の所要時間は5分です。 はじめに Kaggle Kernelでmglearnという …

SIerエンジニアが1年間AIを勉強して感じること

こちらを読むと AIに関する職種って実際どうなのか?をフワッと知ることができます。SIerエンジニアが知識ゼロからAIを勉強した過程と所感を知ることができます。 結論:AI職は、エンジニアの上位職では …

単純パーセプトロン③

こちらを読むと 単純パーセプトロンの実装方法が分かります 数式おさらい 前回のブログで、単純パーセプトロンのモデル式および、重みとバイアスの更新式を以下のように定義できました。$$y = f({\bf …