BP神经网络
本文章主要是记录BP神经网络的反向求导的具体过程,主要参考是UFLDL Tutoial。
中文版教程请戳此
神经网络
经典的神经网络是由多个感知器(神经元)构成的全连接的网络,本质上来说,这样的连接只是简单的线性加权和而已,所以每个神经元加上同一个非线性函数(如sigmoid,tanh等),使得网络能拟合非线性,其中这个非线性函数成为激活函数。
符号描述
为简便叙述,本文中的神经网络都是最简单的三层神经网络(即单隐层)。
前向传播
a(l)=f(z(l))
z(l)=w(l−1)⋅a(l−1)+b(l−1)
反向传导
假设BPNN的cost function为
J(w,b)=1m∑i=1mJ(w,b;x(i),y(i))其中:J(w,b;x(i),y(i))=12(y(i)−hw,b(x(i)))2
为便于公式推导的理解,此处不加上正则项(并非必需)。
此处我们是要找到最佳的w,b使得 J(w,b) 即cost function的值最小,因此 J 是关于
因为 J(w,b)