在本文中,我们将深入探讨逻辑回归背后的数学原理。逻辑回归是机器学习和人工智能 (AI) 中最常用的分类算法之一。我们还将深入探讨回归的细节、用例和不同类型的逻辑回归。在生成式 AI 时代,支撑逻辑回归的基础仍然在编排复杂神经网络模型中仍然发挥着关键的作用。逻辑回归在行为和社会科学研究背景下的统计测试以及整个数据科学领域仍然具有很高的相关性。我们可以使用 Python 中的 scikit-learn 模块轻松实现逻辑回归。
在本阅读解释器中,我们向您介绍线性回归和逻辑回归之间的区别、数学基础、不同类型的逻辑回归及其相关用例。
逻辑回归与线性回归一样,是一种线性模型,用于研究预测变量(自变量)与输出变量(响应、目标或因变量)之间的关系。主要区别在于,当输出为连续值时,例如预测某人的信用评分,会使用线性回归。当结果为分类变量时,例如贷款是否获得批准,可以使用逻辑回归。
在逻辑回归中,模型预测特定结果发生的概率。例如,根据某人的财务状况,我们可以预测其贷款获得批准的概率。模型的输出是一个介于 0 和 1 之间的值。根据阈值(通常为 0.5),我们将结果分类为“批准”或“不批准”。与线性回归中在数据中画一条直线不同,逻辑回归拟合一条 S 形曲线,将输入值映射到概率。
线性回归和逻辑回归都使用统计检验来评估哪些预测变量对输出结果有显著影响。t 检验和方差分析 (ANOVA)(或逻辑回归的似然比检验)等技术可为每个系数生成 p 值,帮助我们评估这种关系是否具有统计显著性。低 p 值(通常低于 0.05)表明该变量对模型有意义的贡献。我们还根据回归类型使用不同的指标来评估拟合优度——即模型对观察到的结果的解释程度。
当我们构建模型时,重要的是要防止过拟合,即模型捕获训练数据中的噪声并且在新数据上表现不佳。如果预测变量多而样本量小,这种风险就会增加。为了解决这个问题,我们可以应用正则化,这是一种通过缩小系数来降低不太重要变量影响的技术。还必须仔细注意异常值,因为它们会扭曲模型,导致产生误导性的 p 值或系数。在实践中,我们通过多次迭代特征选择、测试和优化来改进模型。
为了更具体地对比两种模型,考虑一个线性回归场景,我们想根据某人当前的储蓄等特征来预测其信用评分。我们可以将其建模为:
与线性回归一样,逻辑回归是一种线性模型,属于广义线性模型 (GLM) 家族。与前面的示例一样,如果想表示批准或不批准的概率,我们应用线性函数。
由于线性函数假设存在线性关系,因此随着 X 值的变化,Y 可能会采用 (-inf, inf) 中的值。我们知道,概率的取值范围限制在 [0,1] 之间。利用线性模型的这一原理,我们无法直接对二元结果的概率进行建模。相反,我们需要一个逻辑模型来理解概率。因此,我们希望对输入应用转换,以便限制结果。这种转换被称为逻辑回归方程。这个方程可能看起来很复杂,但我们将在下一节中逐步分解其推导过程。
sigmoid 转换允许我们对前面的用例进行二元预测。进行转换后,X 的值可以取 (-inf, inf),而 y 将限制在 [0,1] 之间
要理解逻辑回归函数(或 sigmoid 函数),我们需要牢固掌握以下概念:
概率之比的对数称为 logit 函数,它构成了逻辑回归的基础。
因为概率被限制在 0 和 1 之间,所以不能直接使用线性函数对概率建模,而要改用几率。虽然概率和几率都表示结果的可能性,但它们的定义不同:
概率衡量事件发生的机会占所有可能结果的比例。
几率 比较事件发生的机会与不发生的机会。
令 p(x) 表示事件发生的概率。则 x 的几率定义为:
我们来看一个具体的例子:
假设一个篮子里有 3 个苹果和 5 个橙子。
- 拿到橙子的概率为 5/(3+5) = 0.625
- 拿到橙子的几率为 5/3 ≈ 1.667
这意味着拿到橙子的可能性是拿到苹果的 ≈1.667 倍。相反,拿到苹果的几率为 3/5 = 0.6,小于 1,表明结果(拿到苹果)的可能性较小。根据几率等式,我们也可以把几率看作结果发生的概率大于 1,即结果发生的概率。因此,拿到橙子的几率为 = P(橙子)/(1-P(橙子))=0.625/(1-0.625)≈1.667
几率取值范围为 0 到无穷大。几率值大于 1 表示结果有利,小于 1 表示结果不利,等于 1 表示事件发生的可能性与不发生的可能性相同。
不过,几率在 1 周围并不对称。例如,几率 2 和 0.5 分别表示“可能性翻倍”和“可能性减半”,但它们在数值尺度上差异很大。为解决这种不平衡,我们取几率的对数,这将几率的无界尺度 [0, ∞) 转换为实数轴 (−∞, ∞)。这被称为对数几率,或 logit,是逻辑回归模型的基础。
我们将对数几率定义为:
这种变换允许我们将对数几率表示为输入的线性函数:
然后,我们可以对两边进行指数化运算,得出几率:
求解 我们得到了 sigmoid 函数,该函数能确保预测值保持在 0 到 1 之间:
这种转换允许逻辑回归输出有效的概率,即使我们在底层使用线性函数对它们进行建模。
我们最后引入 几率比概念,该概念有助于解释模型系数的影响。几率比告诉我们当输入变量 x1 增加一个单位时,几率如何变化。
假设事件几率为:
如果我们将 x1 增加一个单位,新几率变为:
这意味着 x1 每增加一个单位,几率就会乘以 eb1 。该乘数即为几率比。
- 如果 b1>1,则几率增加(事件更有可能发生)
- 如果 b1<1,则几率降低(事件变得可能)
- 如果 b1=1,几率比为 0,即输入对几率没有影响
几率比赋予逻辑回归可解释性,它能说明事件的几率如何随输入变化,这在医疗、营销和金融等应用场景中非常实用。但是,我们不能用解释线性回归系数的方式来解释这些系数。接下来让我们深入探讨系数的确定与解释方法。
回顾之前的内容:在线性回归中,系数很容易解释。以连续变量线性回归为例:输入特征 x 每增加一个单位,预测结果 y 将增加 b1 个单位。这种直接关系之所以有效,是因为线性回归假设输入特征与目标之间存在恒定变化率。它的输出没有上限,并且呈线性增长。
然而,逻辑回归并不直接对 y 进行建模,而是通过 log-odds(几率的对数)对 y 的概率进行建模。因此,我们不能说 x 每增加一个单位会导致 y 发生恒定单位变化。相反,我们需要通过系数对对数几率的影响(进而对几率和事件概率的影响)来解释系数。
具体而言,在逻辑回归中:
重要的是,系数的大小反映了这种影响的强度,而几率比(系数的指数)则告诉我们变量每增加一个单位,几率会变化多少。
与其他机器学习算法一样,我们可以在逻辑回归中纳入分类变量进行预测。在处理分类变量或离散变量时,我们通常会使用特征工程技术,如单次编码或虚拟变量,将它们转换成模型可以使用的二进制格式。
例如,使用之前相同的概念,假设我们想预测某人是否获得贷款批准( 批准, 不批准)的依据是他们是否仍有债务:
- 使 表示他们没有债务
- 使 表示他们有债务
我们的对数几率为 将是
系数 ,则表示与没有债务的人相比,有债务的人获得批准的对数几率的变化。
为了使其更具可解释性,我们可将 b1 取指数,以获得几率比:
因此,虽然我们失去了线性回归系数的直观解释性,但逻辑回归仍能提供丰富的可解释洞察,特别是当我们从几率和概率变化的角度进行阐述时。概率增减的幅度作为函数 并不对应于单位增量 但这取决于 在特定点的取值。
逻辑回归中的系数, 以及 ,采用最大似然估计法 (MLE) 进行估计。MLE 的核心思想是找到能使观测数据在逻辑回归模型下“最可能”出现的参数。
在逻辑回归中,我们对目标变量的概率进行建模 给定一个输入,值为 1(例如,“批准”) 通过使用逻辑(sigmoid) 函数:
MLE 尝试不同的组合 和 ,并对每种组合提出疑问:在此参数条件下,我们看到实际数据的可能性有多大?
这通过似然函数来捕捉,该函数将每个数据点的预测概率相乘:
- 如果 =1(“批准”),我们希望模型的预测概率为 尽可能接近 1。项 处理此情况。如果 y1 的实际观测数据实际上是“批准”或 1,则该项为 1。
- 如果 =0,我们希望预测概率接近 0。术语 处理此情况。如果实际观测数据是 是“未批准”,或 0,该值将为 接近于 0,则 将接近于 1。
因此对于每个数据点,我们根据实际标签是 1 或 0 来乘以 或 ,所有样本的乘积给出单一数值:当前模型下观测到整个数据集的似然度。我们可以看出,如果预测结果(使用参数 和 )与观测数据相符,似然值将最大化。将所有概率相乘的原因在于我们假设各结果相互独立。一个人获得批准的概率不应影响另一个人获得批准的概率。
由于该乘积可能极小,我们通常使用对数似然,将乘积转换为求和,更便于计算和优化。
为找到使对数似然最大化的值, 和 我们使用梯度下降,这是一种迭代优化算法。每步计算对数似然相对于各参数的变化量(即梯度),然后沿似然增长方向微调参数。该过程最终会收敛至最拟合数据的 和 值。
逻辑回归模型有三种类型,它们是根据分类响应定义的。
逻辑回归通常用于预测和分类问题。其中一些用例包括:
使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。
借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。
通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。