神经网络学习小结

来源:互联网 发布:手机全能恢复软件 编辑:程序博客网 时间:2024/06/08 13:23

  终于答辩通过了,等着拿学位。这几天把2年来看过的知识再整理下。浅薄的很,错误之出大家指出来啊。

  几乎是0起点学习,一遍补充数学知识,一边学习新知识。看的书主要是冈萨雷斯的数字图像处理,模式识别的书没系统的看过,后来看的就是戴葵翻译的神经网络设计,支持向量机看了点时间,没看懂。另外也用了下matlab,opencv,不过真正的算法实现还是自己用c#写的,当时是为了更好的理解这些算法。不过因此花了很多时间。不知道得失几何?

  数字图像处理和神经网络设计都是两本写的不错的书。不过书上介绍的都是比较成熟的知识,从看书到看论文还是有一个很大的距离的。从看论文到能把握研究领域的热点和方向就更难了。。。

  神经网络设计留下14,15,16三章没看。我主要用的是Hopfield网络。

  神经网络的基本是神经元,一个神经元可以表示为

  A=f(WP+B),大写代表向量。f是不同的传输函数,可以看做对网络的计算结果做一个修正。比如>0都

  多个这样的神经元连接起来就构成了神经网络,这些神经元可以是并联或者串联,并联。不过就我的知识而言,还看到很多的神经元构成的网络。像Hopfield网络它的结构基本是死的。甚至做成了固件。多层神经网络应该更一般化,更有发展潜力。

  神经源的权值W和偏置B决定了网络的输出。如果W和B是参数,那就叫程序设计了。神经网络的强处就是在于W和B从样本中学习得到,这个学习过程叫做训练。根据输入样本不断调整W和B 。调整W和B的方法很多,因此就有了学习规则,和不同的网络,如感知机的学习规则是

Wnew=Wold+ePT,Bnew=Bold+e。e=(t-a),不断的输入P,就可以得到我们想要的W,B。另外还有Hebb规则,Wnew=Wold+tPT,注意这里的t和P的关系变了。感知机中有训练过程,t是每次的网络输出,Hopfield网络中,实际上是没有训练过程的。输入被作为标准模式直接产生W。至于输出,则通过一个递归来到达某个稳态,因为很容易进入假稳态。递归层不同的算法,也产生一些不同的网络名称。如果是多层的网络,W和B就没有这么简单了。比如BP网络。

  训练W和B什么时候结束,也有不同的算法,Hopfield是直接计算,没有迭代过程的。感知机则是到W和B没有新的调整为止--所有模式都被正确分类(所以,很容易问的问题是如果一直变怎么办?)。在ADALINE网络中,训练的结束条件是(输出-输入)的LMS最小。ADALINE的规则和感知机很类似,只是原理上ADALINE深入一些。结束条件是e的极小值,分类边界比感知机更好。

  最后f的不同形式也被不同的网络采用。总的来说。权值的训练算法形式是差不多的。关键是背后的理论依据差别很大。

  下面来看下BP网络,BP网络其实是MLP网络,采用的BP算法,BP算法是LMS的一般化。但是比ADALINE网络中复杂多了。因为ADALINE网络是单层的。有两点很重要:1.多层网络,2.传递函数f不是线性函数。因此误差不是隐层的显式函数。性能指数虽然和ADALINE一样,F (X)=E[e2]. 问题也一样,如何使F达到最小,采用的方法也一样,最速下降法。e是权值的函数。

  但是F(X)是输出的函数(书本上说是输入,我琢磨着应该是输出p203,还没看的很明白),输出是权值的函数。所以。。最后整出个敏感性矩阵Sm,这个Sm必须从S1开始求。也就是第一层开始求,所以叫做反向传播。这个就是一个很网络结构有关系的东西。BP前面的都和网络结构无关(结构本身简单)。

   综上所诉:从A=f(WP+B)开始,展开了很多的研究。但是所有上面的内容,网络结构本身是不变的。输入是规范的。

  现在看来Hopfield网络,ADALINE,感知器都是结构简单的网络。MLP才是比较复杂的。

  待续。

 

原创粉丝点击