监督学习、无监督学习、强化学习与关键术语
前言
机器学习(Machine Learning)是人工智能的核心分支,让计算机能够从数据中学习规律并做出预测。本文系统介绍机器学习的核心概念和关键术语。
什么是机器学习
“机器学习是一门研究如何让计算机在没有被明确编程的情况下进行学习的学科。” —— Arthur Samuel, 1959
传统编程 vs 机器学习
| 范式 | 输入 | 输出 |
|---|---|---|
| 传统编程 | 数据 + 规则 | 结果 |
| 机器学习 | 数据 + 结果 | 规则(模型) |
机器学习的类型
监督学习 (Supervised Learning)
从标注数据中学习输入到输出的映射关系。
- 分类:预测离散类别(邮件是否为垃圾邮件、图片中是猫还是狗)
- 回归:预测连续数值(房价预测、温度预测)
无监督学习 (Unsupervised Learning)
从无标注数据中发现隐藏结构。
- 聚类:将相似样本分组(用户分群、文档聚类)
- 降维:压缩数据维度(PCA、t-SNE)
- 异常检测:发现异常样本
强化学习 (Reinforcement Learning)
智能体通过与环境交互,根据奖励信号学习最优策略。
- 应用:游戏AI、机器人控制、推荐系统
自监督学习 (Self-supervised Learning)
从数据本身构造监督信号,是近年来的研究热点。
- 应用:BERT、GPT、SimCLR等预训练模型
核心术语
数据相关
| 术语 | 说明 |
|---|---|
| 样本 (Sample) | 数据集中的一个数据点 |
| 特征 (Feature) | 描述样本的属性,也叫输入变量 |
| 标签 (Label) | 样本的目标值,也叫输出变量 |
| 训练集 | 用于训练模型的数据(通常占70%) |
| 验证集 | 用于调参和模型选择(通常占15%) |
| 测试集 | 用于评估最终性能(通常占15%) |
模型相关
| 术语 | 说明 |
|---|---|
| 模型 | 从数据中学习到的函数/映射关系 |
| 参数 | 模型从数据中学习得到的值(如权重) |
| 超参数 | 需要人工设定的参数(如学习率、层数) |
| 容量 | 模型拟合复杂函数的能力 |
机器学习流程
- 问题定义:明确任务类型和评估指标
- 数据收集:获取原始数据
- 数据预处理:清洗、缺失值处理、异常值处理
- 特征工程:特征选择、构造、变换
- 数据划分:训练集、验证集、测试集
- 模型选择:选择合适的算法
- 模型训练:在训练集上学习参数
- 超参数调优:在验证集上调整
- 模型评估:在测试集上评估性能
- 模型部署:上线服务
偏差与方差
总误差 = 偏差² + 方差 + 不可约误差
| 概念 | 含义 | 问题 |
|---|---|---|
| 高偏差 | 模型预测值与真实值差距大 | 欠拟合 |
| 高方差 | 模型对数据变化过于敏感 | 过拟合 |
权衡:降低偏差通常会增加方差,反之亦然。需要找到平衡点。
过拟合与欠拟合
欠拟合 (Underfitting)
- 表现:训练误差高,测试误差也高
- 原因:模型太简单,无法捕捉数据规律
- 解决:增加模型复杂度、添加特征、减少正则化
过拟合 (Overfitting)
- 表现:训练误差低,但测试误差高
- 原因:模型太复杂,学习了噪声
- 解决:增加数据、正则化、早停、Dropout
良好拟合
- 表现:训练误差低,测试误差也低
- 目标:泛化能力强
泛化能力
泛化:模型在未见过的数据上的表现能力。
提高泛化能力的方法:
- 增加训练数据
- 正则化(L1、L2)
- 数据增强
- 集成学习
- 早停(Early Stopping)
损失函数
回归任务
| 损失函数 | 公式 | 特点 |
|---|---|---|
| MSE | $(1/n)\sum(y - \hat{y})^2$ | 对大误差敏感 |
| MAE | $(1/n)\sum|y - \hat{y}|$ | 对异常值鲁棒 |
| Huber | 结合MSE和MAE | 兼顾两者优点 |
分类任务
| 损失函数 | 用途 |
|---|---|
| 交叉熵 | 最常用的分类损失 |
| Hinge Loss | SVM使用 |
| Focal Loss | 处理类别不平衡 |
优化算法
| 算法 | 特点 |
|---|---|
| SGD | 最基础的优化器 |
| Momentum | 加速收敛,减少震荡 |
| AdaGrad | 自适应学习率 |
| RMSprop | 改进AdaGrad |
| Adam | 最常用,结合Momentum和RMSprop |
| AdamW | Adam + 权重衰减 |
评估指标
分类指标
| 指标 | 说明 |
|---|---|
| 准确率 | 正确预测数 / 总预测数 |
| 精确率 | TP / (TP + FP) |
| 召回率 | TP / (TP + FN) |
| F1 Score | 精确率和召回率的调和平均 |
| AUC-ROC | ROC曲线下面积 |
混淆矩阵:
| 预测正 | 预测负 | |
|---|---|---|
| 实际正 | TP(真阳性) | FN(假阴性) |
| 实际负 | FP(假阳性) | TN(真阴性) |
回归指标
| 指标 | 说明 |
|---|---|
| MSE | 均方误差 |
| RMSE | MSE的平方根 |
| MAE | 平均绝对误差 |
| R² | 决定系数 |
算法总览
| 类型 | 算法 | 适用任务 |
|---|---|---|
| 线性模型 | 线性回归、逻辑回归 | 回归、分类 |
| 树模型 | 决策树、随机森林、XGBoost | 分类、回归 |
| 支持向量机 | SVM、SVR | 分类、回归 |
| 贝叶斯 | 朴素贝叶斯 | 分类 |
| 聚类 | K-Means、DBSCAN | 聚类 |
| 降维 | PCA、t-SNE | 降维 |
| 神经网络 | MLP、CNN、RNN、Transformer | 多种任务 |
如何选择算法
- 数据量小:线性模型、SVM
- 数据量大:神经网络、XGBoost
- 需要可解释性:决策树、线性模型
- 结构化数据:XGBoost、LightGBM
- 图像/文本:深度学习
常见问题
Q1: 特征工程重要吗?
非常重要。好的特征往往比复杂的模型更有效。
Q2: 深度学习能替代传统ML吗?
不完全能。在结构化数据上,XGBoost等传统方法仍然很强;深度学习在图像、文本等非结构化数据上优势明显。
Q3: 如何处理数据不平衡?
- 重采样(过采样/欠采样)
- 调整类别权重
- 使用合适的指标(F1、AUC)
- SMOTE等数据增强
总结
| 概念 | 要点 |
|---|---|
| 监督学习 | 从标注数据学习映射关系 |
| 无监督学习 | 从无标注数据发现结构 |
| 过拟合 | 模型太复杂,泛化差 |
| 欠拟合 | 模型太简单,学不好 |
| 泛化 | 在新数据上的表现 |
参考资料
- 周志华《机器学习》
- Christopher Bishop “Pattern Recognition and Machine Learning”
- Andrew Ng Coursera Machine Learning Course
- scikit-learn 文档
版权声明: 如无特别声明,本文版权归 sshipanoo 所有,转载请注明本文链接。
(采用 CC BY-NC-SA 4.0 许可协议进行授权)
本文标题:《 机器学习基础系列——核心概念 》
本文最后一次更新为 天前,文章中的某些内容可能已过时!
目录
- 前言
- 什么是机器学习
- 传统编程 vs 机器学习
- 机器学习的类型
- 监督学习 (Supervised Learning)
- 无监督学习 (Unsupervised Learning)
- 强化学习 (Reinforcement Learning)
- 自监督学习 (Self-supervised Learning)
- 核心术语
- 数据相关
- 模型相关
- 机器学习流程
- 偏差与方差
- 过拟合与欠拟合
- 欠拟合 (Underfitting)
- 过拟合 (Overfitting)
- 良好拟合
- 泛化能力
- 损失函数
- 回归任务
- 分类任务
- 优化算法
- 评估指标
- 分类指标
- 回归指标
- 算法总览
- 如何选择算法
- 常见问题
- Q1: 特征工程重要吗?
- Q2: 深度学习能替代传统ML吗?
- Q3: 如何处理数据不平衡?
- 总结
- 参考资料