ML への降順: トレーニングと損失

モデルのトレーニングとは、単純に、すべての重みとバイアスのラベルにあるバイアスに対する適切な値を学習(決定)することを意味します。教師あり学習では、機械学習アルゴリズムが多くのサンプルを検査し、損失を最小限に抑えるモデルを見つけることによってモデルを構築します。このプロセスを経験損失最小化と呼びます。

損失とは、不適切な予測に対するペナルティです。つまり、損失は、1 つのサンプルでモデルの予測がどの程度悪かったかを示す数値です。モデルの予測が完璧であれば、損失はゼロになります。それ以外の場合、精度に応じて損失が大きくなります。モデルをトレーニングする目的は、すべてのサンプルで平均的に損失の低い重みとバイアスの組み合わせを見つけることです。たとえば、図 3 は、左側に高損失モデル、右側に低損失モデルを示しています。図については、次の点にご注意ください。

  • 矢印は損失を表します。
  • 青い線は予測を表します。

2 つのデカルト図。各図は線とデータポイントを示している。最初のプロットでは、線がデータに非常に合っているため、損失は大きくなっています。2 つ目のグラフでは、データにより適した線であるため、損失は小さくなっています。

図 3. 左側のモデルでは高い損失、右側のモデルでは低い損失。

 

左側のプロットの矢印は、右側のプロットの矢印よりもはるかに長くなっています。右側のプロットの線は、左側のプロットの線よりもはるかに優れた予測モデルです。

個々の損失を意味のある形で集計する数学関数(損失関数)を作成できるかどうか疑問に思われるかもしれません。

ここで調べる線形回帰モデルでは、二乗損失L2 損失とも呼ばれます)と呼ばれる損失関数を使用します。1 つの例の 2 乗損失は次のようになります。

  = the square of the difference between the label and the prediction
  = (observation - prediction(x))2
  = (y - y')2

平均二乗誤差MSE)は、データセット全体における一例あたりの平均二乗損失です。MSE を計算するには、個々の例の 2 乗損失を合計し、それをサンプル数で割ります。

$$ MSE = \frac{1}{N} \sum_{(x,y)\in D} (y - prediction(x))^2 $$

ここで

  • \((x, y)\) の例を以下に示します。
    • \(x\) は、モデルが予測を行う際に使用する特徴のセット(チャープ/分、年齢、性別など)です。
    • \(y\) は、この例のラベル(温度など)です。
  • \(prediction(x)\) は、一連の特徴と組み合わされた重みとバイアスの関数です \(x\)。
  • \(D\) は、ペアとなるラベル付きサンプルを数多く含むデータセットです。 \((x, y)\)
  • \(N\) は \(D\)のサンプルの数です。

MSE は機械学習で一般的に使用されますが、実用的な損失関数だけでなく、あらゆる状況に最適な損失関数でもありません。