概念
线性回归方程:
即找一条直线来预测连续的数值(例如温度、房价)
简单的一元线性回归方程: (特征 × 权重 + 偏置)
逻辑回归:
本质仍为二分类,如判断样本为哪个类别、判断肿瘤是良性还是恶性
逻辑回归内部也计算一个类似的线性加权和:
关键区别:线性回归直接把 z 当预测值输出。但分类问题需要输出是概率(0到1之间)
解决办法:我们把线性回归的输出丢进一个“压缩函数”,保证输出永远在 0 到 1 之间。
Sigmoid 函数(S型的曲线):
这个函数把任何实数 z 映射到了 (0, 1) 区间内
-
输入很大(正数很大) → 输出接近 1
-
输入很小(负数很大) → 输出接近 0
-
输入等于 0 → 输出正好是 0.5
损失函数:
有了预测值(概率),我们就需要衡量“预测的好坏”。
这就需要一个打分标准 → 这就是损失函数(Loss Function) 。
逻辑回归常用的损失函数是交叉熵损失:
真实标签 y
-
在监督学习里,训练数据都会给定“答案”。
-
在逻辑回归的二分类场景下,答案通常是 0 或 1:
- :表示属于正类(比如“垃圾邮件”)
- :表示属于负类(比如“正常邮件”)
损失函数如何比较?
损失函数就是把“模型预测的 y^ 和真实标签 y 进行对比,算出一个数值,表示预测好坏:
-
如果 y=1,损失就是:−log(y^)
- y^越接近 1 → 损失越小(预测正确)
- y^越接近 0 → 损失越大(预测错误)
-
如果 y=0,损失就是:−log(1−y^)
- y^越接近 0 → 损失越小
- y^越接近 1 → 损失越大
损失函数就是量化“预测和真实之间的差距”。
调整 w,b 的意义
- w,b会影响线性部分 ;
- z会影响概率 y^=σ(z);
- y^会决定损失值 Loss;
- 梯度下降会根据 Loss 的大小和方向来不断更新 w,b让 Loss 逐步变小。
这就是逻辑回归训练的闭环。
梯度下降
我们有了损失函数 Loss(y,y^)它表示“预测和真实的差距”。
- 我们希望 Loss 越小越好。
- 但是 Loss 是一个关于参数 (w,b)的复杂函数。
换句话说:我们要找到一组最优的 w,b,使得 Loss 最小。
一维情况(直线)
比如函数 f(x),它的导数 f′(x)就表示在某点的斜率。
- 如果斜率 > 0,函数在增大。
- 如果斜率 < 0,函数在减小。
所以在一维中,我们可以顺着斜率的反方向(负方向)走,来减小函数值。
而沿负梯度方向调整参数,就是让每个参数沿着能 让整体损失最快下降 的方向更新,梯度下降的目标是找到一个损失函数的局部最小值。当参数的梯度趋近于零时,算法收敛,表明找到了一个临界点。对于逻辑回归(其损失函数通常是凸的),这个临界点就是全局最小值。
- 梯度就是“对所有自变量求偏导的集合” 。
- 梯度方向:函数在该点 增长最快 的方向。
- 负梯度方向:函数在该点 下降最快 的方向。
这就是梯度下降的核心:沿着负梯度方向更新参数,让损失函数最小化。