神经网络

来源:互联网 发布:c语言gets函数 编辑:程序博客网 时间:2024/05/02 21:03
关于神经网络,不太敢写,因为神经网络的类型太多,自己所知也甚少。最多只能讲几个工程常用的。


神经网络的基本原理:模拟人类大脑中神经元的工作原理,即神经元有两种状态,兴奋/抑制,一个神经元会接受到前端很多神经元通过轴突出来的信号,这些信号汇总后如果强度足够,将会引起该神经元的兴奋。将很多个这样的神经元按层分布并进行连接即组成了一个神经网络。
人工神经网络通过用一种激活函数模拟神经元的兴奋,用连接权值模拟轴突的信号传递量,将所有信号量线性加权后,输入该神经元的激活函数,便得到该神经元的一个输出。
下面介绍几个常用的神经网络


BP神经网络:
是一个比较通用的神经网络,BP即误差反向传播(Back-Propogation)。该神经网络的主要思想即输入数据首先通过一层一层的神经元,得到神经网络的输出数据,将其与实际数据进行比较得到一个误差Err,并认为该误差是由于神经元传播时的权值误差导致,因此将Err对权值进行调整,最简单的就是通过误差对权值进行偏微分得到权值的调整量,从输出层开始一层一层往前端传递调整权值直到输入层,具体推导略过。显然这种方法会导致误差信号往前端传递之后越来越微弱,因此深度神经网络摒弃了这种过程,而直接在输出端训练,对前端的层采用输入信号的特征逐步归纳法。将大量的输入和输出放在神经网络的前后端,不断的调整权值,即可得到黑箱系统的近似表示。

如果只从表面看,无非就是对输入输出的不断模拟进行逼近。然而仔细推敲,神经网络是运用了非线性函数对数据的拟合能力,将系统黑箱映射到非线性函数表达的范围内进行处理,再用线性拟合方法得到系统的近似表达。



RBF神经网络


基于径向基函数的神经网络,每个神经元的激活函数为径向基函数。即该函数只对某一中心里面一定半径距离内的输入有兴奋作用。该函数最大的优点就是对局部极值的逼近能力强,而且训练快。相对RBF,BP神经网络是一种寻找系统全局最优极值(即误差达到最小值)的方式来进行训练,因此BP网络的学习效率L和惯性M和所需达到的误差率V,需要不断调整,否则容易发生震荡,不收敛或者过拟合现象!一些改进的神经网络训练方法有对参数进行退化。

而RBF神经网络只需给定神经元的中心和半径即可,因为RBF的处理局部极值能力强,因此对输入样本呈明显聚类特性的系统效果较好。而中心和半径的确定可以通过聚类和估计方法获得(Weka里面就是这样做的),最后只需调整RBF神经元与输出之间的线性权值即可。
当然可以通过类似BP的方法,不断训练数据得到中心和半径。


SOM网络
自组织映射神经网络,用于非监督学习。
一种竞争-抑制机制的网络,主要思想是:同一层神经元之间具有信息交互机制而彼此竞争,输出较大的神经元获胜输出,其他神经元受抑制不产生输出(或者通过交互作用进行反向调整)。其神经元连接权值调整思想采用正反馈机制,(也可以说是马太效应)。对于神经元输出较大者,按输入矢量方向正向调节其前端连接权值,以使得下次遇到同样输入后能获得的输出更大。而输出较小者,按输入矢量方向反向调节其前端连接权值,使得下次遇到同样输入时输出更小。当然此处说的正向和反向是相对的,因为有些权值调整方法都按照反向调整,只不过大小不一样,再此不累述。
因此基于这样的原理,对于一大批数据,输出神经元便会呈现聚类特性。根据上面BP神经网络所述原理,SOM网络也是将系统映射到非线性空间,输入样本在该空间下具有一定的方向,当SOM遇到多个方向相同的输入样本时,某个神经元会对这些样本产生兴奋,而其他神经元则收到抑制。


神经网络结构多样,以上三种是最常见的。




杭州趋数网络科技有限公司   数据挖掘/数据分析师 花京华
0 0
原创粉丝点击