逻辑回归:损失和正则化

逻辑回归 模型的训练过程与 线性回归 两个关键区别:

以下部分更深入地讨论了这两个注意事项。

对数损失函数

线性回归模块中, 您使用了平方损失函数(也称为 L2 损失函数)作为 损失函数。 平方损失非常适合用于线性 其中输出值的变化率恒定不变。例如: 给定线性模型 $y'= b + 3x_1$,则每次递增输入值 则输出值 $y'$ 增加 3。

但是,逻辑回归模型的变化率不是常量。计算概率部分所述, S 型曲线为 S 形 而非线性模型。当对数几率 ($z$) 值接近 0 时, 与 $z$ 较大时相比,$z$ 的增加会导致 $y$ 的变化幅度更大 正数或负数。下表显示了 S 型函数的 输入值的范围为 5 到 10,以及相应的精度 捕获结果差异所需的操作。

输入 逻辑输出 所需精度位数
5 0.993 3
6 0.997 3
7 0.999 3
8 0.9997 4
9 0.9999 4
10 0.99998 5

如果您使用平方损失来计算 S 型函数的误差,因为 输出越来越接近 01,因此您需要更多内存才能 并保留跟踪这些值所需的精度。

逻辑回归的损失函数是 对数损失函数。通过 对数损失方程式会返回变化幅度的对数, 而不只是从数据到预测的距离。对数损失的计算公式为 如下:

\(\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, 大量特征。因此,大多数逻辑回归模型都使用 降低模型复杂度: