ArmRoundMan

博客园 首页 新随笔 联系 订阅 管理

许多问题需要将概率估算值作为输出。由于线性回归无法保证输出值表示概率(介于零和一之间),所以需要引入除了线性回归之外的另一种回归模型:逻辑回归——它是一种极其高效的概率计算机制。那么逻辑回归如何保证其输出表示概率?

1. 逻辑回归如何计算概率?

碰巧,有一族函数称为“逻辑函数”,其输出满足上述条件。标准逻辑函数/S 型函数sigmoid表示S型)是其中之一,其公式为$y'=\frac{1}{1+e^{-z}}$。z代表该线性回归输出,又称对数几率(log odds)。为什么叫对数几率?因为$y'=f(z)$的反函数$z=\log \frac{y}{1-y}$满足定义。

2. 逻辑回归使用何种损失函数?

线性回归所用的损失函数见线性回归(Linear Regression)。逻辑回归不能照搬。为何?

先看一下表中标准S型函数输入较大时的逻辑输出值,以及捕捉到输出随输入发生了变化所需的输出保留精度位数。

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

倘若再使用平方型损失函数,所需精度位数会加倍。

逻辑回归采用对数损失函数,计算公式为:$\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'$是给定$x$中的特征的条件下,模型的预测结果(介于零和一之间)。
  • 如果你看不懂这个公式,笔者不推荐你去看@冰冰 写的似然(likelihood)和NLLLoss 。因为他拿了个单分类的特殊情况对公式作了简化,不具代表性。

注意到,上述损失函数的定义与的定义很类似。

3. 前瞻

正则化:如果没有正则化,当模型具有大量特征时,逻辑回归的渐近性质将使损失不断趋向于 0。那么损失趋向于0有什么坏处呢?有人觉得这会导致过拟合。

大多数逻辑回归模型采用L2正则化或者早停法降低模型复杂度。

 

posted on 2024-09-11 13:56  后生那各膊客圆了  阅读(111)  评论(4)    收藏  举报