|
|
51CTO旗下网站
|
|
移动端

2.10 使用正则化技术提高泛化能力

《Python深度学习实战:75个有关神经网络建模、强化学习与迁移学习的解决方案》第2章前馈神经网络,本章的重点是为FNN 和其他网络拓扑的常见实现问题提供解决方案。本章讨论的技术也适用于后续内容。本节为大家介绍使用正则化技术提高泛化能力。

作者:程国建/周冠武 译来源:机械工业出版社|2018-08-30 19:10

【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》

2.10 使用正则化技术提高泛化能力

过度训练数据是机器学习***的挑战之一。有许多机器学习算法能够通过记忆所有的情况来对训练数据进行训练。在这种情况下,该算法可能无法泛化并对新数据做出正确的预测。这对于深度学习来说是一个特别大的威胁,其中神经网络具有大量的可训练参数。因此,创建一个具有代表性的验证集是非常重要的。

在深度学习中,解决新问题的一般建议是先尽可能地过拟合训练数据。这可以确保模型能够对训练数据进行训练并且足够复杂。之后,应该尽可能地调整,以确保该模型能够泛化未经验证的数据(验证集)。

大多数用于防止过拟合的技术都可以置于正则化之下。正则化包括机器学习中的所有技术,明确地减少测试(因泛化)误差,有时以较高的训练误差为代价。这样的技术可以是对参数空间加以限制的形式。假设一个具有较小权重的模型比一个具有较大权重的模型更简单。在下面的方案中,将应用L1 正则化来防止模型过拟合。

如何去做…

1)首先,导入所需的函数库:

2)导入数据并提取特征:

3)标准化数值数据:

4)分割数据集进行训练、验证和测试:

5)定义网络体系结构:

6)在训练数据上训练网络体系结构并使用验证集:


7)绘制训练过程和验证损失图例,如图2-16 所示。

8)绘制最小损失图例,以及在多少个周期后达到了这个最小值:

9)用L2 正则化定义网络体系结构:

10)训练调整后的网络:

11)绘制出结果:

得到如图2.17 所示结果。

12)输出显示正则化模型的统计数据:

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书会第9群:808517103

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

289人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

Java编程思想 第4版

本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、Java I...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客