【学习笔记】机器学习

发布于 2026-10-25 17:49 3178 字 16 min read 手写 每个字都是我自己敲的。

机器学习(Machine Learning)是一门让计算机通过数据自动学习规律并进行预测或决策的技术,是人工智能的重要分支,主要包括监督学习、无监督学习和强化学习三大类。

这门课很难很麻烦,我们班的老师讲得还非常快,数学英语不好的来上课真是享福了,整个 ppt 全是公式,概念,穿插着那一点可怜的例子。assignment 更是和课上讲的没啥关系,上来第一题就是复习给矩阵求导,关键我也没学矩阵求导啊。 哦对了这门课还有代码题目,不过老师是不讲的,会在作业后面甩两个链接,让你学习相关的知识后自己写出来(),这一讲 ppt 我花了三天才看完,下节课的 ppt 也会尽快学习完端上来。让我们开始吧。

Lecture 1‑1 机器学习四大基本要素

机器学习定义

机器学习本质是构造映射函数的过程:通过算法,机器从大量数据当中学习内在规则,对全新未知样本做出预测、决策。

  • 前提假设:训练与测试样本来自同一个独立同分布 p(x,y)p(x,y)
  • 输入:特征;输出:预测结果;学到的规则即预测函数。

机器学习四大核心组成:数据、模型、学习准则、优化算法

  1. 数据(Data)
    • 训练集:用来让模型学习参数
    • 测试集:评估模型在陌生样本上真实表现
  2. 模型(Model) 我们假设的映射函数,分为线性模型、非线性模型。
  3. 学习准则 Learning Rule 评判模型好坏的标准,依靠损失函数,衡量模型预测结果与真实标签之间的差距。
  4. 优化算法 Optimization Algorithm 求解最优模型参数,把机器学习任务转化为数学优化问题。

其中的关系大概可以用这张图表示

Definition of ML
Definition of ML

但是机器学习 ≠ 单纯优化

过拟合(Overfitting) 经验风险最小化容易造成:训练集误差很低,但是测试 / 未知数据上误差很高;一般由训练样本少、数据噪声大引发。 欠拟合 Underfitting 模型能力不足,在训练数据集上本身就达不到理想效果。

泛化误差(Generalization Error)

  • 经验风险 Empirical Risk:模型在训练集上的平均损失,我们能直接计算。
  • 期望风险 Expected Risk:模型在真实总体数据分布上的平均损失,也就是泛化误差,这才是我们真正想要最小化的目标。 现实只能拿到有限采样样本,无法直接计算期望风险。

降低泛化误差两条思路:

  1. 做优化:最小化经验风险;
  2. 正则化(Regularization):约束、降低模型复杂度。

常见正则化手段:

  • L1、L2 权重惩罚(权重衰减 Weight Decay)
  • 数据增强(Data augmentation)
  • SGD 随机梯度下降
  • 早停 Early Stop:监控验证集,当验证集错误率不再下降就终止迭代,防止继续训练带来过拟合。

Lecture 1-2 优化算法:梯度下降与随机梯度下降

梯度下降 GD(Gradient Descent)

沿着损失函数负梯度方向迭代更新参数。

θt+1=θt−α∂RD(θ)∂θ\theta_{t+1}= \theta_t-\alpha\frac{\partial \mathcal{R}_D(\theta)}{\partial\theta}

这个公式看起来很难,实际上一点也不简单

符号含义
θt\boldsymbol \theta_t第 t 轮迭代的模型参数(可以是向量,包含全部权重、偏置)
θt+1\boldsymbol \theta_{t+1}更新之后,第 t+1t+1 轮的新参数
α\alpha学习率(learning rate,超参数),控制每一步更新走多大步子;α>0\alpha>0
RD(θ)\mathcal R_D(\theta)数据集 D 上的经验风险(整体损失函数,所有样本损失的平均值 / 总和)
∂RD(θ)∂θ\dfrac{\partial \mathcal{R}_D(\boldsymbol{\theta})}{\partial\boldsymbol{\theta}}损失函数对参数 θ\boldsymbol\theta 的梯度。梯度指向损失函数上升最快的方向。

α\boldsymbol \alpha 代表学习率 learning rate,属于超参数,超参数是机器学习中在训练开始前由人工设定的参数。

  • 学习率过大:参数震荡,损失发散,无法收敛;
  • 学习率过小:收敛速度极慢,耗费大量迭代步数;
  • 需要调试选取合适学习率,快速抵达损失极小值点。

随机梯度下降(Stochastic Gradient Descent)

标准梯度下降使用全部样本计算梯度;SGD 每次随机抽取单个样本估计梯度,完成一次参数更新。

算法流程:

  1. 随机初始化模型参数 θ\theta
  2. 循环迭代:
    • 将训练集样本随机打乱顺序
    • 逐个取出样本,用该单个样本的损失梯度更新参数
  3. 终止条件:模型在验证集上错误率不再下降,输出最终参数 θ\theta

优点是计算开销小;梯度噪声有助于跳出局部极小点

但缺点是参数更新方向存在波动

GD 用全部样本算梯度;SGD 只用一个样本算梯度。学习率是超参数,不是模型自己学习出来的参数。

Lecture 1‑3 线性回归(Linear Regression)

模型形式

把偏置 b 拼接到特征向量,把偏置权重并入权重向量,写成增广向量形式。预测公式:y^=w^Tx^\hat y=\hat{\boldsymbol w}^\mathrm{T}\hat{\boldsymbol x}。

经验风险最小化(ERM)

选用平方损失,经验风险:

R(w)=12∑n=1N(y(n)−wTx(n))2=12∥y−XTw∥22\mathcal R(\boldsymbol w)=\frac12\sum_{n=1}^N \big(y^{(n)}-\boldsymbol w^\mathrm{T}\boldsymbol x^{(n)}\big)^2 =\frac12\left\|\boldsymbol y-X^\mathrm{T}\boldsymbol w\right\|_2^2

可以矩阵求导求解析解,也可以用梯度下降迭代求解。

结构风险最小化(SRM)

在经验风险基础上增加正则惩罚项,抑制模型复杂度,对抗过拟合:

R^(w)=12∑n=1N(y(n)−wTϕ(x(n)))2+λ2wTw\hat{\mathcal R}(\boldsymbol w)=\frac12\sum_{n=1}^N \big(y^{(n)}-\boldsymbol w^\mathrm{T}\phi(\boldsymbol x^{(n)})\big)^2+\frac\lambda2 \boldsymbol w^\mathrm{T}\boldsymbol w

λ\lambda 控制正则强度;λ\lambda 越大,对大权重参数惩罚越强。

多项式曲线拟合(Polynomial Curve Fitting)

使用多项式对样本点做拟合;多项式阶数 M 代表模型复杂度。

  • M 太小:模型表达能力弱,发生欠拟合;
  • M 太大:高次多项式,参数数值爆炸,可以完美记住全部训练样本,发生严重过拟合。

缓解过拟合两种方案:

  1. 增加正则项,惩罚大权重;
  2. 扩充训练样本数量;样本充足,复杂模型不容易过拟合。

对数线性回归(Log‑linear regression)

对输出做对数变换 y′=ln⁡yy'=\ln y,把指数形式 y=ewTx+by=e^{\boldsymbol w^\mathrm{T}\boldsymbol x+b} 转化为普通线性回归求解。

Lecture 1-4 概率基础

  1. 随机变量 分为离散随机变量、连续随机变量。 PDF 概率密度函数;CDF 累积分布函数。
  2. 随机向量、边缘分布、条件概率 条件概率公式:P(A∣B)=P(A∩B)P(B)P(A|B)=\dfrac{P(A\cap B)}{P(B)}
  3. 采样 Sampling:从真实分布 pr(x)p_r(x) 获取样本。
    • 伪随机数生成:线性同余发生器
    • 逆变换采样 Inverse Transform Sampling:借助 CDF,从均匀分布采样转换得到目标分布样本
  4. 期望 Expectation、大数定律:样本均值依概率收敛于随机变量数学期望。

Lecture 1-5 朴素贝叶斯分类(Naive Bayes Classification)

贝叶斯公式

P(A∣B)=P(B∣A) P(A)P(B)P(A|B)=\frac{P(B|A)\,P(A)}{P(B)}
  • Prior 先验 P(A)P(A):事先统计得到的类别概率
  • Likelihood 似然 P(B∣A)P(B|A)
  • Posterior 后验 P(A∣B)P(A|B)
  • Marginal 边缘概率 P(B)P(B)

朴素贝叶斯核心假设

类条件独立假设:给定类别标签的前提下,各个特征互相独立。

“朴素 naive” 名字是因为现实数据集特征经常互相相关,该假设不一定成立。

预测采用最大后验估计 MAP,选择后验概率最大的类别作为预测结果。

优缺点

优点:代码实现简单,计算高效;小数据集也能取得不错效果 缺点:依赖强条件独立假设;特征高度相关时分类精度下降

朴素贝叶斯用于文本分类

  1. 词袋模型(Bag‑of‑Words):忽略词语语序,只统计每个单词出现频次,把文本转换成特征向量。
  2. 完整流程:原始文本转为词袋特征向量;结合标签训练朴素贝叶斯;新文本转为特征向量,计算各类后验概率,输出预测类别。

Lecture 1-6 分类器的评价(Evaluation of Classifiers)

数据集划分

  • 训练集:用来学习模型参数
  • 验证集:调超参数、做早停;不能拿来训练模型
  • 测试集:用来得到模型最终泛化性能;训练、调参阶段绝对不能使用测试集

交叉验证(Cross‑validation)

  1. K 折交叉验证,例如 10 折交叉验证:全部数据集切分为 K 份,轮流拿其中 1 份当测试集,剩余 K‑1 份做训练,最后取 K 次结果的平均值。
  2. 留一法 Leave‑one‑out:K 折的特殊形式;数据集一共有 m 条样本,做 m 折交叉验证,每次仅留下 1 个样本作为测试,适合数据集规模很小的场景。
  3. Hold‑out 留出法:最简单数据集划分方式,一次性把原始数据集随机切分为训练集、验证集、测试集三部分;训练集训练模型,验证集调超参数,测试集用来评估最终泛化性能。只做一次划分,实现简单;缺点是评估结果受随机划分影响,小数据集上结果波动大。

交叉验证有代码作业,我将文档链接放在下面,请自行参考学习:

Cross-Validation

分类评价指标

注意:准确率 Accuracy 在类别不平衡数据集会产生误导。例如欺诈检测,绝大多数样本是正常样本,无脑预测全部为正确也可以得到很高准确率。

混淆矩阵

混淆矩阵是一种用于评估分类模型性能的表格,通过对比模型预测结果与真实标签,直观展示模型在各类别上的正确与错误预测情况。如下表格

预测正例预测负例
真实正例TP 真正例FN 假负例
真实负例FP 假正例TN 真负例
  • 精确率 Precision (P):P=TPTP+FP\displaystyle P=\frac{TP}{TP+FP},所有被模型判定为正的样本中,真正是正样本的比例;
  • 召回率 Recall (R):R=TPTP+FN\displaystyle R=\frac{TP}{TP+FN},全部真实正样本里面,被模型找出来的比例;
  • F1‑score:精确率与召回率调和平均 F1=2PRP+R\displaystyle F_1=\frac{2PR}{P+R},综合两个指标;只有 P、R 同时较高,F1 才会高。

如果要业务上做一定的取舍,则参考:

  • 看重精确率:商品内容推荐,尽量少推送无关内容,调高分类阈值;
  • 看重召回率:嫌疑人检索,尽可能找出全部目标样本,调低分类阈值。

P‑R 曲线、ROC 曲线

  1. P‑R 曲线:不断调整分类阈值,得到一组 (P,R) 绘制曲线;平衡点 BEP 代表 P=R;曲线越靠近左上角,分类器性能越好。
  2. ROC 曲线:纵轴 TPR 真正例率 TPR=TPTP+FNTPR=\frac{TP}{TP+FN},横轴 FPR 假正例率 FPR=FPFP+TNFPR=\frac{FP}{FP+TN},改变阈值画出整条曲线。
    • TPR 等价召回率;FPR 代表负样本当中被错判成正例的比例。
    • AUC:ROC 曲线下面积;AUC 越接近 1 代表分类器效果越好。
P‑R 曲线
P‑R 曲线
ROC 曲线
ROC 曲线

测试误差可以分为三项:

Expected Test Error=Bias2+Variance+Irreducible Error\mathrm{Expected\ Test\ Error}= \mathrm{Bias}^2 + \mathrm{Variance} + \mathrm{Irreducible\ Error}
分量含义
偏差 Bias模型本身的近似误差;模型太简单,对真实关系拟合不到位 → 欠拟合,高偏差
方差 Variance模型在不同训练集上参数的波动;模型过于复杂,对训练集噪声过度敏感 → 过拟合,高方差
不可约误差 Irreducible Error数据本身自带噪声,无论用什么模型都消不掉
  • 简单模型:高偏差、低方差 → 欠拟合
  • 复杂模型:低偏差、高方差 → 过拟合
  • 机器学习做模型选择,本质寻找偏差、方差的平衡点。

正则化的作用:通过增大一点点偏差,显著降低方差,降低整体泛化误差。

Lecture1-8 生成式模型 vs 判别式模型

  • 朴素贝叶斯:生成式模型 Generative Model。学习联合概率 P(X,Y)=P(Y)P(X∣Y)P(X,Y)=P(Y)P(X|Y),建模数据是怎么生成出来的。
  • 后面课程的逻辑回归:判别式模型 Discriminative Model。直接学习条件概率 P(Y∣X)P(Y|X),不去管数据生成过程。

生成模型优点:小样本表现尚可,可以处理缺失特征; 缺点:对假设(类条件独立)依赖性强;假设错了效果下降明显。

至此,第一章全部知识点到此结束。优化、回归部分公式较多,我整理了英文课件的全部核心内容,省略了不少公式,重点概念保留英文原名,只希望期末不要考出这些。如果发现有错误欢迎指出,我会及时修改。

执笔 手写

喜欢的话,留下你的评论吧~

随机文章

加载中...