首页 » 信息技术 »

cost还在降低,accuracy不一定稳步走高...

2018年12月13日 / 121次阅读

overfiiting是一个有点费解的现象,命名cost还在降低,但是在测试集上的accuracy已经不再稳步走高了...

其实也很好理解:

我们用训练集数据进行学习,神经网络在学习的过程中,就是不断的在调整参数,让其输出与正确的输出对应。在空间中想象这个过程,就像是一条初始随机的曲线,在不断地向正确的数据点去靠拢,将所有的这些训练数据集上的点都串联起来,即所谓的一个拟合的过程。所以,在学习的过程中,训练数据集上的准确率提高的很快,测试数据集上的准确率会慢一点点。

而当准确率在训练数据集上可能已经100%的时候,在测试数据集上还有提升空间。这时 ,cost还在不断降低。要理解cost还在降低,需要关注神经网络的output layer的输出。如果是sigmoid,我们认为值最大的那个是网络的判断,但是值最大,可以是0.5,0.6,0.8.....也许在0.5为最大的时候,网络就已经正确,继续学习只是让0.5编程了0.8,准确率没有提升,但是cost还在走低。如果是softmax,也是一样的道理让cost继续走低。

当到了在测试集上accuracy不能提高的阶段,cost还是会因为以上所述的原因而继续降低,不过,这个时候可能已经进入了overfitting阶段。

如果在overfitting的时候,继续训练网络,可能会导致网络更好的拟合训练数据,这种更好的拟合训练数据,不一定带来更好的一般性,反而有可能让网络变得越来越敏感(这里,我说可能,确实是看很多资料,都说不能完全很好的证明)。敏感的含义是w变得很大,导致输入的一点点小变化就会引起neuron输出的变化,因此weight decay(L2 regularization)技术的出现,就是在学习的过程中适当的减小w的值(靠近0是小,远离0是大,无关乎正负符号),减轻网络的“过敏症”,一遍其具有更好的一般性。

 

因此,训练数据的量很重要,量越大,说明训练数据覆盖的各种细分情况更充分,让神经网络能够学到更多,进而提高准确率。记得以前看到过一本书上提到,现在大数据,就是所有的数据,这样训练的网络就是无死角全覆盖地学习,准确率会很高的。

本文链接:https://www.maixj.net/ict/cost-accuracy-19527

相关文章

留言区

《cost还在降低,accuracy不一定稳步走高...》有1条留言

  • 麦新杰

    为什么神经网络敏感不好:我们可以想象一下,你用笔在纸上写个数字5,你每一次写,都一定会有一点点偏差,有的大一点,有的小一点,有的上面那一横稍微长一点,有的有稍微短一点,一定是这样;如果训练出来的神经网络对这种细微的偏差太在意,能会导致识别出现错误。神经网络不是人的眼睛,是一个纯数学模型,不具有形象思维能力。 []


前一篇:
后一篇:

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top