線形回帰: 損失

損失は、モデルの予測の誤り度を示す数値指標です。損失は、モデルの予測と実際のラベルの間の距離を測定します。モデルをトレーニングする目的は、損失を最小限に抑え、可能な限り低い値にすることである。

次の画像では、データポイントからモデルに引かれた矢印として損失を可視化できます。矢印は、モデルの予測が実際の値からどの程度離れているかを示しています。

図 9. 損失線は、データポイントをモデルに接続します。

図 9. 損失は、実際の値から予測値までの差で測定されます。

損失距離

統計学と機械学習では、損失は予測値と実際の値の差を測定します。損失は、値の方向ではなく、値の距離に重点を置いています。たとえば、モデルが 2 と予測し、実際の値が 5 の場合、損失が負の $-3$($2-5=-3$)であることは重要ではありません。代わりに、値の距離が 3 であることが重要です。したがって、損失を計算するすべての方法で符号が削除されます。

警告を削除する一般的な方法は次の 2 つです。

  • 実際の値と予測値の差の絶対値を取得します。
  • 実際の値と予測値の差を二乗します。

損失の種類

線形回帰には、次の表に概要を示す 4 つの主要な損失タイプがあります。

損失タイプ 定義 計算式
L1 損失 予測値と実際の値の差の絶対値の合計。 $ Σ | 実際の値 - 予測値 | $
平均絶対誤差(MAE) サンプルセット全体の L1 損失の平均。 $ \frac{1}{N} ∑ | actual\ value - predicted\ value | $
L2 損失 予測値と実際の値の差の二乗の合計。 $ Σ(実際の値 - 予測値)^2 $
平均二乗誤差(MSE) サンプルセット全体の L2 損失の平均。 $ \frac{1}{N} ∑ (actual\ value - predicted\ value)^2 $

L1 損失と L2 損失(または MAE と MSE)の機能的な違いは、二乗です。予測とラベルの差が大きい場合、二乗すると損失はさらに大きくなります。差が小さい(1 未満)場合、二乗すると損失はさらに小さくなります。

複数の例を一度に処理する場合は、MAE または MSE のいずれを使用するかにかかわらず、すべての例で損失を平均化することをおすすめします。

損失の計算例

前の最適化曲線を使用して、1 つの例の L2 損失を計算します。最適化曲線から、重みとバイアスの値は次のようになりました。

  • $ \small{重量: -3.6} $
  • $ \small{バイアス: 30} $

モデルが 2,370 ポンドの自動車の燃費を 1 ガロンあたり 21.5 マイルと予測し、実際には 1 ガロンあたり 24 マイルだった場合、L2 損失は次のように計算されます。

計算式 結果
予測

$\small{バイアス +(重み * 特徴値)}$

$\small{30 + (-3.6×2.37)}$

$\small{21.5}$
実際の値 $ \small{ label } $ $ \small{ 24 } $
L2 損失

$ \small{ (予測値 - 実際の値)^2} $

$\small{ (21.5 - 24)^2 }$

$\small{6.25}$

この例では、その単一のデータポイントの L2 損失は 6.25 です。

損失の選択

MAE と MSE のどちらを使用するかは、データセットと特定の予測を処理する方法によって異なります。通常、データセット内のほとんどの特徴値は個別の範囲内にあります。たとえば、自動車は通常 2,000 ~ 5,000 ポンド、1 ガロンあたり 8 ~ 50 マイルの走行距離です。8,000 ポンドの自動車や、1 ガロンあたり 100 マイルの燃費の自動車は、一般的な範囲外であり、外れ値と見なされます。

外れ値は、モデルの予測が実際の値からどのくらい離れているかを表す場合もあります。たとえば、3,000 ポンドの車や 1 ガロンあたり 40 マイル走行する車は、一般的な範囲内です。ただし、3,000 ポンドの自動車で 40 マイル / ガロンの燃費は、モデルの予測から外れた値です。モデルは、3,000 ポンドの自動車の燃費を 18 ~ 20 マイル / ガロンと予測します。

最適な損失関数を選択する際は、モデルで外れ値をどのように処理するかを検討してください。たとえば、MSE はモデルを外れ値に近づけますが、MAE はそうしません。L2 損失では、L1 損失よりも外れ値に対するペナルティが大幅に大きくなります。たとえば、次の画像は、MAE を使用してトレーニングされたモデルと MSE を使用してトレーニングされたモデルを示しています。赤い線は、予測に使用される完全にトレーニングされたモデルを表します。外れ値は、MAE でトレーニングされたモデルよりも MSE でトレーニングされたモデルに近い。

図 10. モデルは外れ値に傾斜しています。

図 10. MSE でトレーニングされたモデルは、モデルを外れ値に近づけます。

図 11. モデルは外れ値からさらに離れた方向に傾斜します。

図 11. MAE でトレーニングされたモデルは外れ値から遠く離れています。

モデルとデータの関係に注意してください。

  • MSE。モデルは外れ値に近く、他のほとんどのデータポイントからは遠く離れています。

  • MAE:モデルは外れ値から遠く離れていますが、他のほとんどのデータポイントに近い状態です。

理解度を確認する

次の 2 つのプロットについて考えてみましょう。

10 個の点のグラフ。6 つの点に線が引かれています。2 つの点が線の 1 単位上にあり、他の 2 つの点が線の 1 単位下にあります。 10 個の点のグラフ。8 つの点に線が引かれています。1 つの点は線の 2 単位上にあり、もう 1 つの点は線の 2 単位下にあります。
上のグラフに示されている 2 つのデータセットのうち、平均二乗誤差(MSE)が大きいのはどちらですか。
左側のデータセット。
行の 6 つの例の合計損失は 0 です。線に沿っていない 4 つの例は線からそれほど離れていないため、オフセットを 2 乗しても低い値になります。$MSE = \frac{0^2 + 1^2 + 0^2 + 1^2 + 0^2 + 1^2 + 0^2 + 1^2 + 0^2 + 0^2} {10} = 0.4$
右側のデータセット。
行の 8 つのサンプルの合計損失は 0 です。ただし、ラインから外れているポイントは 2 つだけですが、どちらのポイントも左図の外れ値ポイントの 2 倍の距離があります。二乗損失はこれらの差異を増幅するため、オフセットが 2 の場合、オフセットが 1 の場合の 4 倍の損失が発生します。$MSE = \frac{0^2 + 0^2 + 0^2 + 2^2 + 0^2 + 0^2 + 0^2 + 2^2 + 0^2 + 0^2} {10} = 0.8$