chainer.functions.huber_loss(x, t, delta, reduce='sum_along_second_axis')[source]

MSE(平均二乗誤差)損失よりもデータの外れ値に対する感受性が低い(敏感ではない)損失関数

a=xta=x−t

Lδ(a)={12a2δ(|a|12δ)if |a|δotherwise,Lδ(a)={12a2if |a|≤δδ(|a|−12δ)otherwise,

出力は  reduceオプションの値に依る値の変数。 'no'が設定されている場合、エレメントごとの損失値をもつ。'sum_along_second_axis'の場合、 損失値は第2軸に添って合計される。(i.e. axis=1).

 

Parameters:
  • x (Variable) –入力値。 x のshapeは (NN, KK)でなければならない。
  • t (Variable) – 回帰のターゲット変数。 t は (NN, KK)でなければならない。
  • delta (float) – 定義に用いられるhuber損失関数の定数。
  • reduce (str) – 削減オプション。この値は'sum_along_second_axis''no'をとる。それ以外では ValueError が発生する。
Returns:

huber 損失 Lδのスカラ配列を保持しているVariableオブジェクト。reduce に 'no' が設定されている場合、出力変数は入力変数の1つ(つなり両方)と同じshapeの配列を保持する。 'sum_along_second_axis'が設定されている場合、配列のshape は、第2軸が除外されることを除いて、入力変数と同じ。

Return type:

Variable

See:
Huber loss - Wikipedia.