一、 线性回归 (Linear Regression) —— 基础中的基础
1. 核心公式(必背)
- 模型定义: 向量形式为 (通常将 吸收进 ,即 增加一维常数1),。
- 优化目标(损失函数): 通常使用均方误差 (MSE, Mean Squared Error)。目标是最小化 : 向量形式:,。
2. 求解方法(计算题考点)
- 最小二乘法 (Least Squares) - 闭式解: 令损失函数对 的导数为 0,解得: 考点提示:
- 这个解存在的条件是 是满秩(可逆)的。
- 如果特征数 大于样本数 (),或者特征之间存在多重共线性, 往往不可逆,此时需要使用正则化。
- 梯度下降法 (Gradient Descent): 当无法直接求逆或计算量太大时使用。 迭代公式:。
3. 正则化 (Regularization) —— 难点与重点
这是防止过拟合的核心手段,也是概念辨析题常客。
| 特性 | 岭回归 (Ridge / L2) | Lasso 回归 (L1) |
|---|---|---|
| 公式 | w | |
| 几何意义 | 下降等高线与圆形约束区域相切 | 下降等高线与菱形约束区域相切 |
| 核心作用 | 限制参数大小,防止过拟合,但参数不会变为0 | 易获得稀疏解(即让某些参数直接为0),可用于特征选择 |
| 闭式解 | 无直接闭式解,需用近端梯度下降等方法 |
考试金句:L1正则化更容易产生稀疏解(Feature Selection),L2正则化主要用于防止模型参数过大(Weight Decay)。
简单来说,岭回归就是带 正则化的线性回归。它的核心目标是通过牺牲一点点偏差,来大幅度降低模型的方差,从而解决过拟合问题。
1. 为什么要用岭回归?
在标准的线性回归(最小二乘法)中,如果特征之间存在高度相关性(多重共线性),或者特征数量很多,模型为了拟合每一个训练数据点,权重系数 可能会变得非常大。
- 问题: 权重越大,模型对输入数据的微小扰动就越敏感。
- 后果: 导致模型方差(Variance)极大,在训练集上表现完美,但在测试集上表现糟糕(过拟合)。 岭回归通过在损失函数中添加一个“惩罚项”,强制让权重 保持在较小的数值范围内。
2. 数学定义
岭回归的损失函数由两部分组成:均方误差(MSE) 和 惩罚项。
- 第一部分: 传统的平方误差,希望模型预测得准。
- 第二部分(): 正则化项。(Lambda)是一个超参数,用来控制惩罚的力度。
- 当 时:岭回归退化为普通的线性回归。
- 当 非常大时:为了让总损失最小,模型会倾向于让所有的 都接近于 0,导致模型变简单(偏差变大,方差变小)。
3. 几何直观理解
我们可以把正则化看作是对参数空间的限制。 在图中,左侧圆形的区域代表了岭回归对权重 的约束范围。
- 线性回归的目标是找到椭圆的中心(误差最小点)。
- 岭回归则要求解必须落在圆圈内或圆圈边缘。
- 最终的解是圆圈与椭圆相切的地方。由于圆形没有“尖角”,岭回归倾向于把 缩小到接近 0,但很难让它精确等于 0。
4. 岭回归的主要特点
| 特点 | 说明 |
|---|---|
| 权重收缩 (Shrinkage) | 它会将模型的参数推向 0,但不会像 Lasso 那样直接变为 0。 |
| 处理多重共线性 | 当特征高度相关时,普通回归的解会变得极不稳定,岭回归能有效稳定参数。 |
| 降低方差 | 它是解决过拟合的利器,特别是在特征维度 接近或大于样本量 时。 |
| 不具备特征选择功能 | 因为参数不会变为 0,所以所有特征都会保留在模型中。 |
二、 对数几率回归 (Logistic Regression, LR) —— 分类任务的核心
注意:虽然叫“回归”,但它是分类算法!用于解决二分类问题(0或1)。
1. 模型推导
- Sigmoid 函数(激活函数): 将线性输出 压缩到 区间,表示概率。
- 物理意义(对数几率): 模型实际上是在拟合“对数几率”(Log-odds): 其中 称为几率(odds),即正例概率与反例概率的比值。
2. 损失函数:为什么不用 MSE?(高频简答题)
- 最大似然估计 (MLE):LR 的目标是最大化样本属于其真实标记的概率。
- 交叉熵损失 (Cross-Entropy Loss):推导出的损失函数为:
- 不用 MSE 的原因:如果用 MSE(平方误差),在 Sigmoid 函数作用下,损失函数关于 非凸(Non-convex),包含多个局部极小值,难以用梯度下降求解。而交叉熵损失是凸函数,保证能找到全局最优解。
三、 线性判别分析 (LDA) —— 既分类又降维
核心思想(Fisher准则):“类内尽可能紧凑,类间尽可能远离”。
1. 两个关键矩阵(需记忆定义)
- 类内散度矩阵 ():衡量每一类内部样本的离散程度(越小越好)。
- 类间散度矩阵 ():衡量不同类别中心点之间的距离(越大越好)。
2. 优化目标
最大化广义瑞利商:
3. 最终解(计算结论)
不需要做复杂的特征值分解,对于二分类,投影方向 直接正比于: 即:最优投影方向 = 类内散度矩阵的逆 两类均值之差,。
四、 多分类与类别不平衡 (Extensions)
-
多分类策略:
- OvO (一对一):训练 个分类器,投票决定。
- OvR (一对其余):训练 个分类器,取置信度最高的。
- MvM (多对多):如纠错输出码 (ECOC)。
-
类别不平衡 (Class Imbalance): 当正负样本比例严重失调(如 1:99)时,标准学习器往往会失效(倾向于预测大类)。
- 欠采样 (Undersampling):扔掉一些大类样本(EasyEnsemble)。
- 过采样 (Oversampling):增加小类样本(SMOTE算法,不是简单复制,而是插值生成新样本)。
- 阈值移动 (Threshold Moving):调整分类阈值,不再以 0.5 为界。
考试通关 CheckList:
- 计算:给几个数据点,能列出 和 ,写出线性回归的 计算公式。
- 推导:能简单说明 LR 为什么要用交叉熵而不是 MSE。
- 画图:能画出 L1(菱形)和 L2(圆形)正则化的约束示意图,并解释为何 L1 产生稀疏解。
- LDA:记住口诀“类内小、类间大”,并记住 的最终公式。
这一讲的内容非常硬核,特别是公式部分。如果您对某个具体的推导(比如 LR 的梯度或 LDA 的瑞利商)感到困惑,我们可以单独展开讲。如果没有问题,我们随时可以进入“第4讲:贝叶斯分类器”。
思考题
1.
证明 这是一个在线性回归(尤其是推导正规方程时)非常基础且重要的**矩阵微积分(Matrix Calculus)**恒等式。
为了证明这个等式,我们通常采用分量分析法(Element-wise analysis)。这种方法最直观,能让你看清矩阵运算背后的本质。
1. 定义符号与维度
首先,为了使运算有意义,我们假设:
-
是一个 的列向量:。
-
是一个 的矩阵。
-
那么 是一个 的行向量。
设 ,则 是一个包含 个元素的行向量,记为 。
2. 展开分量
我们来看向量 中的第 个元素 是如何计算的。根据矩阵乘法定义:
这里 表示矩阵 中第 行、第 列的元素。
3. 求偏导
根据矩阵对向量求导的定义(通常在机器学习中使用的是分母布局,即求导结果的行数与自变量 的维数一致):
结果矩阵中的第 行、第 列的元素,等于 的第 个分量对 的第 个分量求导:
我们将第 2 步得到的求和式带入:
在这个求和式中,只有当 时, 对 的导数才为 ;当 时,导数均为 。因此:
4. 结论
既然结果矩阵中每一个位置 的元素都恰好等于矩阵 中对应位置的元素 ,那么:
证明完毕。
💡 学习小贴士
在学习线性回归时,你可能很快就会遇到更复杂的求导,比如对平方损失函数 求导。
掌握了上面这个简单的例子,你可以试着记住以下两个常用的“大招”:
-
(这是上面公式在 时的特例)
-
(如果是对称阵,结果就是 )
2. 既然岭回归有闭式解,为什么还要用梯度下降法求参数?
这是一个非常棒的问题。在线性代数层面,闭式解(Normal Equation)看起来非常完美:一步到位,没有调参烦恼,直接给到最优值。 但在实际的工程实践和机器学习中,梯度下降法(Gradient Descent) 往往比闭式解更受欢迎,原因主要集中在以下四个维度:
1. 计算复杂度:当特征数量 爆炸时
闭式解公式如下:
- 闭式解的瓶颈: 最核心的一步是矩阵求逆。对于一个有 个特征的矩阵, 的维度是 。求逆运算的时间复杂度大约是 。
- 如果 ,计算机算起来很快。
- 如果 (这在推荐系统或图像处理中很常见), 达到了 量级,现代计算机的单机算力根本无法在合理时间内完成。
- 梯度下降的优势: 梯度下降每一轮迭代的复杂度仅为 ( 是样本数)。只要迭代次数 不太大,它的总开销远小于 。
2. 内存限制:存不下整个矩阵
- 闭式解: 计算 需要一次性将数据加载到内存中。如果数据集非常巨大(TB级别),普通服务器的内存(RAM)会直接崩溃。
- 梯度下降(特别是 SGD): 随机梯度下降(SGD)或小批量梯度下降(Mini-batch GD)一次只需要读取一小部分数据。这意味着你可以处理远超内存容量的“大数据”。
3. 算法的通用性与扩展性
- 闭式解: 它是“量身定做”的。线性回归和岭回归有闭式解,是因为它们的损失函数是二次的(凸函数且导数是一阶线性的)。但如果你稍微改一下损失函数(比如变成 正则化的 Lasso 回归,或者逻辑回归),闭式解就消失了。
- 梯度下降: 它是“万能钥匙”。学会了梯度下降处理岭回归,你就学会了处理深度学习中的神经元更新。在 Andrew Ng 的深度学习课程中,你会发现一切皆可梯度下降。
4. 在线学习(Online Learning)
- 闭式解: 如果此时又有 1000 条新数据进来了,你必须把旧数据和新数据合在一起,重新进行昂贵的矩阵求逆。
- 梯度下降: 模型不需要重新训练。你只需要用这 1000 条新数据对现有的参数 再进行几次梯度更新即可。这种“增量更新”的能力在实时推荐系统中至关重要。
总结对比
| 特性 | 闭式解 (Normal Equation) | 梯度下降 (Gradient Descent) |
|---|---|---|
| 计算速度 | 小规模数据极快 | 大规模数据()更优 |
| 超参数 | 无需设置学习率 | 需要细心调校 和迭代次数 |
| 内存占用 | 高(需存储 ) | 低(可按批次加载数据) |
| 适用范围 | 仅限线性回归等极少数模型 | 几乎适用于所有机器学习模型 |
直观理解:
闭式解就像是**“瞬移”,虽然快,但对身体(计算资源)要求极高,且只能去特定的目的地。
梯度下降就像是“走路”**,虽然慢点,但只要方向对,你可以走到任何你想去的地方(各种复杂的模型),而且对身体要求很低。 **