线性模型 - Logistic回归(参数学习具体示例)
Logistic 回归采用交叉熵作为损失函数,并使用梯度下降法来对参数进行优化。
Logistic 回归的参数学习通常基于最大似然估计(MLE),目标是通过最小化损失函数(通常是二元交叉熵损失)来找到最优参数。下面以一个简单的二分类问题为例,详细说明参数学习的过程。
一. 问题描述
假设我们有一个简单的数据集,用于判断某封邮件是否为垃圾邮件。样本的特征只有一个(例如“包含‘免费’一词的次数”),真实标签 y 取值为 0(正常邮件)或 1(垃圾邮件)。数据集示例如下:
邮件样本 | 特征 x | 标签 y |
---|---|---|
1 | 1 | 0 |
2 | 2 | 0 |
3 | 3 | 1 |
4 | 4 | 1 |
二. 模型表示
Logistic 回归模型假设:
z=wx+b
然后通过 Sigmoid 函数将 z 映射到 (0,1) 的概率:
这里,w 和 b 为我们需要学习的参数。
三. 损失函数与最大似然估计
对于一个样本,二元交叉熵损失函数为:
关于二元交叉熵损失函数,可以参考博文:线性模型 - 二分类问题的损失函数-CSDN博客
整个数据集的总损失(目标函数)是各样本损失的平均:
最小化 J(w,b) 就相当于最大化训练数据的似然。
且J(w,b)是关于参数 𝒘 的连续可导的凸函数.因 此除了梯度下降法之外,Logistic 回归还可以用高阶的优化方法(比如牛顿法) 来进行优化.
四. 参数学习的过程(基于梯度下降)
我们通过梯度下降法来迭代更新 w 和 b 使得 J(w,b) 最小。
步骤:
-
初始化参数
例如,初始化 w=0,b=0。 -
计算预测
-
计算损失
-
计算梯度
对 w 和 b 求偏导,梯度推导可得(这里简化说明):我们利用链式法则一步步推导梯度如下(这里给出偏导的推导过程,有兴趣的可以理解,只要求应用的可以跳过):
-
更新参数
使用学习率 α进行参数更新: -
迭代
重复步骤2到步骤5,直到损失函数收敛到一个较小值。
五. 具体数值示例
假设我们采用学习率 α=0.1,用上面的数据集进行一轮更新。
初始化:
w=0,b=0。
样本计算:
计算梯度:
参数更新:
六. Logistic 回归的参数学习过程主要包括:
- 计算输入特征的线性组合;
- 通过 Sigmoid 函数得到概率输出;
- 定义二元交叉熵损失函数衡量预测误差;
- 使用梯度下降法计算梯度,并更新参数;
- 反复迭代直到损失收敛。
通过这个具体的数值例子,我们可以看到如何从初始参数开始,通过不断调整使得模型预测更精确,最终学到一个有效的二分类模型。
七.为了更好的理解Logistic回归的应用,我们在掌握原理之后,再看一个垃圾邮件检测的示例
示例场景
假设我们有一批电子邮件,每封邮件已被标注为“垃圾邮件”(标签1)或“正常邮件”(标签0)。我们希望通过逻辑回归模型来判断新邮件是否为垃圾邮件。
1. 数据准备与特征提取
假设我们从邮件中提取以下几个简单特征:
- 特征1: 邮件中包含“免费”一词的次数
- 特征2: 邮件中包含“优惠”一词的次数
- 特征3: 邮件的总字数
例如,我们有如下训练数据(仅示例数据):
邮件ID | 免费次数 (x₁) | 优惠次数 (x₂) | 总字数 (x₃) | 标签 (y) |
---|---|---|---|---|
1 | 3 | 2 | 100 | 1 |
2 | 0 | 0 | 150 | 0 |
3 | 1 | 1 | 120 | 0 |
4 | 4 | 3 | 80 | 1 |
这些特征可以认为是对邮件内容的一种量化描述,反映了垃圾邮件通常包含促销、诱导类词汇以及篇幅可能较短的特点。
2. 构建逻辑回归模型
模型公式:
逻辑回归模型的决策函数为:
其中 w1,w2,w3是特征对应的权重,b 是偏置项。
概率输出:
将 z 传递给 Sigmoid 函数,得到预测为垃圾邮件的概率:
决策规则:
如果 P(spam∣x)≥0.5(或根据业务需求调整阈值),则预测该邮件为垃圾邮件(标签1);否则预测为正常邮件(标签0)。
3. 模型训练
-
构建损失函数
使用二元交叉熵损失来度量模型预测与真实标签之间的差距: -
参数求解
利用梯度下降法或其他优化算法调整 w1,w2,w3 和 b,使得总损失(所有训练样本的损失之和)最小。
假设经过训练后,我们得到如下参数:(具体过程如上面介绍的梯度下降法)
- w_1 = 0.8
- w_2 = 0.5
- w_3 = -0.01
- b = -2
这些参数表明:
- 邮件中“免费”和“优惠”的出现次数对判断为垃圾邮件有正面影响(正权重);
- 邮件字数 x_3 的负权重可能反映出垃圾邮件通常较短;
- 偏置项 b=−2 调整了整体的决策门槛。
4. 模型预测
假设现在有一封新邮件,其特征为:
- 免费次数:2
- 优惠次数:1
- 总字数:90
计算线性组合:
计算概率:
决策:
由于 0.31<0.5,模型预测这封邮件为正常邮件(标签0)。
5. 总结
- 理解:
逻辑回归通过计算输入特征的线性组合,将其转换为垃圾邮件的概率,从而做出分类决策。 - 应用:
垃圾邮件检测是逻辑回归的经典应用之一,通过特征提取、模型训练和概率阈值判断,实现对邮件是否为垃圾邮件的自动分类。
这个例子展示了从特征提取、模型构建、参数训练到最终预测的全过程,帮助初学者直观地理解如何使用逻辑回归解决二分类问题,特别是在垃圾邮件检测场景下的应用。
关于梯度下降法,请参考博文:机器学习-常用的三种梯度下降法_梯度下降算法有哪些-CSDN博客