跳转至

机器学习基础

理解监督学习、无监督学习、强化学习等核心概念。

什么是机器学习

**机器学习(Machine Learning, ML)**是AI的一个分支,它使计算机系统能够从数据中自动学习和改进,而无需明确编程。

传统编程 vs 机器学习

传统编程

数据 + 规则 → 答案

机器学习

数据 + 答案 → 规则(模型)
模型 + 新数据 → 预测

机器学习三要素

要素 说明 类比
数据 训练所需的输入和输出样本 教材和习题
算法 从数据中学习的方法 学习方法
算力 训练所需的计算资源 学习时间

机器学习的分类

机器学习
├── 监督学习(Supervised Learning)
│   ├── 分类(Classification)
│   └── 回归(Regression)
├── 无监督学习(Unsupervised Learning)
│   ├── 聚类(Clustering)
│   ├── 降维(Dimensionality Reduction)
│   └── 生成模型(Generative Models)
├── 半监督学习(Semi-supervised Learning)
└── 强化学习(Reinforcement Learning)

监督学习

定义

从**带有标签**的数据中学习,建立输入到输出的映射关系。

训练数据(输入, 标签)

分类任务

预测离散的类别标签。

常见算法

算法 特点 适用场景
逻辑回归 简单高效,可解释性强 二分类问题
决策树 直观易懂,易过拟合 规则清晰的分类
随机森林 集成多棵树,准确率高 通用分类任务
SVM 高维数据表现好 文本分类、图像分类
朴素贝叶斯 计算快,适合文本 垃圾邮件识别

应用示例: - 邮件分类:垃圾邮件/正常邮件 - 图像识别:猫/狗分类 - 疾病诊断:患病/健康

回归任务

预测连续的数值输出。

常见算法

算法 特点 适用场景
线性回归 简单基础 房价预测、销量预测
岭回归 加入正则化 防止过拟合
决策树回归 非线性关系 复杂回归问题
随机森林回归 准确率高 通用回归任务

应用示例: - 房价预测 - 股票价格预测 - 气温预测

评估指标

分类指标

指标 含义 公式
准确率 预测正确的比例 (TP+TN)/(TP+TN+FP+FN)
精确率 预测为正的正确率 TP/(TP+FP)
召回率 实际为正的捕获率 TP/(TP+FN)
F1分数 精确率和召回率的调和平均 2×(P×R)/(P+R)

回归指标

指标 含义 公式
MSE 均方误差 Σ(y-ŷ)²/n
RMSE 均方根误差 √MSE
MAE 平均绝对误差 Σ|y-ŷ|/n
决定系数 1 - MSE/Var(y)

无监督学习

定义

从**没有标签**的数据中发现隐藏的结构和模式。

聚类

将相似的数据点分到同一组。

常见算法

算法 特点 适用场景
K-Means 简单快速,需预设K值 客户分群
层次聚类 可生成树状图 基因分类
DBSCAN 自动发现簇数 异常检测
高斯混合模型 概率聚类 软分类场景

应用示例: - 客户分群:识别不同类型的用户 - 文档聚类:自动组织大量文档 - 图像分割:将图像分成不同区域

降维

减少数据的特征维度,同时保留重要信息。

常见方法

方法 特点 适用场景
PCA 线性降维,保留最大方差 数据可视化
t-SNE 非线性降维,保留局部结构 高维数据可视化
UMAP 更快,保留全局和局部结构 大规模数据降维
自编码器 神经网络降维 非线性降维

应用示例: - 数据可视化:将高维数据降到2D/3D - 特征压缩:减少模型输入维度 - 去噪:去除数据中的噪声


强化学习

定义

通过与环境交互,学习最优行为策略,以最大化累积奖励。

核心概念

智能体(Agent) ← 观察状态(State) ← 环境(Environment)
   采取行动(Action)
环境 → 返回奖励(Reward) → 智能体

关键要素

要素 说明
状态(State) 环境的当前情况
动作(Action) 智能体可执行的操作
奖励(Reward) 环境对动作的反馈
策略(Policy) 从状态到动作的映射
价值函数 预期累积奖励的估计

主要算法

算法类型 代表算法 特点
基于价值 Q-Learning、DQN 学习价值函数
基于策略 REINFORCE、PPO 直接优化策略
Actor-Critic A2C、A3C 结合两者优点
基于模型 AlphaZero 学习环境模型

应用示例

  • 游戏AI:AlphaGo、OpenAI Five
  • 机器人控制:机械臂操作、行走控制
  • 推荐系统:动态调整推荐策略
  • 自动驾驶:路径规划和决策

机器学习工作流程

1. 问题定义
2. 数据收集
3. 数据预处理
    ├── 清洗
    ├── 特征工程
    └── 数据分割
4. 模型选择
5. 模型训练
6. 模型评估
7. 模型部署
8. 持续监控

1. 问题定义

明确要解决的问题: - 监督/无监督/强化学习? - 分类/回归/聚类? - 评估标准是什么?

2. 数据收集

  • 内部数据
  • 公开数据集
  • 数据采集
  • 数据标注(监督学习)

3. 数据预处理

数据清洗: - 处理缺失值 - 去除异常值 - 去除重复数据

特征工程: - 特征选择 - 特征构造 - 特征缩放

数据分割: - 训练集:用于训练模型 - 验证集:用于调参和选择模型 - 测试集:用于最终评估

4. 模型选择

根据问题特点选择合适的算法。

5. 模型训练

  • 训练模型参数
  • 调整超参数
  • 交叉验证

6. 模型评估

使用测试集评估模型性能。

常见问题: - 过拟合:训练集表现好,测试集表现差 - 欠拟合:训练集和测试集都表现差

解决方案: - 正则化 - 增加数据 - 简化模型 - 特征工程

7. 模型部署

将训练好的模型部署到生产环境。

8. 持续监控

  • 监控模型性能
  • 检测数据漂移
  • 定期重新训练

特征工程基础

什么是特征

**特征**是用于训练模型的输入变量。

好特征的特点: - 与目标变量相关 - 覆盖足够的变异性 - 可被模型有效利用

特征类型

类型 示例 处理方式
数值特征 年龄、价格、温度 标准化/归一化
类别特征 性别、颜色、类别 独热编码
文本特征 评论、描述 词袋、TF-IDF
时间特征 日期、时间戳 提取年月日等

特征缩放

标准化(Standardization)

x' = (x - μ) / σ

归一化(Normalization)

x' = (x - min) / (max - min)

作用: - 加速训练收敛 - 防止特征值范围差异过大 - 提高模型稳定性


模型选择与调优

偏差-方差权衡

问题 表现 解决方案
高偏差(欠拟合) 训练误差和测试误差都高 增加模型复杂度、特征工程
高方差(过拟合) 训练误差低,测试误差高 正则化、增加数据、简化模型

交叉验证

K折交叉验证: 1. 将数据分成K份 2. 每次用K-1份训练,1份验证 3. 重复K次,确保每份都作为验证集 4. 取平均性能

作用:更可靠的模型评估

超参数调优

网格搜索(Grid Search): - 遍历所有参数组合 - 计算量大但全面

随机搜索(Random Search): - 随机采样参数组合 - 更快,适合高维空间


常见问题

??? question "机器学习与深度学习的区别?**

| 机器学习 | 深度学习 |
|---|---|
| 特征需要人工提取 | 自动学习特征 |
| 适合结构化数据 | 适合非结构化数据(图像、文本) |
| 模型相对简单 | 模型复杂,参数量大 |
| 训练数据需求较少 | 需要大量数据 |
| 可解释性较强 | 可解释性较弱 |

??? question "如何选择算法?**

**初学者建议**:
1. 先尝试简单算法(逻辑回归、决策树)
2. 建立基线性能
3. 逐步尝试复杂算法
4. 根据验证集性能选择

**经验法则**:
- 数据小、特征少:传统ML
- 图像/文本/语音:深度学习
- 需要可解释性:线性模型、决策树

??? question "需要多少数据?**

取决于问题复杂度:
- 简单问题:几百到几千样本
- 复杂问题:几万到几百万样本
- 深度学习:通常需要更多数据

**数据不足时的策略**:
- 数据增强
- 迁移学习
- 简化模型

??? question "如何入门机器学习?**

**学习路径**:
1. 数学基础:线性代数、概率统计、微积分
2. Python编程
3. 学习scikit-learn
4. 完成Kaggle入门竞赛
5. 深入学习特定领域

**推荐资源**:
- 课程:吴恩达《机器学习》
- 书籍:《机器学习实战》
- 实践:Kaggle竞赛

小结

机器学习是AI的核心技术,理解其基本概念是深入学习AI的基础。

关键要点: 1. 明确问题类型(监督/无监督/强化) 2. 数据质量和数量同样重要 3. 特征工程往往是提升效果的关键 4. 避免过拟合,重视模型泛化能力


延伸阅读