逻辑回归:使用 S 型函数计算概率

许多问题需要将概率估算值作为输出。 逻辑回归是 一种极其高效的概率计算机制。实际 这时,您可以在以下任一方法中使用返回的概率值: 两种方法:

  • “按原样”应用。例如,如果垃圾邮件预测模型将电子邮件视为 输入并输出值 0.932,这表示概率为 93.2% 电子邮件是垃圾邮件。

  • 转换为二元类别 例如 TrueFalseSpamNot Spam

本单元着重介绍如何按原样使用逻辑回归模型输出。在 “分类”单元中,您将了解如何 将输出转换为二元类别。

S 型函数

您可能想知道逻辑回归模型如何确保其输出 表示概率,始终输出 0 到 1 之间的值。由于 会发生一系列函数,这些函数称为逻辑函数 其输出具有相同的特征。标准逻辑函数, 也称为 S 型函数sigmoid 表示“s 形”),其 公式:

\[f(x) = \frac{1}{1 + e^{-x}}\]

图 1 显示了 S 型函数的对应图。

在笛卡尔坐标平面上绘制的 S 型曲线(S 形);
         以原点为中心
图 1. S 型函数的图形。曲线接近 0 因为 x 值减少到负无穷大,而 1 则等于 x 值越接近无穷大。

随着输入 x 增大,S 型函数的输出接近 但永远不会达到 1。同样,当输入值减小时,S 型函数值 函数的输出接近,但永远不会达到 0

点击此处更深入地探究数学知识 S 型函数背后的原理

下表显示了 S 型函数的输出值 7 到 7 之间的输入值。请注意 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 值是特定样本的特征值。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 之所以称为对数几率,是因为如果您从 以下 S 型函数(其中 $y$ 是逻辑输出) 回归模型中表示概率):

$$y = \frac{1}{1 + e^{-z}}$$

然后求出 z

$$ z = \log\left(\frac{y}{1-y}\right) $$

然后,将 z 定义为概率比率的对数 两种可能的结果:y 和 1 – y。

图 2 说明了如何将线性输出转换为逻辑回归 输出结果。

左侧:包含点 (-7.5, –10)、(-2.5, 0) 和 (0, 5) 的线条
         突出显示。右侧:包含相应转换后的 S 型曲线
         突出显示 (-10, 0.00004)、(0, 0.5) 和 (5, 0.9933)。
图 2. 左图:线性函数 z = 2x + 5,包含三个 突出显示的数据点右侧:三个点相同的 S 型曲线 经过 S 型函数转换后突出显示。

在图 2 中,一个线性方程成为 S 型函数的输入, 将直线弯曲成 S 形。请注意,线性方程式 可以输出非常大或非常小的 z 值,但 S 型函数的输出 函数 y' 始终介于 0 和 1 之间(不含 0 和 1)。例如,橙色的 左图中矩形的 z 值为 -10,但 右图将 -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. 这些输入值的 z 值是多少?
-1
0
0.731
1
正确!由权重和偏差定义的线性方程为 z = 1 + 2x1 – x2 + 5 x3。将 输入方程的输入值得到 z = 1 + (2)(0) - (10) + (5)(2) = 1
2. 这些输入值的逻辑回归预测是什么?
0.268
0.5
0.731

如上面的第 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\)

1
请记住,S 型函数的输出将始终为 大于 0 且小于 1。