ロジスティック回帰: 損失と正則化

ロジスティック回帰の損失関数

線形回帰の損失関数は、二乗損失です。ロジスティック回帰の損失関数は Log Loss です。これは以下のように定義されます。

$$\text{Log Loss} = \sum_{(x,y)\in D} -y\log(y') - (1 - y)\log(1 - y')$$

ここで

  • \((x,y)\in D\) は、ペアとなるラベル付きサンプルを多数含むデータセットです。 \((x,y)\)
  • \(y\) は、ラベル付けされた例のラベルです。これはロジスティック回帰であるため、 \(y\) のすべての値は 0 または 1 である必要があります。
  • \(y'\) は予測値(0 ~ 1 の間)です。これは、 \(x\)の一連の特徴に基づいて判断されます。

ロジスティック回帰における正則化

正則化は、ロジスティック回帰モデリングでは非常に重要です。正則化を行わないと、ロジスティック回帰の漸近性の性質上、高次元では損失が 0 に近づきます。したがって、ほとんどのロジスティック回帰モデルでは、次のいずれかの戦略を使用してモデルの複雑さを軽減します。

  • L2 正則化。
  • 早期停止。つまり、トレーニング ステップの数や学習率を制限することです。

(3 つ目の戦略、L 正則化については、後のモジュールで説明します)。

各例に一意の ID を割り当て、各 ID を独自の特徴にマッピングするとします。正則化関数を指定しない場合、モデルは完全に過学習になります。いずれの例でも、モデルはすべてのケースで損失をゼロに増やそうと試み、どこにも到達しません。各インジケーター特徴の重みは +infity または -infinity になります。これは、それぞれの特徴量が 1 つの例でしか発生しない、非常にまれな交差が大量に存在する場合に、特徴クロスのある高次元データで発生する可能性があります。

幸い、L2 や早期停止を使用すると、この問題を回避できます。