许多问题需要将概率估算值作为输出。 逻辑回归是 一种极其高效的概率计算机制。实际上,您可以通过以下两种方式使用返回的概率:
“按原样”应用。例如,如果垃圾邮件预测模型将电子邮件视为 输入并输出值
0.932
,这表示概率为93.2%
电子邮件是垃圾邮件。转换为二元类别,例如
True
或False
、Spam
或Not Spam
。
本单元重点介绍如何按原样使用逻辑回归模型输出。在“分类”模块中,您将学习如何将此输出转换为二元类别。
S 型函数
您可能想知道逻辑回归模型如何确保其输出表示概率,始终输出介于 0 到 1 之间的值。由于 会发生一系列函数,这些函数称为逻辑函数 其输出具有相同的特征。标准逻辑函数, 也称为 S 型函数 (sigmoid 表示“s 形”),其 公式:
\[f(x) = \frac{1}{1 + e^{-x}}\]
图 1 显示了 sigmoid 函数的相应图表。
随着输入 x
的增加,sigmoid 函数的输出会接近 1
,但永远不会达到 1
。同样,当输入值减小时,S 型函数值
函数的输出接近,但永远不会达到 0
。
点击此处可深入了解 Sigmoid 函数背后的数学原理
下表显示了当输入值在 -7 到 7 的范围内时,S 型函数的输出值。请注意 S 型函数的速度 0 表示递减负输入值,以及 S 型函数接近的速度 1 表示增加正输入值。
不过,无论输入值多大或多小, 始终大于 0 且小于 1。
输入 | S 型输出 |
---|---|
-7 | 0.001 |
-6 | 0.002 |
-5 | 0.007 |
-4 | 0.018 |
-3 | 0.047 |
-2 | 0.119 |
-1 | 0.269 |
0 | 0.50 |
1 | 0.731 |
2 | 0.881 |
3 | 0.952 |
4 | 0.982 |
5 | 0.993 |
6 | 0.997 |
7 | 0.999 |
使用 S 型函数转换线性输出
以下等式表示逻辑回归模型的线性组件:
\[z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N\]
其中:
- z 是线性方程的输出(也称为 对数几率。
- b 是偏差。
- w 的值是模型学习的权重。
- x 的值是特定样本的特征值。
要获得逻辑回归预测结果,请将 z 值传递给 S 型函数,将得到一个介于 0 到 1 之间的值(概率):
\[y' = \frac{1}{1 + e^{-z}}\]
其中:
- y' 是逻辑回归模型的输出。
- z 为线性输出(按上述等式计算得出)。
点击此处详细了解 对数几率
在等式 $z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N$ 中,z 被称为对数几率,因为如果您从以下 sigmoid 函数开始(其中 $y$ 是逻辑回归模型的输出,表示概率):
$$y = \frac{1}{1 + e^{-z}}$$
然后求解 z:
$$ z = \log\left(\frac{y}{1-y}\right) $$
然后,将 z 定义为概率比率的对数 两种可能的结果中的一种:y 和 1 – y。
图 2 说明了如何将线性输出转换为逻辑回归 输出结果。
在图 2 中,线性方程会成为 S 型函数的输入,该函数会将直线弯曲成 S 形。请注意,线性方程 可以输出非常大或非常小的 z 值,但 S 型函数的输出 函数 y' 始终介于 0 和 1 之间(不含 0 和 1)。例如,左侧图表中的黄色方块的 z 值为 -10,但右侧图表中的 S 型函数会将该 -10 映射为 y' 值 0.00004。
练习:检查您的理解情况
具有三个特征的逻辑回归模型具有以下偏差, 权重:
\[\begin{align} b &= 1 \\ w_1 &= 2 \\ w_2 &= -1 \\ w_3 &= 5 \end{align} \]
假设存在以下输入值:
\[\begin{align} x_1 &= 0 \\ x_2 &= 10 \\ x_3 &= 2 \end{align} \]
请回答以下两个问题。
如上文第 1 点所计算,输入值对应的对数几率为 1。 将 z 的值代入 S 型函数:
\(y = \frac{1}{1 + e^{-z}} = \frac{1}{1 + e^{-1}} = \frac{1}{1 + 0.367} = \frac{1}{1.367} = 0.731\)