感知机学习算法模拟与改进

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2009年第10期算法语言信息与电脑

China Computer&Communication

一、感知机学习规则

感知机采用有导师的学习规则,由一组描述网络行为的实例集合

(训练集)给出:

其中,P为网络的输入,t为相应的正确输出。当输入作用到网络

时,网络的实际输出与目标相比较,然后学习规则调整网络的权值和

偏置值,从而使网络的实际输出越来越接近于目标输出。

感知机的结构:

图1. 感知机网络

该网络的输出为:a = hardlim ( W p + b )

利用该公式可以方便的引用感知机网络中的单个元素。为此,首

先考虑如下权值矩阵:

将构成W的第i个行向量定义为:

据此,可以将权值矩阵W重写为:

这样就可以将网络输出向量的第i个元素写成:

再根据hardlim传输函数的定义,如果权值矩阵的第i个行向量与

输入向量的内积大于等于 -bi ,该输出为1,否则输出为0。

二、感知机的判定边界

考察有两个输入的单神经元感知机:

图2 两输入/单输出神经元感知机

输出为:

将P

1

、P

2

看作二维空间的两个变量[3],则上式在输入空间定义了

一条直线。该直线一侧的输入向量相应的网络输出为0;而直线上和

另一侧的输入向量相应的网络输出侧为1。

图3 双输入感知机的判定边界

图3描绘了权值为1,偏置值为-1的判定边界。权值1W将总是指

向神经元输出为1的区域。

三、多输入神经元感知机

学习算法模拟

1.学习算法流程图

感知机学习算法模拟与改进

李红霞 南京航空航天大学金城学院,江苏 南京 211156

摘要:20世纪50年代末,Frank Rosenblatt等人提出了一种称为感知机的神经元网络。引入了用于训练神经网络解决模式识别问题的学习规则。证明了只要求解问题的权值存在,那么其学习规则通常会收敛到正确的网络权值上。整个学习过程较为简单,而且是自动的。只要把反映网络行为的实例提交给网络,网络就能够根据实例从随机初始化的权值和偏置值开始自动的进行学习。

关键词:神经元;感知机;算法模拟

中图分类号:TP183 文献标识码:A 文章编号:1003-9767(2009)10-0098-02

Simulation and Improvement of perceptron Learning Algorithms

Li Hongxia , Nanjing Aero-Space University Jincheng college,211156

Abstract:In the late 20th century,50, Frank Rosenblatt, who proposed a machine called the perception neural network. The introduction of pattern recognition used to train neural networks to solve the problem of learning rules.They Proved that as long as the right of the value of solving the problem exists, then the learning rule will usually converge to the correct value of the network weights. The whole learning process was rather simple and automatic. As long as refl ecting an instance of network behavior presented to the network, the network began to automatic learning according to the instance from the random weights and bias values.

Keyword:Neuron;Perceptron;Algorithm simulation

图4 多输入神经元感知机学习算法流程图

2009年第10期

算法语言

信息与电脑

China Computer&Communication

2.UML模型

本文用VC++6.0实现了以上算法,各个类UML模型如下:

WPub:

名称:公共函数类

功能:封装基本公用函数

WNNFunction:

名称:传输函数类

功能:封装了常用的传输函数

WMatrix:

名称:矩阵类

功能:封装了矩阵的常用操作方法

WNNLearning:

名称:感知机学习类

功能:封装了感知机学习算法

3.程序运行界面

输入:

1.神经元个数

2.训练集大小

3.输入维数

4.最大探测次数 —— 若达到该值限定的循环次数算法仍未收敛

则强行退出

5.传输函数类型 —— 此处仅置用到硬极限函数

6.[W-b]初始值 —— 以矩阵形式输入,每行为一个神经元的权

值加偏置向量。其中:每行的最后一个元素是b,其余是W

7.训练集 ——以矩阵形式输入,每列是一个输入向量加目标输

出。其中,每列的最后一个元素是t,其余是P

输出:

1.[W-b]最终值 —— 形式同[W-b]初始值

运行:

1.输入各个参数

2.对输入参数作简单校验:

1)神经元个数是否与输入的W矩阵行数相等

2)训练集大小是否与输入的P矩阵列数相等

3)输入维数是否正确

3.点击“P”按钮,运行程序,显示结果如下

四、总结:

感知机网络结构简单,学习算法易于实现,但也有其局限性。

1.W,b的初始值对于运算过程和运算时间有影响,为了在有限

步内求得收敛解,可以多次选择不同的初始值来求解,从中找到最优

的初始值。初始值选取的不好,可能会导致算法长时间不能收敛,可

以设定最大循环次数,若算法在此循环次数内不收敛则需要调整初始

值。

2.感知机的判定边界是一个线性边界(超平面),因而感知机

可以对那些能够被线性边界分开的输入向量进行分类。然而,许多问

题并非是线性可分的,如异或。使感知机的应用受到很大限制。

参考文献:

[1]. Martin T. Hagan,Howard B. Demuth,Mark H. Beale.神经网络设计

[M].机械工业出版社 2002.9.

[2]. Rodney G. Winter. Madaline Rule II: A new method for training

networks of Adalines. Stanford University,1989.

[3]. 许东,吴铮.基于MATLAB6.X的系统分析与设计——神经网络

(第二版)[M].西安电子科技大学出版社,2002.

相关文档
最新文档