2026/2/19 11:30:57
网站建设
项目流程
网站颜色规范,个人建站如何赚钱,如何做网络营销推广才是最正确的,公司做网站所上传的产品图片什么是逻辑回归#xff1f;想象一下#xff0c;你在玩一个游戏#xff1a;根据一些线索#xff0c;猜一个人是“猫派”还是“狗派”。机器学习里的逻辑回归#xff08;Logistic Regression#xff09;就是这样一个“猜分类”的算法。它不是用来预测连续的数字#xff08…什么是逻辑回归想象一下你在玩一个游戏根据一些线索猜一个人是“猫派”还是“狗派”。机器学习里的逻辑回归Logistic Regression就是这样一个“猜分类”的算法。它不是用来预测连续的数字比如房价而是用来预测“属于哪一类”的概率比如“是”或“否”、“ spam邮件”还是“正常邮件”。它叫“回归”但其实是分类算法因为它基于线性回归但加了个“魔法”来处理分类问题。简单说它先用一条直线拟合数据然后把结果挤压成0到1之间的概率。线性回归 vs 逻辑回归为什么需要区别线性回归就像画一条直线来预测连续值比如根据房子大小预测价格。但如果用它来分类比如预测“是否会下雨”0或1它可能会给出负数或大于1的值这没意义。逻辑回归解决了这个问题它用同样的直线但输出不是直接的数值而是概率。如上图所示线性回归的线可以无限延伸而逻辑回归的输出被限制在0和1之间看起来像一条S形的曲线。Sigmoid函数逻辑回归的核心“魔法”逻辑回归的秘密武器是Sigmoid函数。它把线性方程的输出叫z w*x b其中w是权重x是特征b是偏置转化成概率。公式简单如果z很大正数ϕ(z)接近1比如“很可能属于这一类”。如果z很大负数ϕ(z)接近0。如果z0ϕ(z)0.5不确定。这就像一个“挤压机”把无限的直线输出挤成0-1的概率曲线。这张图画的是Sigmoid逻辑函数横轴是 z可以取任意实数纵轴是 ϕ(z)被“压缩”到 0∼1之间曲线是典型的S 型z 很大时输出接近 1z 很小时输出接近 0在 z0 时刚好 ϕ(0)0.5这正是机器学习里逻辑回归Logistic Regression的核心把“线性打分”变成“概率”。1) 逻辑回归在做什么逻辑回归用于二分类比如垃圾邮件/非垃圾邮件违约/不违约。它先算一个线性组合x特征向量比如邮箱里“中奖”“免费”等词出现次数w权重每个特征的重要性b偏置整体阈值然后把这个 z 丢进图里的 Sigmoid于是输出就成了一个概率接近 1更像正类 y1接近 0更像负类 y02) 决策边界为什么图里 z0 很关键因为 ϕ(0)0.5。常见分类规则是若 p≥0.5 判为 1若 p0.5 判为 0而。所以逻辑回归的决策边界就是这是一条“直线/平面/超平面”——也就是说逻辑回归本质上学的是线性可分的边界在原特征空间里。3) 它为什么叫“回归”但在做“分类”因为它不是直接输出类别而是回归一个概率值。最后再用阈值把概率切成 0/1。4) 训练时学什么用什么损失函数目标是让训练数据在“正确类别”上的概率尽量大最大似然。等价地我们最常用交叉熵损失log loss如果真实 y1就惩罚log p希望 p 越大越好如果真实 y0就惩罚 log(1−p)希望 p 越小越好然后用梯度下降或其变体SGD、Adam 等去优化 w,b。5) 图里“S型”还暗示了两个很重要的性质概率压缩再大的正负数都被压进 (0,1)。适合做概率。饱和当 z 很大或很小时曲线变平梯度会变小——这会让极端自信接近 0 或 1的样本对参数更新影响变弱。6) 正则化防止“权重太极端”实际训练常加正则化L2更常用权重更平滑L1会做特征选择让很多权重变 07) 多分类怎么办二分类用 Sigmoid多分类常用Softmax 回归多项逻辑回归我们用一个超小、可手算的逻辑回归例子把“线性打分 → Sigmoid → 概率 → 分类 → 损失”完整走一遍。例子设定二分类垃圾邮件1正常邮件0假设我们只用两个特征x1邮件里“免费”出现次数x2邮件里“会议”出现次数模型参数随便举一组逻辑回归做两步线性打分Sigmoid 变概率样本 Ax[2,1]“免费”2次“会议”1次1) 算 z2) 算概率 pσ(1.4)用近似解释模型认为“是垃圾邮件”的概率约80.2%。3) 做分类阈值 0.5判为垃圾邮件顺便算一下“这次预测有多好”交叉熵损失交叉熵log loss如果真实 y1损失小说明预测不错如果真实 y0损失大说明“把正常邮件当垃圾”会被狠狠惩罚样本 Bx[0,3]“免费”0次“会议”3次1) 算 z2) 算概率解释是垃圾邮件概率8.3%所以判为正常邮件。这张图里“z0 对应 0.5”的意义决策边界因为 σ(0)0.5所以分类阈值 0.5 等价于看 z的正负判1判0本例的边界就是这是一条直线高维里是超平面逻辑回归本质学到的就是这条线/面。我们继续把训练参数怎么更新也用刚才那两个样本做一遍“可手算”的 SGD/梯度下降示范。1) 关键结论逻辑回归的梯度特别简单对单个样本 (x,y)交叉熵损失对参数的梯度是这里的 (p−y) 可以理解成“预测概率 - 真实标签”如果 y1 但 p1则 p−y0更新会让 z 变大把概率推向 1如果 y0 但 p0则 p−y0更新会让 z 变小把概率压向 02) 对样本 A 做一次 SGD假设真实是垃圾邮件 y1样本 Ax[2,1]我们之前算过z1.4(1) 误差项(2) 梯度(3) 用学习率 η0.1 更新SGD初始参数逐项算直觉解释真实是 1但模型只给了 0.80还不够自信所以更新把 w1 提高、把 w2 变得“没那么负”、把 b 往上推——目的都是让这个样本的 z 更大从而 p 更接近 1。3) 对样本 B 做一次 SGD假设真实是正常邮件 y0样本 Bx[0,3]我们算过z−2.4(1) 误差项(2) 梯度(3) 学习率 η0.1 更新从原始参数出发演示从直觉解释真实是 0但模型给了 0.083还不够接近 0所以更新会让 zzz 更负把 w2w_2w2 更往负方向推、把 bbb 也往下拉让这个样本的概率更贴近 0。4) 你现在可以把训练想成一句话每个样本都会产生一个“推动力” (p−y)它会沿着特征 x 的方向去推 w让正确类别的概率更接近 1或 0。我们把样本 A、B 放在一起做一次 mini-batchbatch size2用“平均梯度”更新一次参数。继续沿用我们前面的设定初始学习率 η0.1样本 A 标签 yA1样本 B 标签 yB01) 先回顾单个样本的梯度公式2) 两个样本各自的梯度我们前面已算过 p样本 A所以样本 B所以3) mini-batch求平均梯度平均的 gwg_wgw第一维第二维所以平均的 gb4) 用平均梯度更新一次参数带入 η0.1更新后5)可选验证更新后概率有没有“往对的方向走”样本 A希望更接近 1z 从 1.4 增到约 1.4427所以 pA′ 会从0.802稍微上升到大约0.809更像 1 ✅样本 B希望更接近 0z 从 -2.4 变得更负一点点所以 pB′ 会从0.08317稍微下降更像 0 ✅1. 整体原理像一个天气预报App想象逻辑回归是一个智能天气App。它不会简单说“今天下雨”或“不下雨”而是根据风速、湿度、气压等线索给你一个概率比如“下雨概率70%”。如果你设个阈值比如50%以上就带伞它就帮你决定行动。这比线性回归像直接预测雨量多少更适合分类因为概率总在0-100%之间不会乱来。上图对比了线性回归直线无限延伸像预测无限雨量和逻辑回归S形曲线像概率预报生动地展示了为什么逻辑回归更“靠谱”于分类。2. Sigmoid函数像一个懒洋洋的开关灯Sigmoid是逻辑回归的“心脏”它把原始计算结果一个无限的数字转化成0-1的概率。比喻成一个懒开关当输入小负数大时灯几乎不亮概率近0输入中等时灯慢慢亮起概率0.5左右输入大时灯全亮概率近1。不像普通开关“啪”一下它是渐变的不会突然跳跃。这让预测更平滑像现实中事情的“可能性”过渡。看看这张图Sigmoid曲线像一个伸懒腰的S形输入从左到右输出从暗到亮完美捕捉“渐变”的本质。3. 决策边界像球场上的中场线在数据空间里逻辑回归画一条“边界线”一边是A类概率0.5一边是B类。比喻成足球场的中场线根据球员位置、速度等判断球是进攻还是防守区。如果数据点“越界”概率就翻转。这条线是线性的但如果数据乱七八糟可以想象成弯曲的草坪边缘不过标准逻辑回归假设它直。这张卡通图像一个搞笑的回归指南把决策边界画得像分蛋糕的刀子一刀切开两类数据点超级直观4. 损失函数和训练像打高尔夫找洞训练逻辑回归就是最小化“损失”——错得多惨。交叉熵损失像高尔夫分数如果预测“肯定不下雨”概率0.01但实际下大雨罚分超高因为你太自信错了预测准就低分。训练过程用梯度下降像推高尔夫球下坡从随机起点开始计算最陡方向一推一推直到球进洞损失最小。如果坡太陡可能卡在小坑局部最小但通常够用。另一个比喻像调吉他弦。开始音调乱随机权重弹错音高损失慢慢拧紧更新参数直到和弦完美。5. 优点与局限像一把瑞士军刀逻辑回归像瑞士军刀小巧、多功能、易用解释每个特征的影响像刀刃的用途适合二分类如“邮件是垃圾吗”。但它不万能——如果数据像迷宫非线性它就力不从心得换更高级的“工具箱”如神经网络。优点是快如闪电局限是假设世界太“直线”。总结逻辑回归的优点和局限优点简单、快、解释性强能看到每个特征的影响。局限假设数据线性可分多分类需扩展比如One-vs-Rest。用在哪信用卡欺诈检测、医疗诊断等二分类问题。