邏輯迴歸:損失和正規化

邏輯迴歸的損失函式

線性迴歸的損失函式是平方損失。邏輯迴歸的損失函式為「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 正規化。
  • 提早停止,也就是限制訓練步驟或學習率。

(我們會在後續模組中討論第三個策略 L1 正規化)。

假設您為每個範例指派專屬 ID,並將每個 ID 對應至各自的功能。如果不指定正規函式,模型就會完全超載。因為模型會嘗試將所有範例的損失損失至零,並且不可能實現目標,將各項指標特徵的權重增加至 +infinity 或 -infinity。當有極大的特徵時,如果只有極少數的例子卻發生在一次例子中,就有可能發生這類維度。

幸好,使用 L2 或提前停止可避免這個問題。