监督学习
监督学习是机器学习的核心范式:给模型提供带标签的训练数据,让它学会从输入映射到输出,从而对新样本做出预测。
什么是监督学习?
监督学习(Supervised Learning)的本质是:
训练数据(X, y)→ 学习函数 f(X)≈y → 对新样本 X_new 预测 y_new- X:输入特征(特征向量)
- y:标签(分类:类别标签;回归:连续数值)
- 目标:学到一个泛化能力强的映射函数
两大任务类型
| 任务类型 | 输出类型 | 评估指标 | 典型算法 |
|---|---|---|---|
| 分类 | 离散类别(猫/狗、0/1) | 准确率、F1、AUC | SVM、决策树、逻辑回归 |
| 回归 | 连续数值(房价、温度) | MSE、RMSE、R² | 线性回归、回归树 |
本章算法目录
| 算法 | 类型 | 核心思想 | 适用场景 |
|---|---|---|---|
| 线性回归 | 回归 | 最小化预测误差(最小二乘) | 连续值预测,特征线性相关 |
| 逻辑回归 | 分类 | Sigmoid 映射 + 交叉熵损失 | 二分类,概率输出 |
| K 近邻 KNN | 分类/回归 | 找最近的 K 个邻居投票 | 小数据集,非线性边界 |
| 决策树 | 分类/回归 | 信息增益递归分裂 | 可解释性需求,混合特征 |
| 支持向量机 SVM | 分类/回归 | 最大化分类间隔,核技巧 | 高维数据,中小数据集 |
| 朴素贝叶斯 | 分类 | 条件独立假设 + 贝叶斯定理 | 文本分类,垃圾邮件 |
| 感知机 | 分类 | 线性分隔 + 错误驱动更新 | 线性可分二分类,神经网络起源 |
学习流程
收集数据
↓
特征工程(清洗、编码、归一化)
↓
选择算法(线性/非线性、分类/回归)
↓
训练模型(拟合训练集)
↓
模型评估(验证集/测试集)
↓
超参数调优(GridSearchCV / 贝叶斯优化)
↓
上线部署如何选择算法?
数据量大(>10万)?
├── 是 → 线性模型(逻辑回归/线性回归)或 树模型(XGBoost/LightGBM)
└── 否 → 数据高维且稀疏?
├── 是 → SVM(带核技巧)
└── 否 → 数据是否线性可分?
├── 是 → 逻辑回归/SVM 线性核
└── 否 → 决策树/随机森林/KNN共同关注点
无论选择哪种算法,以下问题都需要关注:
- 过拟合 vs 欠拟合:训练误差低但泛化差 vs 连训练集都拟合不好
- 偏差 vs 方差权衡:模型复杂度的"甜点"在哪里
- 特征重要性:哪些特征对预测贡献最大
- 可解释性:模型的决策能否被业务人员理解