人工智能实验报告(完成)

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

人工智能

单层感知器实验报告

姓名:蒙中介

学号:0704681328

班级:网络082

指导老师:夏定纯

2011年5月30日星期一

单层感知器模型

单层感知器工作原理 单层感知器可将外部输入分为两类和。当感知器的输出为+1时,输入属于L1 类,当感知器的输出为-1时,输入属于L2 类,从而实现两类目标的识别。在维空间,单层感知器进行模式识别的判决超平面由下式决定:

单层感知器工作原理

对于只有两个输入的判别边界是直线(如下式所示),选择合适的学习算法可训练出满意的 和 ,当它用于两类模式的分类时,相当于在高维样本空间中,用一个超平面将两类样本分开。

单层感知器学习算法思想

基于迭代的思想,通常是采用误差校正学习规则的学习算法。

可以将偏差作为神经元突触权值向量的第一个分量加到权值向量中 输入向量和权值向量可分别写成如下的形式:

令上式等于零,可得到在维空间的单层感知器的判别超平面。

单层感知器学习算法

第一步,设置变量和参量。

m 1

0m

i i i w x b =+=∑11220w x w x b ++=

f(. )为激活函数, y (n )为网络实际输出,d (n )为期望输出,η 为学习速率,n 为迭代次数,e 为实际输出与期望输出的误差。

第二步,初始化

给权值向量 w (0)的各个分量赋一个较小的随机非零值,置 n=0

第三步,输入一组样本 ,并给出它的期望输出d (n )。

第四步,计算实际输出: 第五步,求出期望输出和实际输出求出差e=d(n)-f(n)

根据误差判断目前输出是否满足条件,一般为对所有样本误差为零或者均小于预设的值,则算法结束,否则将值增加1,并用下式调整权值:

然后转到第三步,进入下一轮计算过程

MATLAB 中单层感知器常用工具函数名称和基本功能

newp()

功能:创建一个感知器神经网络的函数 格式:net = newp(PR ,S ,TF ,LF)

说明:net 为生成的感知机神经网络;PR 为一个R2的矩阵,由R 组输入向量中的最大值和最小值组成;S 表示神经元的个数;TF 表示感知器的激活函数,缺省值为硬限幅激活函数hardlim ;LF 表示网络的学习函数,缺省值为learnp

hardlim()

功能 硬限幅激活函数 格式 A = hardlim(N)

说明 函数hardlim(N)在给定网络的输入矢量矩阵N 时,返回该层的输出矢量矩阵A 。当N 中的元素大于等于零时,返回的值为l ;否则为0。也就是说,如

()()()()121,,,,m n x n x n x n =⎡⎤⎣⎦ X 0

()f ()()m

i

i

i y n w n x n =⎛⎫

= ⎪

⎝⎭

∑()()()()()

1w n w n d n y n x n η+=+-⎡⎤⎣⎦

果网络的输入达到阈值,则硬限幅传输函数的输出为1;否则,为0。

learnp()

功能感知机的权值和阈值学习函数

感知器的学习规则

学习规则是用来计算新的权值矩阵W及新的偏差B的算法。

感知器利用其学习规则来调整网络的权值,以便使该网络对输人矢量的响应达

到数值为0或1的目标输出。

输入矢量P,输出矢量A,目标矢量为T的感知器网络,其学习规则为:

如果第i个神经元的输出是正确的,即有:ai=ti,那么与第i个神经元联接的权

值wij和偏差值bi保持不变;

如果第i个神经元的输出是0,但期望输出为1,即有ai=0,而ti=1,此时权

值修正算法为:新的权值wij为旧的权值wij加上输人矢量pj;类似的,新的偏

差bi为旧偏差bi加上它的输入1;

如果第i个神经元的输出为1,但期望输出为0,即有ai=1,而ti=0,此时权

值修正算法为:新的权值wij等于旧的权值wij减去输入矢量pj;类似的,新的

偏差bi为旧偏差bi减去1。

感知器学习规则的实质为:权值的变化量等于正负输入矢量

感知器设计训练的步骤可总结如下:

1)对于所要解决的问题,确定输入矢量P,目标矢量T,并由此确定各矢量的维

数以及确定网络结构大小的神经元数目:r,s和q;

2)参数初始化:

a)赋给权矢量w在(—l,1)的随机非零初始值;

b)给出最大训练循环次数max_epoch;

3)网络表达式:根据输人矢量P以及最新权矢量W,计算网络输出矢量A;

4)检查:检查输出矢量A与目标矢量T是否相同,如果是,或已达最大循环次

数,训练结束,否则转入5);

5)学习:根据感知器的学习规则调整权矢量,并返回3)。

train()

功能神经网络训练函数

格式

[net,tr,Y,E,Pf,Af] = train(NET,P,T,Pi,Ai,VV,TV)

说明net为训练后的网络;tr为训练记录;Y为网络输出矢量;E为误差矢量;

Pf为训练终止时的输入延迟状态;Af为训练终止时的层延迟状态;NET为训练

前的网络;P为网络的输入向量矩阵;T表示网络的目标矩阵,缺省值为0;Pi

表示初始输入延时,缺省值为0;Ai表示初始的层延时,缺省值为0;VV为

验证矢量(可省略);TV为测试矢量(可省略)。网络训练函数是一种通用的学

习函数,训练函数重复地把一组输入向量应用到一个网络上,每次都更新网络,

直到达到了某种准则,停止准则可能是达到最大的学习步数、最小的误差梯度

或误差目标等。

感知器的训练过程如下:

在输入矢量P的作用下,计算网络的实际输出A,并与相应的目标矢量T

相关文档
最新文档