您的位置:首页 > 理论基础 > 计算机网络

学习了《神经网络模型及其matlab仿真程序设计》总结思考

2013-10-29 22:06 260 查看
在详细学习了《神经网络模型及其matlab仿真程序设计》后,看了几遍,做了两遍,共计二十多页的A4纸正反面的学习笔记。第一遍详细学校网络原理;第二遍总结思考。之后写了一些感悟于斯。

感觉本书是一种入门级别的书;书中介绍了神经网络模型的发展从感知器,到线性,到BP,到径向基,到竞争,到自组织,到hopfield。最初感知器,BP网络模型的介绍详细,训练过程叙述清晰,算法分析比较透彻;后期一些复杂网络只是简单的介绍了一些机理,了解其大致的思路。

此外matlab程序验证部分,程序验证简单,数据量小;有些程序运行结果和书中给出的结果相差很大。粗略比较各个改进算法的收敛时间和速度,其中杂BP网络的对比中,在函数逼近拟合中,算法不同对于结果的收敛性有很大的影响。首先,传统的梯度下降算法,感觉很不好,收敛速度慢,而且在多次迭代后达不到要求的精度;其次,学习率对于算法的收敛速度有很大的影响,在变学习率算法中,动量算法和梯度算法收敛速度有了很大的提高。再次,二阶的拟牛顿算法有着惊人的收敛速度,充分说明算法机理的不同,对于结果有很大的影响。处理少的算法,例如梯度算法等,需要内存少,但是迭代次数很多;处理多的算法,如变梯度,PROP,拟牛顿,lm等算法,每次迭代都需要,搜索计算,需要较大的内存空间,但是收敛速度很快。说明,简单直接就得很累,而且结果不一定好;三思而后行,则步步为营。

在有导师学习算法中,线性和BP等都是运用近点的权值和输入向量运算后再喝阈值结合,通过相应的函数,例如purelin,S型函数等运算输出,之后采用批量误差函数mse,来达到误差最小的目的。

在径向基网络,通过输入向量和权值向量欧式距离的方式计算结合的方式,来及融合权值和输入向量的计算,之后通过特别的径向基函数,来计算输出向量a;之后再通过线性层输出最终结果。

竞争神经网络,是一种无监督的学习方式,通过距离和阈值的和,来竞争,获胜的神经元得到训练的机会,是相同的输入向量能偶获胜。迭代多次后,每个神经网络的权值接近某一类输入向量值。为了避免Kohonen学习规则的“死神经元”问题,阈值良心学习方式则显得很人性化,有些类似退火原理,是数据得到充分利用。

自组织神经网络模型,通过调整临近神经元的权值,使神经元的拓扑结构和输入向量的分布特征相同。其分为连接段的学习方式,先粗后细,值得学习。

LVQ1网络模型,学习向量化学习,之一种有导师的学习方法。对于每一组输入向量,通过距离的方式,是隐层神经元竞争;竞争结果通过第二层网络与目标向量比对,结果相同则,反响调整IW某行的权值,是隐层的神经元落入相应模式的输入向量中。

反馈型神经网络,hopfield网络没看明白。后续在研究。

最后感觉这本书不怎么地;后面的函数介绍部分,没啥用,只是为了凑页数,列举了一大堆的函数,介绍粗糙,不详细。程序仿真太简单,有些程序得不到预期结果,例如在滤波,自组织网络分类等。

问题:

Lm算法原理。应为这个算法真nb,收敛速度太快了。

神经元,神经网络其计算的数学解释,这样模拟生物神经元的数学解释是啥,是否合理?

通过距离和权值加权的两种方式的区别,都有什么利弊?

收获:

神经网络的非线性是通过神经元个数和非限制传输函数来实现的。

其反馈学习的方式很好,迭代调整,学习。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: