Neural Networks神经网络个人小结与MATLAB实现

来源:互联网 发布:淘宝店铺粉丝怎么刷 编辑:程序博客网 时间:2024/06/04 18:55

Neural Networks,神经网络,我的理解是:与阶梯下降算法中的分类算法类似,分类算法是从输入到输出只经过一层的模型,模型的选择很大程度决定了算法的效果,而神经网络,通过对第一层参数进行多次传递,也许参数会形成类如平方,次方的效果,让神经网络来选择参数的模型。


定义:

a(1)代表第一层输入,a(2),a(3)类似。图例中a(4)即为Y.

s(1)代表第一层的神经元个数(不包括bios unit恒1神经元)

theta(1)代表第一层的参数,其矩阵为s(2) * (s(1) +1)

z(1)代表theta(1)*a(1),则  a(2) =  g(z(1));

如此从左到右即可算出a(4)(即Y)。

机器学习的关键还是在于:代价函数J(θ)和代价函数对θ的求导∂J/∂θj。

神经网络如何求的呢?这里引入一个算法Backpropagation algorithm反向传播算法,


反向传播算法:

定义:

delta(4)代表第四层“节点差距”图例中易知delta(4) = y - a(4);,

从后往前计算:delta(3) =  theta(3)  *  delta(4) .* g'(z(3));其中从数学角度可知g'(z(3)) = a(3).*(1- a(3))

具体算法:(图片来至Andrew Ng)δ



δ


δAndrew Ngδ


δδAndrew Ng


δ

δ

δ

δ

δ

阅读全文
0 0