神经元感知机算法.doc_第1页
神经元感知机算法.doc_第2页
神经元感知机算法.doc_第3页
神经元感知机算法.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算智能作业 ZY1203212 王虎神经元感知机调整的学习算法一、 算法目标通过建立关于点坐标的线性函数,即f(x)=f(w1*x1+w2*x2+c),将集合set1=(0,1),(0,2),(1,1)和Set2(2,0),(3,0),(3,1)在坐标系下分离开来。二、 算法描述Step1:初始化权值w1,w2,和cStep2:在集合s1或s2中任选一个点,作为感知机的输入,计算实际输出;Step3:对Step2的输出结果进行检验,若分类正确,则权值不做调整,若分类错误,则按Step4方法进行调整。Step4:设n0为当前迭代次数,调整算法为 w1(n0+1)= w1(n0)+2*m*fs-fp*x1(n0);w2(n0+1)= w2(n0)+2*m*fs-fp*x2(n0);Step5:重复选取样本,直到权值使得所有点满足三、 实验代码本实验在visua stdio环境下编写实现程序,如下:#include#includeint step(float(x)int s;if(x0) s=0;else s=1;return(s);void main()float a32=0,1,0,2,1,1;float b32=2,0,3,0,3,1;float w1=20,w2=83,c=1,m=0.6;float x;inti,j;unsignedint counter=0;while(1)for(j=0;j2;j+)if(j=0)for(i=0;i3;i+)x=w1*ai0+w2*ai1+c;if(step(x)=0)counter+;elsew1=w1+2*m*(0-1)*ai0;w2=w2+2*m*(0-1)*ai1;c=c+2*m*(0-1)*1;counter=0;printf(w11=%6.2f w21=%6.2f c1=%6.2fn,w1,w2,c);elsefor(i=0;i=6) printf(w1s=%6.2f w2s=%6.2f cs=%6.2fn,w1,w2,c);break;Sleep(60000);四、 实验结果(1)w1=20,w2=83,c=0.6(2) w 1=2,w2=8,c=0.6(3) w1=-2,w2=8,c=0.6五、 结果分析 当权值选不同的初值时,对程序运行次数有很大的影

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论