零、参考资料
一篇文章完全搞懂正则化(Regularization)-CSDN博客
一、 机器学习概述
0. 机器学习的层次结构
- 学习范式(最高层) 怎么学
- 监督学习
- 无监督学习
- 半监督学习
- 强化学习
- 学习任务(中间层)
- 分类任务
- 回归任务
- 聚类任务
- 降维任务
- 其他任务
- 学习算法(底层) 用什么学
- 基础算法
- 集成算法
- 深度学习算法
- 概率模型算法
学习方式 | 数据特点 | 主要任务 | 典型算法 |
---|---|---|---|
监督学习 | 有标签数据 | 分类、回归 | 决策树、SVM |
无监督学习 | 无标签数据 | 聚类、降维 | K-Means、PCA |
半监督学习 | 部分有标签 | 分类、回归 | 标签传播 |
强化学习 | 奖励信号 | 策略学习 | Q-learning |
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 分类学习任务的评估指标
5-4 回归任务常见评估指标
6. 学习任务
机器学习的学习任务指的是机器学习算法在训练过程中学校要完成的具体目标。这个定义会直接影响到我们如何收集数据、选择算法和评估结果。
6-1 本质定义
- 学习任务就是"要教会机器做什么"
- 是机器需要通过数据学习来完成的具体工作目标
6-2 主要特点
- 有明确的输入和期望的输出
- 可以通过数据来学习规律
- 有具体的评估标准来衡量性能
6-3 任务的构成要素
- 输入空间:数据的特征
- 输出空间:预测的目标
- 假设空间:可能的模型集合
- 评估准则:衡量模型好坏的标准
6-4 学习任务的作用
- 明确问题的目标
- 确定需要收集的数据类型
- 选择合适的算法和模型
- 设定合理的评估标准
6-5 举例
-
预测房价就是一个学习任务
- 输入:房屋的面积、位置、年份等特征
- 输出:预测的房价
- 评估标准:预测价格与实际价格的误差
二、机器学习经典算法介绍
1. 线性回归算法
1-1 定义
- 线性回归是一种建立自变量(特征变量)和因变量(目标变量)之间线性关系的统计方法。
- 核心思想是找到条直线(或超平面),使得所有数据点到这条线的距离的平方和最小。
1-2 任务类型
分类维度 | 任务类型 | 特点 | 示例 |
---|---|---|---|
按变量数量 | 简单线性回归 | • 一个自变量 • 一个因变量 | 房屋面积预测房价 |
多元线性回归 | • 多个自变量 • 一个因变量 | 用房屋面积、位置、年份等预测房价 | |
按预测目标 | 回归预测 | • 预测连续的数值 | 预测温度、股票价格 |
概率预测 | • 预测事件发生的概率 | 客户购买概率预测 | |
按模型复杂度 | 标准线性回归 | • 无正则化项 • 直接最小化均方误差 | 基础的线性拟合 |
正则化线性回归 | • Ridge回归(L2正则化) • Lasso回归(L1正则化) • 弹性网络(L1+L2正则化) | 处理过拟合问题的高维数据建模 |
1-3 应用场景
- 销售预测
- 房价估算
- 温度预测
- 消费行为分析
- 经济指标预测
- 人口增长预测
1-4 线性回归的正则化模型
特性 | Ridge (L2) | Lasso (L1) | Elastic Net (L1+L2) |
---|---|---|---|
目标函数 | MSE + λΣθ² | MSE + λΣ|θ| | MSE + λ₁Σ|θ| + λ₂Σθ² |
正则项形式 | 平方和惩罚 | 绝对值和惩罚 | 同时包含L1和L2惩罚 |
参数效果 | 参数变小但不为0 | 参数可能变为0 | 两种效果的结合 |
解的特点 | 唯一解 | 可能多个解 | 唯一解 |
2. 逻辑回归算法
2-1 逻辑回归定义
- 逻辑回归是一种广义线性回归,在线性回归的基础上添加非线性变化,使得逻辑回归输出值为离散型。
- 逻辑回归是一种将现行模型与sigmoid函数相结合的分类算法。
- 用于建立特征变量和二分类目标变量之间的非线性关系。
- 核心思想是通过sigmoid函数将现行预测值映射到[0,1]区间。
2-2 数学模型
- 线性部分:z = θ₀ + θ₁x₁ + θ₂x₂ + ... + θₙxₙ = θᵀx
- Sigmoid函数:h(z) = 1 / (1 + e^(-z))
2-3 逻辑回归任务类型
分类
2-4 应用场景
考生成绩预测 雾霾天气预测
2-5 逻辑回归的多分类应用
策略类型 | 原理 | 优点 | 缺点 | 适用场景 |
---|---|---|---|---|
一对多(OvR) One-Vs-Rest | • 将N分类转化为N个二分类 • 每个类别对应一个分类器 | • 实现简单 • 计算效率高 • 训练速度快 | • 存在类别不平衡 • 决策边界可能重叠 | • 类别数较少 • 计算资源有限 |
一对一(OvO) One-Vs-One | • 每两个类别训练一个分类器 • 共N(N-1)/2个分类器 | • 分类器更专注 • 类别平衡性好 | • 分类器数量多 • 计算开销大 | • 类别数适中 • 计算资源充足 |
Softmax回归 | • 直接多分类 • 输出概率分布 | • 原理简单优雅 • 概率解释性强 | • 计算复杂度高 • 收敛较慢 | • 互斥类别 • 需要概率输出 |
2-6 多分类应用:一对多 One-Vs-Rest
分类维度 | 说明 |
---|---|
核心思想 | 将N个类别的多分类问题转化为N个二分类问题 |
实现方式 | 为每个类别训练一个二分类器,将该类别作为正类,其他所有类别作为负类 |
决策规则 | 选择概率最高的分类器作为最终预测结果 |
2-6 多分类应用: 一对一 One-Vs-One
分类维度 | 说明 |
---|---|
核心思想 | 在任意两个类别之间训练一个二分类器 |
分类器数量 | N(N-1)/2个分类器,N为类别数 |
决策方式 | 投票机制或概率综合 |
2-7 多分类应用:Softmax
分类维度 | 说明 |
---|---|
核心思想 | 直接将线性输出转换为多类别概率分布 |
数学本质 | 将logistic回归推广到多分类的情况 |
概率输出 | 所有类别的概率和为1,每个类别概率非负 |
3. 朴素贝叶斯算法
3-1 定义
- 基于贝叶斯定理与特征条件独立假设的分类方法
- 算法本质 基于贝叶斯定理的概率分类算法
- 核心思想 假设特征之间相互独立,计算后验概率
- 基本假设 条件独立假设(朴素假设)
3-2 任务类型
分类
3-3 应用场景
垃圾邮件 舆情分析
4. k近邻算法 (KNN)
4-1 定义
- K近邻即从训练集中找到与新实例最近的K个实例,根据k个实例来进行预测
- 算法本质 基于实例的懒惰学习算法
- 核心思想 物以类聚,通过邻近样本投票决定预测结果
- 基本假设 相似的实例具有相似的特征和标签
- 决策规则 K个最近邻居的多数投票或加权平均
4-2 任务类型
分类 回归
4-3 应用场景
约会匹配 商品推荐
4-4 K近邻算法:距离度量
5. 支持向量机算法 SVM
求使两虚线距离最远的直线就是求解最大边距超平面过程。直线是超平面的二维解释。
5-1 定义
- 核心思想 寻找最优分离超平面,使两类样本间隔最大
- 支持向量 距离分离超平面最近的样本点
- 间隔 支持向量到分离超平面的距离
- 核函数 将低维数据映射到高维空间的函数
5-2 任务类型
5-3 应用场景
心脏病预测 用户窃电识别
5-4 线性可分与线性不可分
5-5 核函数
6. 决策树算法
6-1 定义
- 决策树是一种以树结构形式来表达的预测分析模型
- 基本概念 一种树形结构的监督学习模型,通过一系列规则对数据进行分类或回归
- 组成部分 根节点:起始点;内部节点:决策点;叶节点:结果;分支:决策路径
- 决策过程 从根节点开始,根据特征值进行判断,直到达到叶节点得到结果
- 模型特点 直观可解释、自动特征选择、处理混合数据类型、可处理缺失值
6-2 任务类型
类型 | 说明 | 特点 | 评估指标 |
---|---|---|---|
分类树 | 预测离散类别 | 叶节点表示类别;基尼指数/信息增益分裂 | 准确率;F1分数;AUC-ROC |
回归树 | 预测连续值 | 叶节点表示数值;均方差分裂 | MSE;MAE;R² |
6-3 应用场景
银行贷款 动物识别
6-4 决策树结构
6-4 决策树构建步骤
特征选择方法 | 计算公式 | 特点 | 适用场景 |
---|---|---|---|
信息增益 | IG(D,A) = H(D) - H(D|A) | 偏向多值特征 | ID3算法 |
信息增益比 | IGR(D,A) = IG(D,A)/H(A) | 克服多值特征偏好 | C4.5算法 |
基尼指数 | Gini(D) = 1 - Σ(pi)² | 计算简单高效 | CART算法 |
均方误差 | MSE = Σ(yi - ȳ)²/n | 适用连续值 | 回归树 |
7. 集成算法
类型 | 原理 | 代表算法 | 特点 |
---|---|---|---|
Bagging | 并行集成,随机采样 | Random Forest, Bagging | 降低方差,防过拟合 |
Boosting | 串行集成,迭代提升 | AdaBoost, GBDT, XGBoost | 降低偏差,提高精度 |
Stacking | 多层集成,元学习 | Stacking, Blending | 综合多模型优 |
7-1 Bagging 集成学习算法
7-2 Boosting 集成学习算法
7-3 Stacking 集成学习算法
8. 聚类算法
8-1 聚类
- 聚类是学习任务的一种;
- 聚类属于无监督学习的一种。
9. 机器学习算法的 欠拟合 和 过拟合
9-1 欠拟合(Underfitting)
- 定义:模型太过简单,无法捕捉数据中的基本规律
- 特征:
- 训练误差大
- 测试误差大
- 预测效果差
- 原因:
- 训练样本数量少
- 模型复杂度过低
- 参数还未收敛就停止循环
- 解决办法
- 增加模型复杂度
- 增加有效特征
- 减少正则化强度
9-2 过拟合
- 定义:模型过于复杂,不仅学习了数据的真实规律,还学习了训练数据中的噪声
- 特征:
- 训练误差小
- 测试误差大
- 泛化能力差
- 原因:
- 数据噪声太大
- 特征太多
- 模型太复杂
- 解决办法:
- 清洗数据
- 减少模型参数,降低模型复杂度
- 增加惩罚因子(正则化),保留所有的特征,但是减少参数的大小(magnitude)
9-3 欠拟合与过拟合对比
特征 | 欠拟合 | 适当拟合 | 过拟合 |
---|---|---|---|
模型复杂度 | 过于简单 | 适中 | 过于复杂 |
训练误差 | 大 | 中等 | 小 |
测试误差 | 大 | 中等 | 大 |
偏差 | 高 | 适中 | 低 |
方差 | 低 | 适中 | 高 |
泛化能力 | 差 | 好 | 差 |
9-4 欠拟合与过拟合的预防
-
数据处理:
- 增加训练数据量
- 清理噪声数据
- 特征选择和工程
-
模型选择:
- 选择合适复杂度的模型
- 使用集成学习方法
- 采用交叉验证
-
训练策略:
- 使用正则化技术
- 采用早停法
- 使用dropout等技术(深度学习)
9-5 图示
10. 机器学习中的泛化能力
10-1 机器学习中泛化能力的定义
- 模型在未见过的新数据上的表现能力
- 从训练数据中学到的规律应用到新数据的能力
- 对新样本的预测准确程度
10-2 评估指标
指标类型 | 具体指标 | 说明 |
---|---|---|
准确性指标 | • 准确率<br>• 精确率<br>• 召回率 | 模型预测的正确程度 |
误差指标 | • MSE<br>• MAE<br>• RMSE | 预测值与真实值的偏差 |
稳定性指标 | • 方差<br>• 标准差 | 预测结果的稳定程度 |
10-3 影响泛化能力的关键因素
因素 | 正面影响 | 负面影响 |
---|---|---|
数据量 | 充足的训练数据 | 数据不足 |
数据质量 | 高质量、代表性数据 | 噪声数据、偏差数据 |
模型复杂度 | 适当的复杂度 | 过于简单或复杂 |
特征选择 | 有效特征 | 无关特征、冗余特征 |
训练方法 | 合适的训练策略 | 训练不充分或过度 |
11 正则化
一篇文章完全搞懂正则化(Regularization)-CSDN博客
11-1 正则
- 对模型施加约束或限制
- 使模型更加"规范"或"合理"
- 防止模型"任性"(过度拟合训练数据)
- 新的目标 = 原始目标 + 约束条件
11-2 正则化定义:
- 是指为解决适定性问题或过拟合而加入额外信息的过程。
- 正则项往往被加在目标函数当中。
- 一种防止模型过拟合的技术
- 通过添加惩罚项来控制模型复杂度
- 使模型更简单、更具泛化能力