机器学习笔记(14)—工作流程

本文主要介绍机器学习的流程以及K折验证方法和ROC曲线评价方法。

1.流程

1.1定义问题

首先你要确定,你需要解决的问题。确定输入数据的类型,明确需要预测的分类(二分类、多分类、标量回归、向量回归、聚类等等)。明确输入输出之后确定目标函数。在开发出模型之前,这些都只是假设,等待验证。比如你收集了包含输出X和目标Y的很多样例,并不意味着X包含足够多的信息来预测Y。例如非平稳问题,假设你想要构建一个服装推荐引擎,并在一个月(八月)的数据上训练,然后在冬天开始生成推荐结果。一个大问题是,人们购买服装的种类是随着季节变化的,即服装购买在几个月的尺度上是一个非平稳现象。你想要建模的对象随着时间推移而改变。在这种情况下,正确的做法是不断地利用最新数据重新训练模型,或者在一个问题是平稳的时间尺度上收集数据。对于服装购买这种周期性问题,几年的数据足以捕捉到季节性变化。

1.2确定衡量指标以及评估方法

衡量指标会指导你选择损失函数,即模型要优化的参数。对于平衡分类问题(每个类别的可能性相同),精度和接收者操作特征曲线下面积(area under the receiver operating characteristic curve,ROC AUC)是常用的指标。对于类别不平衡的问题,你可以使用准确率和召回率。对于排序问题或多标签分类,你可以使用平均准确率均值(mean average precision)。
常见的评估方法主要有使用验证集(适合大数据集)、K折交叉验证(适合小数据集)

1.3准备数据

当完成上面的过程之后,就是准备训练网络了。首先要把数据格式化为张量,使其适应网络模型。张量的值通常应该缩放为[-1,1]或者[0,1]之间。

1.4开发过拟合模型

要搞清楚你需要多大的模型,就必须开发一个过拟合的模型
(1) 添加更多的层。
(2) 让每一层变得更大。
(3) 训练更多的轮次。
要始终监控训练损失和验证损失,以及你所关心的指标的训练值和验证值。如果你发现模
型在验证数据上的性能开始下降,那么就出现了过拟合。
下一阶段将开始正则化和调节模型,以便尽可能地接近理想模型,既不过拟合也不欠拟合。

1.5正则化和超参数

不断地调节模型、训练、在验证数据上评估(这里不是测试数据)、再次调节模型,然后重复这一过程,直到模型达到最佳性能。
添加 dropout。
尝试不同的架构:增加或减少层数。
添加L1 或 L2正则化。
尝试不同的超参数(比如每层的单元个数或优化器的学习率),以找到最佳配置。

2.验证方法

2.1K折验证

将可用数据划分为K个分区(K通常取4或5),实例化K 个相同的模型,将每个模型在K-1个分区上训练,并在剩下的一个分区上进行评估。模型的验证分数等于K个验证分数的平均值。
在这里插入图片描述

2.2ROC曲线

ROC分析的是二元分类模型,二元分类模型的预测结果有四种情况。
1.真阳性(TP):预测结果为真,实际为真
2.假阳性(FP):预测结果为真,实际为假
3.真阴性(TN):预测结果为假,实际为假
4.假阴性(FN):预测结果为假,实际为真
ROC曲线把假阳性概率(FPR)定义为横轴,真阳性概率(TPR)定义为纵轴。其中:
在这里插入图片描述
AUC是指在坐标系中的以TPR和FPR为数据集的店连成的曲线以下的面积,AUC的值越大,分类器的准确率越高。下图分别展示了AUC为1、0.7、0.5的情况。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值