bp

2018.10.12
在过去两周里,我尝试了bp的实现,采用两层网络,100个迭代100000次,总的误差缩小到0.02左右,基本可以再0-1内拟合y=x^2,在两端的时候拟合的比较差,误差能在10%左右,但在中间的部分,误差基本都在2%以内。另外在训练收敛的时候,最开始训练了几千次,所的参数非常混乱,误差虽然在减小,但是依然比较大,一百个数据的总误差的平方能在4-5。我一度怀疑自己写错了,后来经过指导才发现,是由于训练次数太少,step设置的比较小,收敛的比较慢,越过一个临界点之后会突然下降到原来的百分之几,然后验证的数据大致能够符合我们所训练的那个趋势了,这里我最开始使用的step是0.2,等到损失函数降到0.1以下的时候,将step降到0.01继续训练。
另外我尝试了进行双输入分类的方法进行拟合x2 = x1^2为1的分类方法训练,我用100个(i,i*i)正样本进行训练,和100个(I,0)的数据作为负样本进行训练,如果测试样本模式如我训练的样本,则效果可以接受,但其很快就会出现不收敛了,可能可以通过学习率的值调调整,让它收敛的更好。

bp