以下部分更深入地讨论了这两个注意事项。
对数损失函数
在线性回归模块中, 您使用了平方损失函数(也称为 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 型函数的误差,因为
输出越来越接近 0
和 1
,因此您需要更多内存才能
并保留跟踪这些值所需的精度。
逻辑回归的损失函数是 对数损失函数。通过 对数损失方程式会返回变化幅度的对数, 而不只是从数据到预测的距离。对数损失的计算公式为 如下:
\(\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, 大量特征。因此,大多数逻辑回归模型都使用 降低模型复杂度:
。