深色模式
第 06 章 机器学习基础
学习目标
掌握机器学习核心概念、三大学习范式、常见算法、特征工程、模型评估、过拟合和调参。这一章是理论考试最容易出计算题和概念辨析题的部分。
考点地图
高频:监督/无监督/强化学习、分类/回归、逻辑回归、决策树、随机森林、K-Means、PCA、过拟合、欠拟合、交叉验证、类别不平衡、Precision/Recall/F1/AUC。
1. 机器学习基本概念
机器学习是让计算机从数据中学习规律,并对新样本进行预测或决策。
核心术语:
| 术语 | 含义 |
|---|---|
| 样本 | 一条数据记录 |
| 特征 | 输入变量 |
| 标签 | 监督学习中的目标答案 |
| 模型 | 从数据中学到的映射关系 |
| 参数 | 模型训练得到的值 |
| 超参数 | 训练前人为设置的值 |
| 损失函数 | 衡量预测和真实差距 |
| 优化器 | 调整参数以降低损失的方法 |
2. 三大学习范式
2.1 监督学习
有标签数据。目标是学习从 X 到 y 的映射。
任务:
- 分类:输出类别,如是否违约。
- 回归:输出连续值,如房价。
2.2 无监督学习
无标签数据。目标是发现数据内部结构。
任务:
- 聚类:把相似样本分组。
- 降维:压缩特征维度。
- 关联规则:发现共同出现关系。
2.3 强化学习
智能体通过与环境交互,根据奖励学习策略。
关键词:Agent、Environment、State、Action、Reward、Policy。
适合:游戏、机器人控制、自动驾驶策略、资源调度。
3. 常见监督学习算法
3.1 线性回归
用于回归任务,假设输出是特征的线性组合。
优点:简单、可解释。
缺点:无法表达复杂非线性关系。
3.2 逻辑回归
名字里有“回归”,但常用于分类。通过 Sigmoid 输出概率。
适合:二分类、可解释场景。
3.3 KNN
K 最近邻。预测时找距离最近的 K 个样本投票或平均。
特点:
- 训练简单。
- 预测慢。
- 对特征尺度敏感。
- K 太小容易过拟合,K 太大可能欠拟合。
3.4 决策树
通过一系列条件判断做预测。
优点:可解释、可处理非线性。
缺点:容易过拟合。
3.5 随机森林
由多棵决策树组成,属于 Bagging 集成。
优点:泛化较好、抗过拟合强于单棵树。
思想:多棵树投票或平均。
3.6 GBDT、XGBoost、LightGBM
属于 Boosting 思想,逐步训练新模型修正前面模型的错误。
特点:表格数据表现强,比赛常用。
3.7 SVM
支持向量机,目标是找到最大间隔分类超平面。可通过核函数处理非线性。
3.8 朴素贝叶斯
基于贝叶斯定理,并假设特征条件独立。常用于文本分类。
4. 无监督学习算法
4.1 K-Means
把样本分成 K 个簇,使簇内距离尽可能小。
注意:需要预先指定 K,对初始中心敏感,对异常值敏感。
4.2 DBSCAN
基于密度聚类,可以发现任意形状簇并识别噪声点,不需要指定簇数。
4.3 PCA
主成分分析,用于线性降维。保留方差最大的方向。
常见用途:降维、可视化、去噪、压缩。
4.4 关联规则
常见指标:
- 支持度:A 和 B 同时出现的频率。
- 置信度:买 A 的人也买 B 的概率。
- 提升度:A 对 B 出现的提升效果。
5. 特征工程
特征工程是把原始数据变成适合模型学习的特征。
常见处理:
- 缺失值处理。
- 异常值处理。
- 数值标准化/归一化。
- 类别编码。
- 文本向量化。
- 时间特征提取。
- 特征组合。
- 特征选择。
特征选择方法:
- 过滤法:根据统计指标筛选。
- 包装法:用模型效果筛选。
- 嵌入法:模型训练过程中自动选择,如 L1 正则、树模型特征重要性。
6. 训练、验证、测试
- 训练集:训练参数。
- 验证集:调超参数、选模型。
- 测试集:最终评估。
交叉验证:把数据分成 K 折,轮流做验证集。适合数据量较小、需要稳定评估的场景。
分层 K 折:保持每折类别比例一致,分类任务常用。
7. 过拟合和欠拟合
7.1 过拟合
表现:训练集效果好,验证/测试集效果差。
原因:模型太复杂、数据太少、噪声太多、训练太久。
解决:
- 增加数据。
- 数据增强。
- 正则化。
- 降低模型复杂度。
- Dropout。
- 早停。
- 交叉验证。
7.2 欠拟合
表现:训练集和测试集效果都差。
原因:模型太简单、特征不足、训练不足、正则化太强。
解决:
- 增加有效特征。
- 提高模型复杂度。
- 训练更久。
- 降低正则化。
8. 分类评估指标
混淆矩阵:
| 预测正 | 预测负 | |
|---|---|---|
| 实际正 | TP | FN |
| 实际负 | FP | TN |
指标:
- Accuracy = (TP + TN) / 全部。
- Precision = TP / (TP + FP)。
- Recall = TP / (TP + FN)。
- F1 = 2PR / (P + R)。
记忆:
- Precision:预测为正的样本有多少是真的,防误报。
- Recall:真实正类有多少被找回,防漏报。
- F1:Precision 和 Recall 的调和平均。
9. ROC、AUC 与 PR 曲线
ROC:横轴 FPR,纵轴 TPR。
AUC:ROC 曲线下面积,越接近 1 越好,0.5 接近随机。
PR 曲线:Precision-Recall 曲线。类别极不平衡时,PR-AUC 往往更有参考价值。
10. 回归评估指标
| 指标 | 含义 |
|---|---|
| MAE | 平均绝对误差,直观稳健 |
| MSE | 平均平方误差,对大误差敏感 |
| RMSE | MSE 开方,与原单位一致 |
| R² | 模型解释方差比例,越接近 1 越好 |
11. 类别不平衡
类别不平衡时,Accuracy 可能虚高。
处理方法:
- 欠采样多数类。
- 过采样少数类。
- SMOTE。
- 类别权重 class_weight。
- 调整阈值。
- 使用 F1、Recall、Precision、PR-AUC。
12. 调参
常见超参数:
- 学习率。
- 树深度。
- 树数量。
- KNN 的 K。
- 正则化系数。
- batch size。
- epoch。
调参方法:
- 手动搜索。
- 网格搜索。
- 随机搜索。
- 贝叶斯优化。
易错点
| 易错点 | 正确理解 |
|---|---|
| 逻辑回归是回归任务 | 常用于分类 |
| K-Means 是监督学习 | 错。K-Means 是无监督聚类 |
| Accuracy 永远可靠 | 错。类别不平衡时可能误导 |
| 测试集可用于调参 | 错。测试集只做最终评估 |
| 过拟合时应继续增加模型复杂度 | 通常会更严重 |
例题
例题 1
某模型 TP=80,FP=20,FN=40,TN=60,则 Precision 为:
A. 80/(80+20)
B. 80/(80+40)
C. 60/(60+20)
D. (80+60)/200
答案:A。
解析:Precision = TP/(TP+FP)=80/100=0.8。
例题 2
训练集准确率很高,测试集准确率明显低,通常说明:
A. 欠拟合
B. 过拟合
C. 数据库损坏
D. HTTPS 失效
答案:B。
例题 3
下列属于无监督学习的是:
A. K-Means
B. PCA
C. 线性回归
D. 逻辑回归
答案:AB。
自测清单
- 能区分监督、无监督、强化学习。
- 能区分分类和回归。
- 能计算 Precision、Recall、F1。
- 能解释过拟合和欠拟合。
- 能说出类别不平衡的处理方法。