本記事では損失関数について解説しています。目次は以下の通りです。
損失関数とは
損失関数とは誤差関数やロス関数とも呼ばれ、学習時における出力データと正解ラベルを比較して良し悪しを評価します。
もちろんニューラルネットワークによる出力データと正解ラベルとの誤差は小さければ小さいほどいいので、損失関数の値が小さくなるように学習を行います。
分類問題と回帰問題で用いられる損失関数それぞれ異なります。分類問題だとクロスエントロピー誤差、回帰問題だとMSEが用いられます。
以下にそれぞれの損失関数について説明します。
クロスエントロピー誤差
クロスエントロピー誤差は分類問題、特に二値分類に対して用いられる損失関数です。損失関数で用いられるクロスエントロピー誤差は次のような式でかけます。
$$ \frac{1}{2}\sum^n\limits_{i=1}-(t_k\log{y_k}+(1-t_k)\log(1-y_k)) $$
ただし、\(y_k\)はニューラルネットワークの出力値、\(t_k\)は目的変数とする。
MSE
MSEは回帰問題で用いられる損失関数の式です。
実際の値と予測値の差を取り、それを二乗してから平均を計算したものです。詳細な説明は以下の記事で確認してください。
損失関数で用いられるMSEは次のような式でかけます。
$$ \frac{1}{2}\sum^n\limits_{i=1}(y_k-t_k)^2 $$
まとめ
本記事のポイントを以下にまとめます。
・損失関数とは正解データと出力データを比較する関数
・損失関数の値は小さいほどいい
・クロスエントロピー誤差とMSEがある
コメント