感知器模型及其学习算法

更新时间:2023-09-23 18:08:01 阅读量: IT计算机 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

感知器模型及其学习算法

1 感知器模型

? 感知器模型是美国学者罗森勃拉特(Rosenblatt)为研究大脑的存储、学习和认知过程而提出的一类具有自学习能力的神经网络模型,它把神经网络的研究从纯理论探讨引向了从工程上的实现。

? Rosenblatt提出的感知器模型是一个只有单层计算单元的前向神经网络,称为单层感知器。 2 单层感知器模型的学习算法

? 算法思想:首先把连接权和阈值初始化为较小的非零随机数,然后把有n个连接权值的输入送入网络,经加权运算处理,得到的输出如果与所期望的输出有较大的差别,就对连接权值参数按照某种算法进行自动调整,经过多次反复,直到所得到的输出与所期望的输出间的差别满足要求为止。 ? 为简单起见,仅考虑只有一个输出的简单情况。设xi(t)是时刻t感知器的输入(i=1,2,......,n),ωi(t)是相应的连接权值,y(t)是实际的输出,d(t)是所期望的输出,且感知器的输出或者为1,或者为0。 3 线性不可分问题

? 单层感知器不能表达的问题被称为线性不可分问题。 1969年,明斯基证明了“异或”问题是线性不可分问题: “异或”(XOR)运算的定义如下:

由于单层感知器的输出为

y(x1,x2)=f(ω1×x1+ω2×x2-θ)

所以,用感知器实现简单逻辑运算的情况如下: (1)“与”运算(x1∧x2) 令ω1= ω2=1,θ=2,则

y=f(1×x1+1×x2-2)

显然,当x1和x2均为1时,y的值1;而当x1和x2有一个为0时,y的值就为0。 (2)“或”运算(x1∨x2) 令ω1= ω2=1, θ =0.5

y=f(1×x1+1×x2-0.5)

显然,只要x1和x2中有一个为1,则y的值就为1;只有当x1和x2都为0时,y的值才为0。

(3)“非”运算(~X1)

令ω1 =-1, ω2=O, θ=-0.5,则

y=f((-1)×x1+1×x2+0.5))

显然,无论x2为何值,x1为1时,y的值都为0;x1为O时,y的值为1。即y总等于~x1。

(4)“异或”运算(x1 XOR x2)

如果“异或”(XOR)问题能用单层感知器解决,则由XOR的真值表9-1可知,ω1、 ω2 和θ 必须满足如下方程组: ω1+ω2-θ<0

ω1+0-θ≥0 0+0-θ<0 0+ω2-θ≥0

显然,该方程组是无解,这就说明单层感知器是无法解决异或问题的。

异或问题是一个只有两个输入和一个输出,且输入输出都只取1和0两个值的问题,分析起来比较简单。对于比较复杂的多输入变量函数来说,到底有多少是线性可分的?多少是线性不可分的呢?相关研究表明(参见文献[19]) ,线性不可分函数的数量随着输入变量个数的增加而快速增加,甚至远远超过了线性可分函数的个数。也就是说,单层感知器不能表达的问题的数量远远超过了它所能表达的问题的数量。这也难怪当Minsky给出单层感知器的这一致命缺陷时,会使人工神经网络的研究跌入漫长的黑暗期。 4 多层感知器

? 在单层感知器的输入部分和输出层之间加入一层或多层处理单元,就构成了二层或多层感知器。

本文来源:https://www.bwwdw.com/article/kezd.html

Top