《Python大规模机器学习》 —2.4.4流测试和验证

举报
华章计算机 发表于 2020/02/14 22:00:01 2020/02/14
【摘要】 本节书摘来自华章计算机《Python大规模机器学习》 一书中第2章,第2.4.4节,作者是[荷]巴斯蒂安·贾丁(Bastiaan Sjardin)[意]卢卡·马萨罗(Luca Massaron)[意]阿尔贝托·博斯凯蒂(Alberto Boschetti),王贵财 刘春明 译。

2.4.4流测试和验证

介绍SGD之后我们没有演示完整训练示例,因为我们需要介绍如何在流中测试和验证。使用批量学习、测试和交叉验证就是一个使观察顺序随机化的问题,从而将数据集切割成很多片,并以精确的数据片作为测试集,或系统地依次输入所有数据片来测试算法的学习能力。

流不能保持在内存中,所以在后续实例已经随机化的情况下,最好的解决办法是在数据流被展开一小段时间后获取验证实例,或者在数据流中系统地使用精确的可复制模式。

流的部分抽样方法实际上与测试样本相当,并且只有在事先知道流的长度的情况下才能成功完成。对于连续流,这仍然可能,但意味着一旦测试实例开始肯定会停止学习。这种方法称为每n次的周期保持策略。

使用系统的和可复制的验证实例抽样可实现交叉验证类型的方法。在定义起始缓冲区后,每隔n次挑选一个实例进行验证,这种实例不用于训练而是用于测试目的,这种方法称为每n次定期保持策略。

由于验证是在单个实例基础上完成的,因此使用k个度量的最新集合,并对到目前为止在相同数据传递中或以类似窗口的方式所收集到的所有错误度量结果进行平均,来计算全局性能度量结果,其中k为某些最具代表性的测试。

事实上,在第一次传递过程中,实际上学习算法无法看见所有实例。因此,最好算法一边接收要学习的实例,一边被测试,这样可以在学习前验证其对观察的响应,这种方法称为渐进式验证。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。