“机器学习通用工作流程”
@ 归零 | 星期一,六月 10 日,2019 年 | 1 分钟阅读 | 更新于 星期一,六月 10 日,2019 年

机器学习的通用工作流程总结为如下几个步骤:

1. 定义问题,收集数据集

首先我们必须先定义多面对的问题。

  1. 输入的数据是什么?你要预测什么?
  2. 你面对的是什么类型的问题?二分类问题、多分类问题、标量回归问题
    向量回归问题还是其他问题,确定问题类型,有助于选择模型架构,损失函数。
    同时做出如下假设
  • 假设输出可以根据输入进行预测
  • 假设可用数据包含足够多的信息,足以学习输入和输出之间的关系

2. 选择衡量成功的指标

要控制一件事物,就需要能够观察它。要取得成功,就必须给出成功的定义:精度?准确率和召回率,客户保留率?衡量成功的指标将指引你选择损失函数,即模型要优化什么。 对于平衡分类问题,精度和接受者操作特征曲线下面积是常用指标。对于类别不平衡问题,可以使用准确率和召回率。对于排序和多标签分类问题,可以使用平均准确率和召回率。也可以自定义衡量成功的标准。

3. 确定评估方法

一旦明确了目标,必须确定如何衡量当前的进展,以下三种常见的评估方法:

  1. 留出验证集,数据量很大时可以使用这种方法。
  2. K折交叉验证, 如果留出验证的样本太少,无法保证可靠性,可以选择这种方法。
  3. 重复的K折验证,如果可用的数据很少,同时模型评估有需要非常准确,那么应该使用这种方法。
    只需选择以上三种之一即可。

4. 准备数据

一旦知道了要训练什么,要优化什么以及评估方法,那么就已经准备好训练模型了。但首先应该将数据格式化,使其可以输入到机器学习模型中。

  1. 将数据格式化为张量
  2. 这些张量的取值通常应该缩放为较小的值,比如在【-1, 1】区间或者【0, 1】
  3. 如果不同的特征具有不同的取值范围,那么应该做数据标准化。
  4. 可能需要做特征工程, 尤其对于小数据集
    准备好数据数据和目标数据的张量后,就可以开始训练模型了。

5. 开发比基准更好的模型

这一阶段的目标是获得统计功效,即开发一个小型模型,可以打败纯随机的基准。注意,不一定总能获得统计功效,如果尝试多种合理的架构之后仍然无法打败随机基准,那么可能问题的答案并不在输入数据中, 也就是前面的两个假设成立。 这些假设可能是错误的,这样的话需要重新开始,
如果一切都顺利,需要选择三个关键参数来构建第一个工作模型。

  1. 最后一层的激活函数
  2. 损失函数,损失函数应该匹配要解决的问题类型。
  3. 优化配置,你要使用那种优化器?学习率是多少? 大多数情况下,rmsprop及其默认的学习率是稳妥 的。

6. 扩大模型规模,开发过拟合的模型

一旦得到了具有统计功效的模型,问题就变成了模型是否足够强大?他是否具有足够多的层和参数来对问题进行建模?
通过:

  1. 添加更多的层
  2. 让每一层变得更大
  3. 训练更多的轮次
    来得到过拟合的模型。
    要始终监控训练损失和验证损失,以及你所关心的指标的训练值和验证值。如果你发现模型在验证数据上的性能开始下降,那么就出现了过拟合。

7. 模型正则化与调节超参数

这一步是最费时间的,你将不断的调节模型,在验证数据上评估,再次调节模型,然后重复这一过程。直到模型达到最佳性能。应该尝试以下:

  1. 添加dropout
  2. 尝试不同架构,增加或减少层数
  3. 添加L1或L2正则化
  4. 尝试不同的超参数(比如美称的单元数或优化器的学习率),以找到最佳配置
  5. (可选)反复做特征工程,添加新特性或删除美后信息的特征

© 2014 - 2022 Lionel's Blog

Powered by Hugo with theme Dream.