这门课很难很麻烦,我们班的老师讲得还非常快,数学英语不好的来上课真是享福了,整个 ppt 全是公式,概念,穿插着那一点可怜的例子。assignment 更是和课上讲的没啥关系,上来第一题就是复习给矩阵求导,关键我也没学矩阵求导啊。 哦对了这门课还有代码题目,不过老师是不讲的,会在作业后面甩两个链接,让你学习相关的知识后自己写出来(),这一讲 ppt 我花了三天才看完,下节课的 ppt 也会尽快学习完端上来。让我们开始吧。
Lecture 1‑1 机器学习四大基本要素
机器学习定义
机器学习本质是构造映射函数的过程:通过算法,机器从大量数据当中学习内在规则,对全新未知样本做出预测、决策。
- 前提假设:训练与测试样本来自同一个独立同分布
- 输入:特征;输出:预测结果;学到的规则即预测函数。
机器学习四大核心组成:数据、模型、学习准则、优化算法
- 数据(Data)
- 训练集:用来让模型学习参数
- 测试集:评估模型在陌生样本上真实表现
- 模型(Model) 我们假设的映射函数,分为线性模型、非线性模型。
- 学习准则 Learning Rule 评判模型好坏的标准,依靠损失函数,衡量模型预测结果与真实标签之间的差距。
- 优化算法 Optimization Algorithm 求解最优模型参数,把机器学习任务转化为数学优化问题。
其中的关系大概可以用这张图表示

但是机器学习 ≠ 单纯优化
过拟合(Overfitting) 经验风险最小化容易造成:训练集误差很低,但是测试 / 未知数据上误差很高;一般由训练样本少、数据噪声大引发。 欠拟合 Underfitting 模型能力不足,在训练数据集上本身就达不到理想效果。
泛化误差(Generalization Error)
- 经验风险 Empirical Risk:模型在训练集上的平均损失,我们能直接计算。
- 期望风险 Expected Risk:模型在真实总体数据分布上的平均损失,也就是泛化误差,这才是我们真正想要最小化的目标。 现实只能拿到有限采样样本,无法直接计算期望风险。
降低泛化误差两条思路:
- 做优化:最小化经验风险;
- 正则化(Regularization):约束、降低模型复杂度。
常见正则化手段:
- L1、L2 权重惩罚(权重衰减 Weight Decay)
- 数据增强(Data augmentation)
- SGD 随机梯度下降
- 早停 Early Stop:监控验证集,当验证集错误率不再下降就终止迭代,防止继续训练带来过拟合。
Lecture 1-2 优化算法:梯度下降与随机梯度下降
梯度下降 GD(Gradient Descent)
沿着损失函数负梯度方向迭代更新参数。
这个公式看起来很难,实际上一点也不简单
| 符号 | 含义 |
|---|---|
| 第 t 轮迭代的模型参数(可以是向量,包含全部权重、偏置) | |
| 更新之后,第 轮的新参数 | |
| 学习率(learning rate,超参数),控制每一步更新走多大步子; | |
| 数据集 D 上的经验风险(整体损失函数,所有样本损失的平均值 / 总和) | |
| 损失函数对参数 的梯度。梯度指向损失函数上升最快的方向。 |
代表学习率 learning rate,属于超参数,超参数是机器学习中在训练开始前由人工设定的参数。
- 学习率过大:参数震荡,损失发散,无法收敛;
- 学习率过小:收敛速度极慢,耗费大量迭代步数;
- 需要调试选取合适学习率,快速抵达损失极小值点。
随机梯度下降(Stochastic Gradient Descent)
标准梯度下降使用全部样本计算梯度;SGD 每次随机抽取单个样本估计梯度,完成一次参数更新。
算法流程:
- 随机初始化模型参数
- 循环迭代:
- 将训练集样本随机打乱顺序
- 逐个取出样本,用该单个样本的损失梯度更新参数
- 终止条件:模型在验证集上错误率不再下降,输出最终参数
优点是计算开销小;梯度噪声有助于跳出局部极小点
但缺点是参数更新方向存在波动
GD 用全部样本算梯度;SGD 只用一个样本算梯度。学习率是超参数,不是模型自己学习出来的参数。
Lecture 1‑3 线性回归(Linear Regression)
模型形式
把偏置 b 拼接到特征向量,把偏置权重并入权重向量,写成增广向量形式。预测公式:。
经验风险最小化(ERM)
选用平方损失,经验风险:
可以矩阵求导求解析解,也可以用梯度下降迭代求解。
结构风险最小化(SRM)
在经验风险基础上增加正则惩罚项,抑制模型复杂度,对抗过拟合:
控制正则强度; 越大,对大权重参数惩罚越强。
多项式曲线拟合(Polynomial Curve Fitting)
使用多项式对样本点做拟合;多项式阶数 M 代表模型复杂度。
- M 太小:模型表达能力弱,发生欠拟合;
- M 太大:高次多项式,参数数值爆炸,可以完美记住全部训练样本,发生严重过拟合。
缓解过拟合两种方案:
- 增加正则项,惩罚大权重;
- 扩充训练样本数量;样本充足,复杂模型不容易过拟合。
对数线性回归(Log‑linear regression)
对输出做对数变换 ,把指数形式 转化为普通线性回归求解。
Lecture 1-4 概率基础
- 随机变量 分为离散随机变量、连续随机变量。 PDF 概率密度函数;CDF 累积分布函数。
- 随机向量、边缘分布、条件概率 条件概率公式:
- 采样 Sampling:从真实分布 获取样本。
- 伪随机数生成:线性同余发生器
- 逆变换采样 Inverse Transform Sampling:借助 CDF,从均匀分布采样转换得到目标分布样本
- 期望 Expectation、大数定律:样本均值依概率收敛于随机变量数学期望。
Lecture 1-5 朴素贝叶斯分类(Naive Bayes Classification)
贝叶斯公式
- Prior 先验 :事先统计得到的类别概率
- Likelihood 似然
- Posterior 后验
- Marginal 边缘概率
朴素贝叶斯核心假设
类条件独立假设:给定类别标签的前提下,各个特征互相独立。
“朴素 naive” 名字是因为现实数据集特征经常互相相关,该假设不一定成立。
预测采用最大后验估计 MAP,选择后验概率最大的类别作为预测结果。
优缺点
优点:代码实现简单,计算高效;小数据集也能取得不错效果 缺点:依赖强条件独立假设;特征高度相关时分类精度下降
朴素贝叶斯用于文本分类
- 词袋模型(Bag‑of‑Words):忽略词语语序,只统计每个单词出现频次,把文本转换成特征向量。
- 完整流程:原始文本转为词袋特征向量;结合标签训练朴素贝叶斯;新文本转为特征向量,计算各类后验概率,输出预测类别。
Lecture 1-6 分类器的评价(Evaluation of Classifiers)
数据集划分
- 训练集:用来学习模型参数
- 验证集:调超参数、做早停;不能拿来训练模型
- 测试集:用来得到模型最终泛化性能;训练、调参阶段绝对不能使用测试集
交叉验证(Cross‑validation)
- K 折交叉验证,例如 10 折交叉验证:全部数据集切分为 K 份,轮流拿其中 1 份当测试集,剩余 K‑1 份做训练,最后取 K 次结果的平均值。
- 留一法 Leave‑one‑out:K 折的特殊形式;数据集一共有 m 条样本,做 m 折交叉验证,每次仅留下 1 个样本作为测试,适合数据集规模很小的场景。
- Hold‑out 留出法:最简单数据集划分方式,一次性把原始数据集随机切分为训练集、验证集、测试集三部分;训练集训练模型,验证集调超参数,测试集用来评估最终泛化性能。只做一次划分,实现简单;缺点是评估结果受随机划分影响,小数据集上结果波动大。
交叉验证有代码作业,我将文档链接放在下面,请自行参考学习:
分类评价指标
注意:准确率 Accuracy 在类别不平衡数据集会产生误导。例如欺诈检测,绝大多数样本是正常样本,无脑预测全部为正确也可以得到很高准确率。
混淆矩阵
混淆矩阵是一种用于评估分类模型性能的表格,通过对比模型预测结果与真实标签,直观展示模型在各类别上的正确与错误预测情况。如下表格
| 预测正例 | 预测负例 | |
|---|---|---|
| 真实正例 | TP 真正例 | FN 假负例 |
| 真实负例 | FP 假正例 | TN 真负例 |
- 精确率 Precision (P):,所有被模型判定为正的样本中,真正是正样本的比例;
- 召回率 Recall (R):,全部真实正样本里面,被模型找出来的比例;
- F1‑score:精确率与召回率调和平均 ,综合两个指标;只有 P、R 同时较高,F1 才会高。
如果要业务上做一定的取舍,则参考:
- 看重精确率:商品内容推荐,尽量少推送无关内容,调高分类阈值;
- 看重召回率:嫌疑人检索,尽可能找出全部目标样本,调低分类阈值。
P‑R 曲线、ROC 曲线
- P‑R 曲线:不断调整分类阈值,得到一组 (P,R) 绘制曲线;平衡点 BEP 代表 P=R;曲线越靠近左上角,分类器性能越好。
- ROC 曲线:纵轴 TPR 真正例率 ,横轴 FPR 假正例率 ,改变阈值画出整条曲线。
- TPR 等价召回率;FPR 代表负样本当中被错判成正例的比例。
- AUC:ROC 曲线下面积;AUC 越接近 1 代表分类器效果越好。


测试误差可以分为三项:
| 分量 | 含义 |
|---|---|
| 偏差 Bias | 模型本身的近似误差;模型太简单,对真实关系拟合不到位 → 欠拟合,高偏差 |
| 方差 Variance | 模型在不同训练集上参数的波动;模型过于复杂,对训练集噪声过度敏感 → 过拟合,高方差 |
| 不可约误差 Irreducible Error | 数据本身自带噪声,无论用什么模型都消不掉 |
- 简单模型:高偏差、低方差 → 欠拟合
- 复杂模型:低偏差、高方差 → 过拟合
- 机器学习做模型选择,本质寻找偏差、方差的平衡点。
正则化的作用:通过增大一点点偏差,显著降低方差,降低整体泛化误差。
Lecture1-8 生成式模型 vs 判别式模型
- 朴素贝叶斯:生成式模型 Generative Model。学习联合概率 ,建模数据是怎么生成出来的。
- 后面课程的逻辑回归:判别式模型 Discriminative Model。直接学习条件概率 ,不去管数据生成过程。
生成模型优点:小样本表现尚可,可以处理缺失特征; 缺点:对假设(类条件独立)依赖性强;假设错了效果下降明显。
喜欢的话,留下你的评论吧~