Machine Learning Specialization — Course 1, Week 3
第 31-41 课学习总结
课程基本信息
| 项目 | 内容 |
|---|---|
| 课程 | Supervised Machine Learning: Regression and Classification |
| 周次 | Week 3 — Classification |
| 涵盖课时 | 3-1 至 3-10(共 10 个视频,对应课程编号 P32-P41) |
| 总时长 | 约 60 分钟 |
第 3-1 课:分类问题与逻辑回归动机(Classification Problem)
课程概述
这一课从回归问题过渡到分类问题,介绍了为什么线性回归不适合解决分类任务,以及逻辑回归(Logistic Regression)的基本动机。
为什么线性回归不适合分类
在二分类问题中,目标变量 yyy 只有两个取值:0(负类)或 1(正类)。如果强行用线性回归拟合,会出现以下问题:
-
输出值不受约束:线性回归的输出 fw,b(x)=w⋅x+bf_{\boldsymbol{w},b}(\boldsymbol{x}) = \boldsymbol{w} \cdot \boldsymbol{x} + bfw,b(x)=w⋅x+b 可以是任意实数,可能远大于 1 或远小于 0,而分类问题需要输出在 [0,1][0, 1][0,1] 区间内才能解释为概率。
-
对异常值敏感:当数据中出现一个远离决策区域的异常点时,线性回归的拟合直线会被拉偏,导致原本正确分类的样本被错误分类。
-
最小二乘目标不匹配:线性回归最小化的是预测值与真实标签的平方误差,而分类问题更关心的是预测类别是否正确,两者优化目标不一致。
逻辑回归的解决思路
逻辑回归不直接预测类别标签,而是预测属于正类的概率。它通过 sigmoid 函数将线性组合的输出压缩到 (0,1)(0, 1)(0,1) 区间,使得输出可以被解释为 P(y=1∣x)P(y=1|\boldsymbol{x})P(y=1∣x)。当这个概率大于等于 0.5 时预测为 1,否则预测为 0。
第 3-2 课:Sigmoid 函数与逻辑回归模型(Sigmoid/Logistic Function)
课程概述
这一课详细介绍了 sigmoid(逻辑)函数的定义、性质,以及基于 sigmoid 的逻辑回归预测模型。
Sigmoid 函数的定义
Sigmoid 函数(也称为逻辑函数)定义为:
g(z)=11+e−zg(z) = \frac{1}{1 + e^{-z}}g(z)=1+e−z1
其中 zzz 是任意实数输入。该函数具有以下关键性质:
- 输出范围:g(z)∈(0,1)g(z) \in (0, 1)g(z)∈(0,1),严格介于 0 和 1 之间
- 对称性:g(0)=0.5g(0) = 0.5g(0)=0.5,当 z=0z = 0z=0 时输出恰好为 0.5
- 单调递增:随着 zzz 增大,g(z)g(z)g(z) 趋近于 1;随着 zzz 减小,g(z)g(z)g(z) 趋近于 0
- S 形曲线:函数图像呈平滑的 S 形,在 z=0z = 0z=0 附近变化最快,两端逐渐饱和
逻辑回归的预测函数
将线性回归的线性组合 z=w⋅x+bz = \boldsymbol{w} \cdot \boldsymbol{x} + bz=w⋅x+b 代入 sigmoid 函数,得到逻辑回归的预测函数:
fw,b(x)=g(w⋅x+b)=11+e−(w⋅x+b)f_{\boldsymbol{w},b}(\boldsymbol{x}) = g(\boldsymbol{w} \cdot \boldsymbol{x} + b) = \frac{1}{1 + e^{-(\boldsymbol{w} \cdot \boldsymbol{x} + b)}}fw,b(x)=g(w⋅x+b)=1+e−(w⋅x+b)1
这个输出值被解释为:在给定特征 x\boldsymbol{x}x 和参数 w,b\boldsymbol{w}, bw,b 的条件下,样本属于正类(y=1y = 1y=1)的概率:
fw,b(x)=P(y=1 ∣ x;w,b)f_{\boldsymbol{w},b}(\boldsymbol{x}) = P(y = 1 \,|\, \boldsymbol{x}; \boldsymbol{w}, b)fw,b(x)=P(y=1∣x;w,b)
预测决策规则
有了概率估计后,分类决策规则很简单:
- 如果 fw,b(x)≥0.5f_{\boldsymbol{w},b}(\boldsymbol{x}) \geq 0.5fw,b(x)≥0.5,预测 y^=1\hat{y} = 1y^=1(正类)
- 如果 fw,b(x)<0.5f_{\boldsymbol{w},b}(\boldsymbol{x}) < 0.5fw,b(x)<0.5,预测 y^=0\hat{y} = 0y^=0(负类)
由于 sigmoid 函数是单调递增的,fw,b(x)≥0.5f_{\boldsymbol{w},b}(\boldsymbol{x}) \geq 0.5fw,b(x)≥0.5 等价于 w⋅x+b≥0\boldsymbol{w} \cdot \boldsymbol{x} + b \geq 0w⋅x+b≥0。这意味着决策边界由线性方程 w⋅x+b=0\boldsymbol{w} \cdot \boldsymbol{x} + b = 0w⋅x+b=0 决定。
第 3-3 课:决策边界(Decision Boundary)
课程概述
这一课讲解了决策边界的概念——逻辑回归如何将特征空间划分为两个区域,分别对应不同的预测类别。
决策边界的定义
决策边界是特征空间中满足 fw,b(x)=0.5f_{\boldsymbol{w},b}(\boldsymbol{x}) = 0.5fw,b(x)=0.5 的所有点的集合,即:
w⋅x+b=0\boldsymbol{w} \cdot \boldsymbol{x} + b = 0w⋅x+b=0
这条边界将特征空间一分为二:边界一侧的点被预测为正类,另一侧被预测为负类。
线性决策边界
以二维特征空间为例(特征 x1,x2x_1, x_2x1,x2),决策边界是一条直线:
w1x1+w2x2+b=0w_1 x_1 + w_2 x_2 + b = 0w1x1+w2x2+b=0
例如,如果训练后得到 w1=1,w2=1,b=−3w_1 = 1, w_2 = 1, b = -3w1=1,w2=1,b=−3,则决策边界为 x1+x2=3x_1 + x_2 = 3x1+x2=3。满足 x1+x2≥3x_1 + x_2 \geq 3x1+x2≥3 的区域预测为 1,否则预测为 0。
非线性决策边界
通过特征工程(如引入多项式特征),逻辑回归也可以学习非线性决策边界。例如,构造特征 x12x_1^2x12 和 x22x_2^2x22,模型可以学习圆形决策边界:
w1x12+w2x22+b=0w_1 x_1^2 + w_2 x_2^2 + b = 0w1x12+w2x22+b=0
这对应于特征空间中的一个圆。类似地,通过引入更高次的特征组合,可以得到椭圆、抛物线甚至更复杂的决策边界形状。这说明:逻辑回归的"线性"是指对参数线性,而不是对特征线性。通过特征工程,逻辑回归可以处理相当复杂的分类边界。
第 3-4 课:逻辑回归的代价函数(Cost Function for Logistic Regression)
课程概述
这一课是逻辑回归的核心内容之一。课程首先解释了为什么不能直接将线性回归的平方误差代价函数用于逻辑回归,然后推导了逻辑回归特有的对数损失代价函数。
为什么不能直接用平方误差
如果简单地将线性回归的平方误差代价函数套用到 sigmoid 输出上:
J(w,b)=12m∑i=1m(fw,b(x(i))−y(i))2J(\boldsymbol{w}, b) = \frac{1}{2m} \sum_{i=1}^{m} (f_{\boldsymbol{w},b}(\boldsymbol{x}^{(i)}) - y^{(i)})^2J(w,b)=2m1i=1∑m(fw,b(x(i))−y(i))2
由于 sigmoid 函数的非线性,这个代价函数会变成非凸函数(non-convex)。在非凸函数中,梯度下降可能陷入局部最优,无法保证收敛到全局最优解。因此,必须设计一个新的、保证凸性的代价函数。
对数损失(Log Loss)代价函数
逻辑回归使用对数损失(也称为交叉熵损失)作为代价函数。对于单个训练样本,代价定义为:
Loss(fw,b(x(i)),y(i))={−log(fw,b(x(i)))if y(i)=1−log(1−fw,b(x(i)))if y(i)=0\text{Loss}(f_{\boldsymbol{w},b}(\boldsymbol{x}^{(i)}), y^{(i)}) = \begin{cases} -\log(f_{\boldsymbol{w},b}(\boldsymbol{x}^{(i)})) & \text{if } y^{(i)} = 1 \\ -\log(1 - f_{\boldsymbol{w},b}(\boldsymbol{x}^{(i)})) & \text{if } y^{(i)} = 0 \end{cases}Loss(fw,b(x(i)),y(i))={−log(fw,b(x(i)))−log(1−fw,b(x(i)))if y(i)=1if y(i)=0
这个分段定义可以简洁地写为:
Loss(f,y)=−ylog(f)−(1−y)log(1−f)\text{Loss}(f, y) = -y \log(f) - (1-y) \log(1-f)Loss(f,y)=−ylog(f)−(1−y)log(1−f)
对数损失的直观理解
当真实标签 y=1y = 1y=1 时:
- 如果模型预测 f≈1f \approx 1f≈1(正确),则 −log(f)≈0-\log(f) \approx 0−log(f)≈0,代价很小
- 如果模型预测 f≈0f \approx 0f≈0(严重错误),则 −log(f)→+∞-\log(f) \to +\infty−log(f)→+∞,代价极大
当真实标签 y=0y = 0y=0 时:
- 如果模型预测 f≈0f \approx 0f≈0(正确),则 −log(1−f)≈0-\log(1-f) \approx 0−log(1−f)≈0,代价很小
- 如果模型预测 f≈1f \approx 1f≈1(严重错误),则 −log(1−f)→+∞-\log(1-f) \to +\infty−log(1−f)→+∞,代价极大
这种设计使得模型在做出错误预测时受到强烈惩罚,且惩罚强度与错误程度成正比。同时,对数损失函数是凸函数,保证了梯度下降能够收敛到全局最优。
第 3-5 课:逻辑回归的成本函数与梯度(Cost Function and Gradient)
课程概述
这一课将单个样本的代价扩展到全量训练集,得到完整的成本函数,并推导了梯度表达式。一个令人惊讶的发现是:逻辑回归的梯度形式与线性回归完全相同。
全量成本函数
将单个样本的对数损失对所有 mmm 个样本求平均,得到逻辑回归的成本函数:
J(w,b)=−1m∑i=1m[y(i)log(fw,b(x(i)))+(1−y(i))log(1−fw,b(x(i)))]J(\boldsymbol{w}, b) = -\frac{1}{m} \sum_{i=1}^{m} \left[ y^{(i)} \log(f_{\boldsymbol{w},b}(\boldsymbol{x}^{(i)})) + (1-y^{(i)}) \log(1 - f_{\boldsymbol{w},b}(\boldsymbol{x}^{(i)})) \right]J(w,b)=−m1i=1∑m[y(i)log(fw,b(x(i)))+(1−y(i))log(1−fw,b(x(i)))]
这个函数是凸函数,存在唯一全局最小值。
梯度推导结果
对每个参数 wjw_jwj 求偏导数,得到:
∂J∂wj=1m∑i=1m(fw,b(x(i))−y(i))xj(i)\frac{\partial J}{\partial w_j} = \frac{1}{m} \sum_{i=1}^{m} (f_{\boldsymbol{w},b}(\boldsymbol{x}^{(i)}) - y^{(i)}) x_j^{(i)}∂wj∂J=m1i=1∑m(fw,b(x(i))−y(i))xj(i)
对偏置 bbb 求偏导数:
∂J∂b=1m∑i=1m(fw,b(x(i))−y(i))\frac{\partial J}{\partial b} = \frac{1}{m} \sum_{i=1}^{m} (f_{\boldsymbol{w},b}(\boldsymbol{x}^{(i)}) - y^{(i)})∂b∂J=m1i=1∑m(fw,b(x(i))−y(i))
与线性回归的惊人相似
注意上述梯度形式与线性回归的梯度完全一致:
∂J∂wj=1m∑i=1m(fw,b(x(i))−y(i))xj(i)\frac{\partial J}{\partial w_j} = \frac{1}{m} \sum_{i=1}^{m} (f_{\boldsymbol{w},b}(\boldsymbol{x}^{(i)}) - y^{(i)}) x_j^{(i)}∂wj∂J=m1i=1∑m(fw,b(x(i))−y(i))xj(i)
两者的区别仅在于 fw,b(x)f_{\boldsymbol{w},b}(\boldsymbol{x})fw,b(x) 的定义不同:
- 线性回归:f(x)=w⋅x+bf(\boldsymbol{x}) = \boldsymbol{w} \cdot \boldsymbol{x} + bf(x)=w⋅x+b
- 逻辑回归:f(x)=g(w⋅x+b)=11+e−(w⋅x+b)f(\boldsymbol{x}) = g(\boldsymbol{w} \cdot \boldsymbol{x} + b) = \frac{1}{1 + e^{-(\boldsymbol{w} \cdot \boldsymbol{x} + b)}}f(x)=g(w⋅x+b)=1+e−(w⋅x+b)1
这意味着在代码实现中,线性回归和逻辑回归的梯度下降更新循环可以共用相同的结构,只需替换预测函数即可。
第 3-6 课:梯度下降的实现(Gradient Descent Implementation)
课程概述
这一课展示了如何用梯度下降训练逻辑回归模型,并强调了向量化实现的重要性。
梯度下降更新规则
逻辑回归的梯度下降更新规则与线性回归形式相同:
wj:=wj−α⋅∂J∂wjw_j := w_j - \alpha \cdot \frac{\partial J}{\partial w_j}wj:=wj−α⋅∂wj∂J
b:=b−α⋅∂J∂bb := b - \alpha \cdot \frac{\partial J}{\partial b}b:=b−α⋅∂b∂J
其中梯度使用上一课推导的表达式。关键要点仍然是:所有参数的梯度必须在更新前同时计算,然后统一更新。
向量化实现
利用向量化,所有 mmm 个样本的预测可以一次性计算:
z=Xw+b\boldsymbol{z} = \boldsymbol{X}\boldsymbol{w} + bz=Xw+b
f=g(z)\boldsymbol{f} = g(\boldsymbol{z})f=g(z)
其中 ggg 对向量逐元素应用 sigmoid 函数。然后误差向量 e=f−y\boldsymbol{e} = \boldsymbol{f} - \boldsymbol{y}e=f−y,参数梯度为:
∂J∂w=1mXTe\frac{\partial J}{\partial \boldsymbol{w}} = \frac{1}{m} \boldsymbol{X}^T \boldsymbol{e}∂w∂J=m1XTe
这使得整个训练过程可以用简洁高效的向量化代码实现。
特征缩放的应用
与线性回归一样,逻辑回归中的梯度下降也受益于特征缩放。当特征量纲差异大时,特征缩放能显著加速收敛。
第 3-7 课:过拟合的概念(The Problem of Overfitting)
课程概述
这一课引入了机器学习中最重要的问题之一——过拟合(Overfitting),并与欠拟合(Underfitting)进行了对比。
欠拟合(高偏差)
当模型过于简单,无法捕捉数据中的基本趋势时,发生欠拟合(Underfitting),也称为高偏差(High Bias)。例如,用线性模型拟合明显呈二次关系的数据,模型会系统性地偏离数据点,在训练集和测试集上表现都不好。
过拟合(高方差)
当模型过于复杂,不仅拟合了数据中的真实规律,还拟合了噪声和偶然波动时,发生过拟合(Overfitting),也称为高方差(High Variance)。过拟合的典型表现是:
- 在训练集上表现极好(误差很低)
- 在测试集(或新数据)上表现很差(误差很高)
- 模型泛化能力差
例如,用 10 次多项式拟合只有 10 个数据点的数据集,模型可以完美穿过每个训练点,但在新数据上的预测可能荒谬至极。
过拟合的本质原因
过拟合的根本原因是模型复杂度相对于数据量过高。当参数过多、特征过多或多项式次数过高时,模型有足够的"自由度"去拟合噪声。此外,训练数据不足或数据中存在噪声也会加剧过拟合问题。
泛化误差
机器学习的目标是使模型在未见过的数据上表现良好,而不仅仅是在训练集上表现好。模型在测试集上的误差称为泛化误差,是衡量模型真正性能的标准。过拟合的模型泛化误差远大于训练误差。
第 3-8 课:解决过拟合的方法(Addressing Overfitting)
课程概述
这一课系统性地介绍了三种解决过拟合的方法,其中正则化是课程的重点。
方法一:增加训练数据
更多的训练数据可以帮助模型区分真实规律和噪声。当数据量足够大时,模型很难"记住"所有噪声,从而被迫学习更通用的模式。然而,获取更多数据并不总是可行的。
方法二:减少特征数量
通过特征选择(Feature Selection),只保留最重要的特征,丢弃冗余或无关的特征。减少特征数量直接降低了模型复杂度。这种方法的缺点是可能丢失一些有用的信息。
方法三:正则化(Regularization)⭐
正则化是解决过拟合最常用、最有效的方法。它的核心思想是:保留所有特征,但限制参数的大小。通过惩罚大参数,使模型更"平滑"、更简单,从而提高泛化能力。
正则化不直接减少特征数量,而是让模型自动学习给每个特征分配适当的权重。不重要的特征的权重会被压到接近 0,相当于自动实现了特征选择的效果。
第 3-9 课:正则化的成本函数(Regularized Cost Function)
课程概述
这一课详细介绍了正则化成本函数的数学形式,包括 L2 正则化的定义和直观理解。
正则化项的引入
正则化通过在原始成本函数上添加一个惩罚项来实现。对于线性回归,正则化后的成本函数为:
J(w,b)=12m∑i=1m(fw,b(x(i))−y(i))2+λ2m∑j=1nwj2J(\boldsymbol{w}, b) = \frac{1}{2m} \sum_{i=1}^{m} (f_{\boldsymbol{w},b}(\boldsymbol{x}^{(i)}) - y^{(i)})^2 + \frac{\lambda}{2m} \sum_{j=1}^{n} w_j^2J(w,b)=2m1i=1∑m(fw,b(x(i))−y(i))2+2mλj=1∑nwj2
对于逻辑回归,正则化后的成本函数为:
J(w,b)=−1m∑i=1m[y(i)log(fw,b(x(i)))+(1−y(i))log(1−fw,b(x(i)))]+λ2m∑j=1nwj2J(\boldsymbol{w}, b) = -\frac{1}{m} \sum_{i=1}^{m} \left[ y^{(i)} \log(f_{\boldsymbol{w},b}(\boldsymbol{x}^{(i)})) + (1-y^{(i)}) \log(1 - f_{\boldsymbol{w},b}(\boldsymbol{x}^{(i)})) \right] + \frac{\lambda}{2m} \sum_{j=1}^{n} w_j^2J(w,b)=−m1i=1∑m[y(i)log(fw,b(x(i)))+(1−y(i))log(1−fw,b(x(i)))]+2mλj=1∑nwj2
其中 λ2m∑j=1nwj2\frac{\lambda}{2m} \sum_{j=1}^{n} w_j^22mλ∑j=1nwj2 是L2 正则化项(Ridge 正则化)。
正则化参数 λ\lambdaλ 的作用
λ\lambdaλ(lambda)是正则化强度参数,控制惩罚项的权重:
- λ=0\lambda = 0λ=0:无正则化,模型可能过拟合
- λ\lambdaλ 过小:正则化效果不明显,仍可能过拟合
- λ\lambdaλ 适中:有效平衡拟合能力和模型复杂度
- λ\lambdaλ 过大:所有参数被过度压缩到接近 0,模型退化为接近常数预测,导致欠拟合
选择合适的 λ\lambdaλ 通常通过交叉验证来实现。
为什么不正则化偏置 bbb
正则化项中只包含 wjw_jwj(j=1,…,nj = 1, \dots, nj=1,…,n),不包含偏置 bbb。这是因为:
- bbb 只影响预测函数的上下平移,不影响模型的"复杂度"或"平滑度"
- 正则化 bbb 对防止过拟合没有实质帮助
- 实践中,即使正则化 bbb 也通常不会有显著负面影响,但惯例是不正则化 bbb
L2 正则化的直观理解
L2 正则化惩罚参数的大小的平方。这意味着:
- 模型倾向于将权重分散到多个特征上,而不是让少数特征拥有极大权重
- 模型变得更"保守",对每个特征的依赖更均衡
- 决策边界变得更平滑,减少了对训练数据中噪声的过度响应
第 3-10 课:正则化线性回归与逻辑回归的实现(Regularized Linear and Logistic Regression)
课程概述
这一课将正则化应用到线性回归和逻辑回归的梯度下降实现中,推导了正则化后的梯度更新规则,并展示了正则化如何有效防止过拟合。
正则化后的梯度
对于线性回归和逻辑回归,正则化后的参数梯度为:
∂J∂wj=1m∑i=1m(fw,b(x(i))−y(i))xj(i)+λmwj\frac{\partial J}{\partial w_j} = \frac{1}{m} \sum_{i=1}^{m} (f_{\boldsymbol{w},b}(\boldsymbol{x}^{(i)}) - y^{(i)}) x_j^{(i)} + \frac{\lambda}{m} w_j∂wj∂J=m1i=1∑m(fw,b(x(i))−y(i))xj(i)+mλwj
偏置 bbb 的梯度不变(因为不对 bbb 正则化):
∂J∂b=1m∑i=1m(fw,b(x(i))−y(i))\frac{\partial J}{\partial b} = \frac{1}{m} \sum_{i=1}^{m} (f_{\boldsymbol{w},b}(\boldsymbol{x}^{(i)}) - y^{(i)})∂b∂J=m1i=1∑m(fw,b(x(i))−y(i))
正则化梯度下降更新规则
参数更新规则变为:
wj:=wj−α[1m∑i=1m(fw,b(x(i))−y(i))xj(i)+λmwj]w_j := w_j - \alpha \left[ \frac{1}{m} \sum_{i=1}^{m} (f_{\boldsymbol{w},b}(\boldsymbol{x}^{(i)}) - y^{(i)}) x_j^{(i)} + \frac{\lambda}{m} w_j \right]wj:=wj−α[m1i=1∑m(fw,b(x(i))−y(i))xj(i)+mλwj]
可以重新整理为:
wj:=wj(1−αλm)−α⋅1m∑i=1m(fw,b(x(i))−y(i))xj(i)w_j := w_j \left(1 - \alpha \frac{\lambda}{m}\right) - \alpha \cdot \frac{1}{m} \sum_{i=1}^{m} (f_{\boldsymbol{w},b}(\boldsymbol{x}^{(i)}) - y^{(i)}) x_j^{(i)}wj:=wj(1−αmλ)−α⋅m1i=1∑m(fw,b(x(i))−y(i))xj(i)
权重衰减(Weight Decay)
从整理后的形式可以看出,每次更新时,wjw_jwj 首先被乘以一个略小于 1 的因子 (1−αλm)(1 - \alpha \frac{\lambda}{m})(1−αmλ)。这意味着在每次迭代中,参数都会向 0 方向"衰减"一部分,因此正则化也被称为权重衰减(Weight Decay)。这种衰减与梯度下降的方向无关,是一种持续的"收缩"力,防止参数变得过大。
正则化线性回归的正规方程(选讲)
对于线性回归,如果使用正规方程(Normal Equation)而非梯度下降求解,正则化后的解析解为:
w=(XTX+λI′)−1XTy\boldsymbol{w} = (\boldsymbol{X}^T \boldsymbol{X} + \lambda \boldsymbol{I}')^{-1} \boldsymbol{X}^T \boldsymbol{y}w=(XTX+λI′)−1XTy
其中 I′\boldsymbol{I}'I′ 是一个对角矩阵,对角线元素为 1(对应 www 的参数),最后一个对角线元素为 0(对应 bbb)。加入 λI′\lambda \boldsymbol{I}'λI′ 后,即使 XTX\boldsymbol{X}^T \boldsymbol{X}XTX 不可逆,矩阵求逆也能正常进行,这解决了特征相关或特征数大于样本数时的数值问题。
正则化防止过拟合的效果
通过引入正则化,模型在训练集上的误差可能略有增加(因为模型不再能完美拟合所有训练点),但测试集上的误差通常会显著下降。这种"训练集上稍差,测试集上更好"的权衡正是正则化的价值所在——它用可控的训练误差增长换取了更大的泛化能力提升。
第 32-41 课 知识体系总结
课程内容定位
这 10 个课时完成了从回归问题到分类问题的过渡,是监督学习基础理论的核心组成部分。课程不仅介绍了逻辑回归的数学原理,还引入了机器学习中最重要的问题之一——过拟合,以及最通用的解决方案——正则化。
核心概念汇总
逻辑回归与正则化的核心问题可以概括为:如何构建一个能够估计类别概率的分类模型,并防止模型对训练数据过度拟合?围绕这个问题,课程形成了以下关键技术体系。
分类问题与线性回归的局限性:二分类问题的目标变量是离散的 0/1 标签。线性回归的输出无界,且对异常值敏感,不适合直接用于分类。
Sigmoid 函数:g(z)=11+e−zg(z) = \frac{1}{1 + e^{-z}}g(z)=1+e−z1,将任意实数映射到 (0,1)(0, 1)(0,1) 区间,输出可解释为属于正类的概率。
逻辑回归预测函数:fw,b(x)=g(w⋅x+b)f_{\boldsymbol{w},b}(\boldsymbol{x}) = g(\boldsymbol{w} \cdot \boldsymbol{x} + b)fw,b(x)=g(w⋅x+b)。当 f≥0.5f \geq 0.5f≥0.5 时预测为 1,否则预测为 0。
决策边界:满足 w⋅x+b=0\boldsymbol{w} \cdot \boldsymbol{x} + b = 0w⋅x+b=0 的点集。可以是线性的,也可以通过特征工程得到非线性边界。
对数损失代价函数:Loss(f,y)=−ylog(f)−(1−y)log(1−f)\text{Loss}(f, y) = -y \log(f) - (1-y) \log(1-f)Loss(f,y)=−ylog(f)−(1−y)log(1−f)。保证凸性,使梯度下降能收敛到全局最优。
逻辑回归的梯度:∂J∂wj=1m∑i=1m(fw,b(x(i))−y(i))xj(i)\frac{\partial J}{\partial w_j} = \frac{1}{m} \sum_{i=1}^{m} (f_{\boldsymbol{w},b}(\boldsymbol{x}^{(i)}) - y^{(i)}) x_j^{(i)}∂wj∂J=m1∑i=1m(fw,b(x(i))−y(i))xj(i)。形式与线性回归完全相同,只是 fff 的定义不同。
过拟合:模型在训练集上表现好,但在测试集上表现差。本质是模型复杂度相对于数据量过高,拟合了噪声而非真实规律。
欠拟合:模型过于简单,无法捕捉数据基本趋势。在训练集和测试集上表现都不好。
解决过拟合的三种方法:增加数据、减少特征、正则化。
L2 正则化:在成本函数中添加 λ2m∑j=1nwj2\frac{\lambda}{2m} \sum_{j=1}^{n} w_j^22mλ∑j=1nwj2。惩罚大参数,使模型更平滑。λ\lambdaλ 控制正则化强度,过大导致欠拟合,过小无法防止过拟合。
正则化后的梯度下降:wj:=wj−α[∂Joriginal∂wj+λmwj]w_j := w_j - \alpha \left[ \frac{\partial J_{\text{original}}}{\partial w_j} + \frac{\lambda}{m} w_j \right]wj:=wj−α[∂wj∂Joriginal+mλwj]。每次迭代参数向 0 衰减,因此也称为权重衰减。
知识结构图
逻辑回归与正则化(Logistic Regression & Regularization)
│
├── 分类问题动机
│ ├── 线性回归不适合分类(输出无界、对异常值敏感)
│ └── 逻辑回归:预测概率 P(y=1|x)
│
├── Sigmoid 函数
│ ├── 定义:g(z) = 1 / (1 + e^(-z))
│ ├── 输出范围:(0, 1)
│ ├── g(0) = 0.5
│ └── 单调递增 S 形曲线
│
├── 逻辑回归模型
│ ├── 预测函数:f(x) = g(w·x + b)
│ ├── 决策规则:f ≥ 0.5 → ŷ = 1,否则 ŷ = 0
│ └── 决策边界:w·x + b = 0(可线性或非线性)
│
├── 代价函数(对数损失)
│ ├── 不能用平方误差(非凸)
│ ├── 单样本:Loss = -y·log(f) - (1-y)·log(1-f)
│ └── 全量:J = -(1/m) Σ[y·log(f) + (1-y)·log(1-f)]
│
├── 梯度下降
│ ├── 梯度形式与线性回归相同
│ ├── ∂J/∂w_j = (1/m) Σ(f(x⁽ⁱ⁾) - y⁽ⁱ⁾) x_j⁽ⁱ⁾
│ └── 向量化实现
│
├── 过拟合问题
│ ├── 欠拟合(高偏差):模型过于简单
│ ├── 过拟合(高方差):训练好,测试差
│ └── 泛化误差:衡量真实性能的标准
│
├── 解决过拟合
│ ├── 增加训练数据
│ ├── 减少特征数量
│ └── 正则化(最常用)
│
└── L2 正则化
├── 正则化项:(λ/2m) Σ w_j²
├── λ:正则化强度参数
├── 不对偏置 b 正则化
├── 正则化梯度:∂J/∂w_j = 原梯度 + (λ/m) w_j
└── 权重衰减:每次迭代参数向 0 收缩
与后续课程的衔接
Week 3 建立的对数损失、梯度下降和正则化框架是后续所有监督学习算法的基础。从 Week 4 开始,课程将引入神经网络——一种能够自动学习特征的更强大模型。神经网络中的输出层使用 sigmoid(或 softmax)激活函数,其损失函数和正则化概念与逻辑回归完全一致。Week 3 中掌握的向量化、梯度下降和正则化技能将在神经网络中发挥更大的价值。
1241

被折叠的 条评论
为什么被折叠?



