トッカンソフトウェア

目的関数(Cost Function)

今回は目的関数(Cost Function)をやります。



最適化問題、目的関数(Cost Function)

データに対して関数を定義し、その関数の最小または最大を求める問題を最適化問題といいます。
そして、その関数を目的関数(Cost Function)といいます。

線形回帰で出てきた最小二乗法の式も目的関数です。

\( h_\theta (x) = \theta_0 + \theta_1 * x \)

\(J(\theta_0, \theta_1) = \frac{1}{2m}\sum_{i=1}^m(h_\theta (x_i) - y_i)^2 \)

→\(J(\theta_0, \theta_1)\)が最小になるように\( \theta_0 、 \theta_1 \)を求めます。


ロジスティック回帰の目的関数

線形回帰の目的関数は上記の式でしたが、ロジスティック回帰の目的関数は以下のようになります。

\( h_\theta(x)=\dfrac{1}{1+e^{-(\theta_0 + \theta_1 * x )}}\ \)

\(J(\theta_0, \theta_1) = - \frac{1}{m} [ \sum_{i=1}^m y_i log(h_\theta (x_i)) + (1 - y_i) log(1 - h_\theta (x_i))] \)

→\(J(\theta_0, \theta_1)\)が最小になるように\( \theta_0 、 \theta_1 \)を求めます。

log関数

2を3乗すると8になります。このときの3を指数と言います。

\(2^3 = 8\)

逆に2をなんとか乗すると8になる場合、以下のように表します。

\( log_2 8 = 3 \)

上記の式は2を底とする8の対数は3ということを表しています。
対数を表すときにlog関数を使用します。

ネイピア数

底にe(≒2.716...)を使用する対数を、自然対数といいます。このeをネイピア数と言います。

\( log_e x\)

ネイピア数、\(e^x\)を微分しても\(e^x\))という特徴があったり、
\( log_ex\)を微分すると\(\frac{1}{x}\)になるといった特徴があります。

eは省略されて、以下のようにLogの後にいきなり数値が記述されていることがあります。

\( log x\)

省略されている場合、必ず自然対数という訳でもなく、常用対数(底が10)も底が省略されることがあるので注意が必要です。

ロジスティック回帰の目的関数の構成


ロジスティック回帰の目的関数は複雑に見えますが、yの値(0 or 1)により前半と後半の2つに分けて考えることができます。
(ロジスティック回帰の学習データ:yはYes、Noのどちらかなので、0 か 1 にしかなりません。)

\(y_i=1\)の場合、後半部分の、\((1 - y_i)\)は 1 - 1 なので0になり、\(0 * log(1 - h_\theta (x_i))\)
なので、後半部分はなくなって以下のようになります。

\(J(\theta_0, \theta_1) = - \frac{1}{m} [ \sum_{i=1}^m 1 * log(h_\theta (x_i)) + (1 - 1) * log(1 - h_\theta (x_i))] = - \frac{1}{m} [ \sum_{i=1}^m log(h_\theta (x_i))] \)

これをシグマ記号(Σ)を抜かしてグラフに表すと以下のようになります。
logのグラフなのでこのような形になって、式の頭にマイナスが付いているので上と下が逆になります。

実績データの結果が1(y=1)のグラフ


実績がy=1なので、予想の結果も1であれば差異はない状態(コストが0)で、逆に実績がy=1で予想が0に近ければ、近いだけコストが掛かります。


次に\(y_i=0\)の場合、前半部分の\( y_i\)は 0になり、\(0 * log(h_\theta (x_i))\)
なので、前半部分はなくなって以下のようになります。

\(J(\theta_0, \theta_1) = - \frac{1}{m} [ \sum_{i=1}^m 0 * log(h_\theta (x_i)) + (1 - 0) * log(1 - h_\theta (x_i))] = - \frac{1}{m} [ \sum_{i=1}^m log(1 - h_\theta (x_i))] \)


実績データの結果が0(y=0)のグラフ

実績がy=0なので、予想の結果も0であれば差異はない状態(コストが0)で、逆に実績がy=0で予想が1に近ければ、近いだけコストが掛かります。


ページのトップへ戻る