【深層学習】損失関数について知ろう!

本記事では損失関数について解説しています。目次は以下の通りです。

損失関数とは

損失関数とは誤差関数やロス関数とも呼ばれ、学習時における出力データと正解ラベルを比較して良し悪しを評価します。
もちろんニューラルネットワークによる出力データと正解ラベルとの誤差は小さければ小さいほどいいので、損失関数の値が小さくなるように学習を行います。

分類問題と回帰問題で用いられる損失関数それぞれ異なります。分類問題だとクロスエントロピー誤差、回帰問題だと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がある

コメント

タイトルとURLをコピーしました