一、 机器学习概述
1. 人工智能、机器学习与深度学习的关系
- 人工智能(AI)是最大的概念。它包含了所有让机器模拟人类智能行为的技术和方法。
- 机器学习(ML)是人工智能的一个子集,是实现人工智能的一种重要方法。
- 深度学习(DL)则是机器学习的一个分支,是一种特殊的机器学习方法。
2. 机器学习的定义与方向
- 机器学习通过技术手段,利用已有的数据(经验)开发可以用来对新数据进行预测的模型。
- 机器学习让计算机从数据中学习规律,而不是通过传统的硬编码规则来解决问题。
- 机器学习主要研究产生模型的算法。
2-1 机器学习按基于学习方式的分类
基于学习方式的划分:有监督学习、无监督学习、强化学习
学习方式 | 定义 | 主要任务/场景 | 常用算法 |
---|---|---|---|
监督学习 (Supervised Learning) | 使用已标记的数据进行训练 | 分类问题:- 垃圾邮件识别 - 图像识别 回归问题:- 房价预测 - 销量预测 | • 决策树 • 支持向量机(SVM) • 随机森林 • 逻辑回归 • 神经网络 |
无监督学习 (Unsupervised Learning) | 使用未标记的数据,基于数据本身去发现数据中的模式和特征 | 聚类:- 客户群体划分 降维:- 特征压缩 异常检测 关联分析 | • K-means聚类 • 主成分分析(PCA) • 自编码器 • DBSCAN |
强化学习 (Reinforcement Learning) | 通过与环境交互来学习最优策略 | • 游戏AI • 机器人控制 • 自动驾驶 | • Q-learning • DQN • DDPG • PPO |
半监督学习 (Semi-supervised Learning) | 同时使用标记和未标记数据进行训练 | 适用场景:- 标记数据获取成本高 - 未标记数据丰富 | • 自训练 • 协同训练 • 生成模型 |
有监督学习 与 无监督学习 :有监督学习,数据被打上圆和×的tag,目的是找到圆和×的边界;无监督学习数据的tag是一样的(没有tag或标识),目的是找到数据聚合的特征,将数据根据特征聚类。
强化学习
无监督学习 与 强化学习的区别
- 数据形式:无监督学习:静态数据点; 强化学习:动态交互数据
- 学习目标:无监督学习:发现数据模式; 强化学习:最大化累积奖励
- 反馈机制:无监督学习:无外部反馈; 强化学习:环境提供奖励信号
- 应用场景:无监督学习:数据分析和模式识别; 强化学习:决策制定和控制问题
有监督学习、无监督学习、强化学习的差异
比较维度 | 监督学习 | 无监督学习 | 强化学习 |
---|---|---|---|
训练数据 | 有标记的数据(输入和正确答案配对) | 无标记数据(只有输入数据) | 无需预先准备的数据,通过与环境交互获得 |
学习目标 | 学习输入到输出的映射关系 | 发现数据内在的结构和模式 | 学习在环境中获得最大奖励的策略 |
反馈方式 | 即时反馈(知道预测是否正确) | 无外部反馈 | 延迟反馈(通过奖励信号) |
典型问题 | • 分类(是/否判断) • 回归(数值预测) | • 聚类 • 降维 • 异常检测 | • 决策制定 • 控制优化 • 策略学习 |
应用场景 | • 图像识别 • 垃圾邮件过滤 • 疾病诊断 • 房价预测 | • 客户分群 • 推荐系统 • 异常交易检测 • 特征提取 | • 游戏AI • 机器人控制 • 自动驾驶 • 资源调度 |
优点 | • 准确度高 • 结果可控 • 容易评估 | • 不需要标注数据 • 可发现未知模式 • 成本较低 | • 能够自主决策 • 可以处理复杂环境 • 持续学习改进 |
缺点 | • 需要大量标注数据 • 标注成本高 • 可能过拟合 | • 结果不易评估 • 可解释性较差 • 效果不够精确 | • 训练时间长 • 需要大量试错 • 收敛性不稳定 |
经典算法 | • 决策树 • SVM • 神经网络 • 逻辑回归 | • K-means • PCA • DBSCAN • 自编码器 | • Q-learning • DQN • DDPG • PPO |
2-2 机器学习按基于学习策略的分类
3. 分类和回归的定义与区别
3-1 分类
- 分类是将不同的类别进行分开
- 目标是预测离散的类别标签
- 输出是类别,如:是/否、猫/狗/鸟、优/良/差
- 例子:垃圾邮件检测(是/否)、图像识别(猫/狗)、疾病诊断(良性/恶性)
3-2 回归
- 回归是找到一个空间,使得数据点尽可能落在空间上
- 目标是预测连续的数值
- 输出是具体的数值,如:价格、温度、身高
- 例子:房价预测、温度预测、销售额预测
3-3 分类和回归的区别
4. 机器学习常见函数
4-1 损失函数
- 用于衡量模型预测值与真实值之间的差距
- 反映模型预测的好坏程度
- 目标是最小化损失函数值
- 职责:评估模型性能、提供优化目标、计算误差大小
4-2 优化函数
- 目标:找到使损失函数最小的模型参数
- 作用:指导模型如何调整参数以提高性能
- 类比:就像在山谷中寻找最低点的过程
- 职责:决定如何更新参数、控制学习速度、避免局部最小值
- 优化函数相当于驾驶策略,参数相当于油门和方向盘。目标是到达目的地(最优解)
4-3 损失函数与优化函数的关系
- 损失函数 = 地图(告诉你距离目标有多远)
- 优化函数 = 导航策略(告诉你如何到达目标)
- 损失函数告诉我们"差距有多大",优化函数告诉我们"如何缩小差距"
4-4 优化函数的执行过程
4-5 优化函数的种类
基础优化器
优化器 | 特点 | 优势 | 劣势 | 适用场景 |
---|---|---|---|---|
BGD (批量梯度下降) | 使用全部数据计算梯度 | - 稳定 - 准确 | - 速度慢 - 内存消耗大 | 小数据集 |
SGD (随机梯度下降) | 每次使用单个样本 | - 速度快 - 内存效率高 | - 不稳定 - 容易震荡 | 大数据集 在线学习 |
Mini-batch GD | 使用小批量数据 | - 平衡速度和稳定性 - 并行计算友好 | - 需要调整批量大小 | 最常用场景 |
改进优化器
优化器 | 核心思想 | 优势 | 劣势 | 适用场景 |
---|---|---|---|---|
Momentum | 累积历史梯度 | - 加快收敛 - 减少震荡 | - 需要额外内存 - 可能过冲 | 有明显方向的优化 |
AdaGrad | 自适应学习率 | - 适合稀疏数据 - 自动调整参数 | - 后期学习过慢 | 稀疏数据 NLP任务 |
RMSprop | 指数衰减的梯度累积 | - 解决学习率衰减 - 适应性好 | - 需要设置衰减率 | RNN训练 非凸优化 |
现代优化器
优化器 | 原理 | 优势 | 劣势 | 适用场景 |
---|---|---|---|---|
Adam | 结合动量和自适应学习率 | - 收敛快 - 参数自适应 - 稳定性好 | - 计算开销大 - 可能不收敛 | 深度学习默认选择 |
AdaDelta | 自适应学习率无需设置 | - 无需设置学习率 - 鲁棒性好 | - 计算复杂 | 对超参数敏感的任务 |
Nadam | Adam + Nesterov动量 | - 收敛更快 - 更精确 | - 计算开销更大 | 需要快速收敛的任务 |
5. 机器学习常见评估指标
- 评估模型性能、验证模型泛化能力、指导模型优化方向
- 评估指标是对模型效果数值上的量化
- 不同类型的机器学习 评估指标有差异
- 评价指标是建立在不同的机器学习任务上的,主要分为三大类:分类、回归和无监督
5-1 不同学习任务的机器学习方法的评估方法
5-2 分类学习任务的评估方法
混淆矩阵
5-3 分类学习任务的评估指标
- 学习任务