机器学习|系统工程与实践
天气好热,空调好贵www祝食用愉快~🫠
[ 机器学习开发的迭代循环 ]
┌─────────┐
▼ │
┌─────────┐ │ (迭代优化)
│ 建立模型 │ │
└────┬────┘ │
▼ │
┌─────────┐ │
│ 诊断评估 ├────┘
│(偏差/方差)│
└────┬────┘
▼
┌─────────┐
│ 部署上线 │
└─────────┘
1. 模型评估与选择
- 数据集划分: 推荐将数据集划分为 训练集 (Training Set, 60%)、交叉验证集 (Cross-Validation Set / Dev Set, 20%) 和 测试集 (Test Set, 20%)。
-
模型选择流程:
- 在训练集上训练具有不同超参数(如多项式次数 、正则化参数 、神经网络层数等)的多个候选模型。
- 在交叉验证集上评估这些模型,选择验证误差 最小的模型。
- 最终在测试集上评估该模型,以获得对泛化误差的无偏估计 。
2. 诊断偏差 (Bias) 与方差 (Variance)
- 高偏差 (High Bias - 欠拟合 Underfitting):
训练集误差 很高,交叉验证集误差 同样很高。
- 高方差 (High Variance - 过拟合 Overfitting):
训练集误差 很低,但交叉验证集误差 。
- 偏差-方差与正则化:
引入 正则化,正则化惩罚项为 :
- 若 过大:过度惩罚权重,模型趋于简单,导致高偏差(欠拟合)。
- 若 过小(或为0):模型复杂度不受控,导致高方差(过拟合)。
- 建立基准性能水平 (Baseline Level of Performance):
必须建立一个合理的性能基准(如人类专家表现、现有最优模型、学术界前沿水平)。
- 可避免偏差 (Avoidable Bias) = —— 若该值大,说明需要加大模型容量或延长训练时间。
- 方差 (Variance) = —— 若该值大,说明需要增加数据、引入正则化或简化模型。
- 学习曲线 (Learning Curves):
绘制 和 随训练样本量 的变化曲线:
- 若模型处于高偏差状态:随着 增加,两条曲线会迅速靠拢并平置于高误差区,此时增加数据对改善模型毫无帮助。
- 若模型处于高方差状态:两条曲线之间存在明显的缺口(Gap),随着 增加,缺口会逐渐收窄,此时增加数据非常有效。
3. 迭代循环与项目生命周期
- 错误分析 (Error Analysis):
不要盲目尝试复杂算法,应人工检查 中被分类错误的样本(例如挑选100个错例),按错误类型归类(如“图像模糊”、“背景噪点”等),量化各类型占比,将精力优先投入到占比最高、最易解决的问题上。
-
增加数据的方法:
- 数据增强 (Data Augmentation): 针对图像、语音等,进行合理的旋转、缩放、加入噪声等操作,低成本创造新样本。
- 合成数据 (Synthetic Data): 从零生成全新数据。
- 迁移学习 (Transfer Learning):
当目标任务数据极少时,可以先在一个规模极其庞大的相关数据集上训练网络(Pre-training),然后将其参数复制到目标任务网络中,保持前几层参数不变或微调(Fine-tuning),利用在大数据上学到的通用特征表示。
-
机器学习项目的完整周期:
1. 确定项目范围 (Scope) ➔ 2. 收集与标注数据 (Data) ➔ 3. 训练与诊断模型 (Model) ➔ 4. 部署与监控维护 (Deploy & Monitor) - 公平性、偏见与伦理 (Fairness, Bias, and Ethics):
机器学习模型容易放大训练数据中的偏见(如性别、种族歧视等)。必须确保数据集的多样性,评估模型在各亚群组上的表现,遵循科技向善的原则。
4. 倾斜数据集的评估指标
对于正负样本极度不平衡的数据集(如罕见病筛查,正例仅占 ),单纯看准确率(Accuracy)会产生欺骗性(即便全部预测为负,准确率也有 )。
- 混淆矩阵 (Confusion Matrix):
| 真实正例 (Actual True) | 真实负例 (Actual False) | |
|---|---|---|
| 预测正例 (Predicted True) | 真正例 (TP) | 假正例 (FP) |
| 预测负例 (Predicted False) | |假负例 (FN) | 真负例 (TN) |
-
精确率与召回率:
- 精确率 (Precision): 预测为正的样本中,有多少是真正的正例。
- 召回率 (Recall): 所有的真实正例中,有多少被成功预测了出来。
-
精确率与召回率的权衡与 F1-Score:
- 若提高预测阈值(如 ),预测更保守 ➔ 精确率升高,召回率降低。
- 若降低预测阈值(如 ),预测更激进 ➔ 召回率升高,精确率降低。
为了综合评估,采用两者的调和平均数 F1-Score: