看完Adreaw NG的深度学习第一课后,想着自己用python来实现一个全连接多层神经网络,但在实现的过程中,由于对从0开始计数等不太能想象,发现index很烦,就自己拿出一张纸来写出过程给自己冷静冷静,通过给参数W,b,中间变量A, Z等数据结构添加了一个0变量后使得他们与神经网络的层数对齐后,然后所有的问题都迎刃而解了!所以以后写代码还是先拿出笔纸来列个提纲后确定了之后再开始写代码吧。。。
不多说了,上图解:(基于二分类logistics regression cost function的梯度下降反向传播推导出来的算法,推导过程这里省略了)
我的实现代码见我的GitHub:Interesting6
实验效果:
分类边界图:
用了两个隐藏层,以tanh为隐藏层激活函数,sigmoid为输出层激活函数,可以看到分类的效果还是不错的。