人工神经网络算法知识点总结

yipeiwu_com6年前Python基础

人工神经网络的许多算法已在智能信息处理系统中获得广泛采用,尤为突出是是以下4种算法:ART网络、LVQ网络、Kohonen网络Hopfield网络,下面就具体介绍一下这这四种算法:

1.自适应谐振理论(ART)网络

自适应谐振理论(ART)网络具有不同的方案。一个ART-1网络含有两层一个输入层和一个输出层。这两层完全互连,该连接沿着正向(自底向上)和反馈(自顶向下)两个方向进行。

当ART-1网络在工作时,其训练是连续进行的,且包括下列算法步骤:

(1)对于所有输出神经元,如果一个输出神经元的全部警戒权值均置为1,则称为独立神经元,因为它不被指定表示任何模式类型。

(2)给出一个新的输入模式x。

(3)使所有的输出神经元能够参加激发竞争。

(4)从竞争神经元中找到获胜的输出神经元,即这个神经元的x·W值为最大;在开始训练时或不存在更好的输出神经元时,优胜神经元可能是个独立神经元。

(5)检查该输入模式x是否与获胜神经元的警戒矢量V足够相似。

(6)如果r≥p,即存在谐振,则转向步骤(7);否则,使获胜神经元暂时无力进一步竞争,并转向步骤(4),重复这一过程直至不存在更多的有能力的神经元为止。

2.学习矢量量化(LVQ)网络

学习矢量量化(LVQ)网络,它由三层神经元组成,即输入转换层、隐含层和输出层。该网络在输入层与隐含层之间为完全连接,而在隐含层与输出层之间为部分连接,每个输出神经元与隐含神经元的不同组相连接。

最简单的LVQ训练步骤如下:

(1)预置参考矢量初始权值。

(2)供给网络一个训练输入模式。

(3)计算输人模式与每个参考矢量间的Euclidean距离。

(4)更新最接近输入模式的参考矢量(即获胜隐含神经元的参考矢量)的权值。如果获胜隐含神经元以输入模式一样的类属于连接至输出神经元的缓冲器,那么参考矢量应更接近输入模式。否则,参考矢量就离开输人模式。

(5)转至步骤(2),以某个新的训练输入模式重复本过程,直至全部训练模式被正确地分类或者满足某个终止准则为止。

3.Kohonen网络

Kohonen网络或自组织特征映射网络含有两层,一个输入缓冲层用于接收输入模式,另一个为输出层,输出层的神经元一般按正则二维阵列排列,每个输出神经元连接至所有输入神经元。连接权值形成与已知输出神经元相连的参考矢量的分量。

训练一个Kohonen网络包含下列步骤:

(1)对所有输出神经元的参考矢量预置小的随机初值。

(2)供给网络一个训练输入模式。

(3)确定获胜的输出神经元,即参考矢量最接近输入模式的神经元。参考矢量与输入矢量间的Euclidean距离通常被用作距离测量。

(4)更新获胜神经元的参考矢量及其近邻参考矢量。这些参考矢量(被引至)更接近输入矢量。对于获胜参考矢量,其调整是最大的,而对于离得更远的神经元,减少调整个神经元邻域的大小随着训练的进行而相对减小,到训练结束,只有获胜神经元的参考矢量被调整。

4.Hopfield网络

Hopfield网络是一种典型的递归网络,这种网络通常只接受二进制输入(0或1)以及双极输入(+1或-1)。它含有一个单层神经元,每个神经元与所有其他神经元连接,形成递归结构。

相关文章

Python连接phoenix的方法示例

本文实例讲述了Python连接phoenix的方法。分享给大家供大家参考,具体如下: phoenix是由saleforce.com开源的一个项目,后又捐给了Apache。它相当于一个Ja...

为什么你还不懂得怎么使用Python协程

前言 从语法上来看,协程和生成器类似,都是定义体中包含yield关键字的函数。 yield在协程中的用法: 在协程中yield通常出现在表达式的右边,例如:datum = yiel...

对python 自定义协议的方法详解

前面说到最近在写python的一些东西,然后和另外一位小伙伴定义了协议,然后昨天我有一部分东西没理解对,昨天上午我自己重写了一遍接收和发送的全部逻辑,昨天下午补了压力测试的脚本,自测没问...

用python wxpy管理微信公众号并利用微信获取自己的开源数据

用python wxpy管理微信公众号并利用微信获取自己的开源数据

之前了解到itchat 乃至于 wxpy时 是利用tuling聊天机器人的接口。调用接口并保存双方的问答结果可以作为自己的问答词库的一个数据库累计。这些数据可以用于自己训练。 而最近希望...

在Linux命令行终端中使用python的简单方法(推荐)

在Linux命令行终端中使用python的简单方法(推荐)

Linux终端中的操作均是使用命令行来进行的。因此,对于小白来说,熟记几个基本的命令行和使用方法能够较快的在Linux命令行环境中将python用起来。 打开命令行窗口 打开命令行窗口的...