许多问题需要将概率估算值作为输出。由于线性回归无法保证输出值表示概率(介于零和一之间),所以需要逻辑回归——它是一种极其高效的概率计算机制。那么逻辑回归如何保证其输出表示概率?
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正则化或者早停法降低模型复杂度。
标签:输出,逻辑,函数,回归,损失,Logistic,Regression,log From: https://www.cnblogs.com/ArmRoundMan/p/18408061