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

2.8 调整损失函数

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

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

2.8 调整损失函数

对监督学习问题,在训练一个神经网络时,其目标是最小化损失函数。损失函数(也称为误差函数、成本函数或优化函数)将预测结果与正向传播期间的基本事实进行比较。这个损失函数的输出用于优化反向传播期间的权重。因此,损失函数在训练网络中至关重要。通过设置正确的损失函数,使网络针对期望的预测进行优化。例如,对于不平衡的数据集,需要一个不同的损失函数。

在以前的方案中,使用均方误差(MSE)和分类交叉熵作为损失函数,以及其他常用的损失函数,另一种是选择创建自定义损失函数。自定义损失函数可以优化到所需的输出。当实施生成对抗网络(GAN)时,这将变得更加重要。在下面的方案中,将训练分为有调整权重和无调整权重的网络体系结构,按此来计算不平衡类别的损失函数。

如何去做…

1)用下面的代码导入函数库:

2)导入MNIST 数据集并创建一个9s 和4s 的不平衡数据集:

3)标准化和扁平化数据:

4)将目标转换为二进制分类问题并输出显示计数:

5)定义网络体系结构并编译:

6)创建一个回调函数来使用早停法:

7)定义每个类的损失权重:

8)对两个类训练相同权重的模型:

9)在测试集上进行测试并输出混淆矩阵:

10)接下来,用不平衡的权重训练,并在测试集上进行测试:

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

51CTO读书频道二维码


51CTO读书会第9群:808517103

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

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

读 书 +更多

软件工程:实践者的研究方法

20多年以来,《软件工程:实践者的研究方法》一书是最受学生和行业专业人员欢迎的软件工程指南。它在全面而系统、概括而清晰地介绍软件工程...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊