机器学习工作流程

文章目录

  • 如何思考机器学习问题 + 机器学习工作流程:
    • 一、构建机器学习问题
            • 1. 识别相关的重要人物
            • 2. 选择正确的性能指标
            • 3. 是否真的需要机器学习方法
            • 4. 数据需要什么
            • 5. 使用的评价指标是什么
    • 二、有关数据的挑战
            • 1. 实验性数据分析(exploratory data analysis):
            • 2. 机器学习算法对domain shift敏感
            • 3. 交叉验证:评估模型泛化能力的一系列方法
            • 4. 过拟合
            • 5. bias-variance折衷:
    • 三、模型测试
            • 1. 模型选择
            • 2. 错误分析

如何思考机器学习问题 + 机器学习工作流程:

机器学习有关于问题设置的选择,识别客户需求和长期目标。

一、构建机器学习问题

1. 识别相关的重要人物
  • 客户
  • UI设计师
2. 选择正确的性能指标
  • 商业指标
  • 机器学习指标
    • 好的机器学习指标不一定是好的商业指标
    • 混淆矩阵
    • accuracy(分类指标)
    • recall(查全率)
    • precision(查准率)
    • IoU
3. 是否真的需要机器学习方法
4. 数据需要什么
  • 自己获取数据
  • 使用公开数据集
  • 记住你的目标和你的算法应用场景
  • domain gap:在一个数据集训练很好的算法在另一个却不能用。数据集分布之间的不同。
5. 使用的评价指标是什么
  • 模型性能并不总是首要的,比如推理时间(模型输出预测结果的时间)有时候更重要

二、有关数据的挑战

1. 实验性数据分析(exploratory data analysis):

分析新数据并提取机器学习问题相关信息的过程是至关重要的,可以了解数据集并发现潜在的挑战

2. 机器学习算法对domain shift敏感
  • 天气/光照条件
  • 传感器不同
  • 环境(车流量大小)
3. 交叉验证:评估模型泛化能力的一系列方法
  • 使用验证集评估比较模型性能、选择模型参数
  • 测试集:交叉验证结束之后再使用
  • 小心数据泄露:训练数据流入验证数据
  • LOO(Leave One Out) or k-fold(深度学习不怎么用)
4. 过拟合
  • 失去了泛化能力
  • 模型过于复杂
  • 模型开始学习噪音而不是有意义的特征
  • 使用训练数据与测试数据
5. bias-variance折衷:

创建高性能机器学习模型并保证对新数据的泛化能力。
一般很难创建平衡模型,我们希望 l o w V a r low Var lowVar l o w B i a s low Bias lowBias,但是 l o w B i a s low Bias lowBias 会导致 h i g h V a r high Var highVar(过拟合)。

  • T e s t E r r o r TestError TestError(在测试数据上的错误率)= V a r Var Var + B i a s Bias Bias + ϵ \epsilon ϵ
  • V a r i a n c e Variance Variance: 对训练数据的敏感度(如果改变数据,我们模型的错误率会改变多少;泛化好就低)
  • B i a s Bias Bias: 拟合的质量(给定训练数据,我们的模型有多好)

三、模型测试

1. 模型选择
  • 建立baseline:为了更好了解模型质量
    • 上限(最高性能期待):人类的水平预测结果
    • 下限(最低期待性能):算法随机预测的结果
      • 如果低于下限,看看是不是有什么问题
  • 选择模型(动态的,需要多次迭代)
    • 从简单模型开始逐渐增加复杂度
    • 选择模型——训练集训练模型——验证集验证模型——选择模型(循环)
      • 不要改变训练、验证数据
      • 如果增加了数据则从简单模型开始重新循环
2. 错误分析
  • 了解模型的局限性
  • 通过loss function value、accuracy和其他指标进行分析
  • 根据loss分类数据进行分析
  • 发现错误数据中的pattern

你可能感兴趣的:(机器学习,人工智能,深度学习)