損失関数
損失関数とは
データセットが \(\{(\boldsymbol{x}_i,y_i)\}_{i=1}^N\) と与えられたとします。 \(\boldsymbol{x}_i\) は説明変数で、\(y_i\) は目的変数です。 モデル(予測器)を、パラメータ \(\boldsymbol{\theta}\) を用いて \(f(\boldsymbol{x} ; \boldsymbol{\theta})\) とすると、\(y_i\) の予測値 \(\hat{y}_i\) は次式で与えられます。
パラメータ \(\boldsymbol{\theta}\) を、できるだけ \(y_i\) と \(\hat{y}_i\) が等しくなるように定めたいです。 そこで、 \(y_i\) と \(\hat{y}_i\) の誤差を表す関数を考えます。
目的変数 \(y\) とその予測 \(\hat{y}=f(\boldsymbol{x} ; \boldsymbol{\theta})\) との誤差を表す関数
を損失関数という。
この損失関数を最小化するような \(\boldsymbol{\theta}\) を求める最適化問題を考えます。
回帰の損失関数
ここでは、回帰で用いられる損失関数をいくつか紹介します。
目的変数 \(y\) とその予測値 \(\hat{y}\) に対して
を二乗損失という。
目的変数 \(y\) とその予測値 \(\hat{y}\) に対して
を絶対損失という。
目的変数 \(y\) とその予測値 \(\hat{y}\) に対して
をε感度損失という。
目的変数 \(y\) とその予測値 \(\hat{y}\) に対して
をフーバー損失という。
分類の損失関数
これを0-1損失といいます。 しかし、これは不連続で非凸なので学習に用いるには都合が悪いです。 そこで、連続で凸となる別の関数を損失として使用します。
ここでは、分類で用いられる損失関数をいくつか紹介します。
目的変数 \(y\in\{-1,+1\}\) とその予測値 \(\hat{y}\in\mathbb{R}\) に対して
を指数損失という。
目的変数 \(y\in\{-1,+1\}\) とその予測値 \(\hat{y}\in\mathbb{R}\) に対して
をロジスティック損失という。
目的変数 \(y\in\{-1,+1\}\) とその予測値 \(\hat{y}\in\mathbb{R}\) に対して
をヒンジ損失という。
目的変数 \(y\in\{0,1\}\) とその予測値 \(\hat{y}\in(0,1)\) に対して
を交差エントロピー損失という。