在507干活的第1天(下)

今天下午的任务是学习理论知识。预期目标是看完“改进神经网络的学习方法“这一章。

下面是总结。


第一部分:交叉熵代价函数

在利用均方误差该函数的时候,如果误差很大,那么一开始的几轮迭代,学习速度很低。随着其越来越接近最终结果,迭代的学习速度变得越来越高。

这很奇怪。

因为人类可以从更大的错误中获取更大的进步,但是这个算法不行。所以还有待改进。

这个问题称为学习减速问题

学习减速问题的根源出在偏导数上。神经网络是通过计算偏导数,再走一步(步长大小和偏导数正相关)来调整权值和偏置的。

但是调整过程中,如果一开始的误差量比较大,那么相应的偏导数如下图所示

会变得很小。

因此,二次代价函数不是一个合适的函数,需要切换为另一个函数。

交叉熵代价函数 其形式为:

通过一系列复杂的计算,我们可以得出一个结论,如果代价函数选择交叉熵代价函数,那么它关于b和关于w的偏导数中,某一项导致学习减速的项被消掉了。因此这个函数解决了学习减速的问题。

另外, 交叉熵代价函数这个形式来源于一个假设。假设代价函数满足


变成如下形式


然后,再对a积分一下,就得到了交数学叉熵代价函数的形式。

而它的实际意义就是对惊讶的测度。(然而并不确定为什么惊讶可以被测量)

当误差比较大的时候,惊讶大,交叉熵大。反之则小。


第二部分:过拟合

神经网络的另一个问题是过拟合。

这个问题描述的是当代价函数不断减小的过程中,分类的准确度在某一个点之后,就停止增加,开始上下波动。但是此时代价函数依然在不断减小(显得我们的模型变得更加优秀)

这个问题的实质是“有大量自由参数的模型能够描述一个足够宽泛的现象。即使这样的模型与现有的数据吻合得很好,这也不能说它是一个好的模型。这仅仅只能说明,有足够自由度的模型基本上可以描述任何给定大小的数据集,但是它并没有真正地洞察到现象背后的本质。这就会导致该模型在现有的数据上表现得很好,但是却不能普及到新的情况上。”

为了减少过拟合所带来的多余的计算量,直观上来说,采取一种比较简单的方法。就是当训练集和测试集的分类准确度都不再增加的时候,就停止进行训练。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值