概述
目录
1. 题目
2. 解答:
3. 总结
今天就来写作业啦!
1. 题目
感知器的程序设计。样本向量S=(x1,x2),已知两个样本S1、S2,各代表一类样本,S1=(2,1) 可设它>0;S2=(1,3) 可设它<0 。希望设计一个分类器,把它们分开。设初值为 w1=0;w2=0;也可自己设置。通过感知器原理,设计一个直线方程,通过迭代的方法 构建分类器, 确定了二维空间上的一个分界线。
安装程序系统,开启系统环境截图,如有硬件环境等困难可提出。
手工书写计算过程和用计算机程序完成分类器设计
2. 解答:
感知器的程序设计分析:样本向量S=(x1,x2),已知两个样本S1、S2,各代表一类样本,S1=(2,1)可设它<0,S2=(1,3)可设它>0 ,目标函数J=W*S,其中由J1和J2组成。若J1和J2都大于等于0,则更新权重W- S1;若J1和J2都小于等于0,则更新权重W + S2;直到J1和J2异号,则分类完毕。
具体代码见本文中ganzhiqi_movie.m,效果见test.gif
开启MATLAB环境截图
手工书写计算过程
设:w1x1+w2x2=0, w1=0;w2=0
S1:w1x1+w2x2=0x2+0x1=0
S2:w1x1+w2x2=0x1+0x3=0
w1=0-2=-2;w2=0-1=-1
S1:w1x1+w2x2=-2x2+-1x1=-5<0
S2:w1x1+w2x2=-2x1+-1x3=-5<0
w1=-2+1=-1;w2=-1+3=2
S1:w1x1+w2x2=-1x2+2x1=0
S2:w1x1+w2x2=-1x1+2x3=5>0
w1=-1-2=-3;w2=2-1=1
S1:w1x1+w2x2=-3x2+1x1=-5
S2:w1x1+w2x2=-3x1+1x3=0
w1=-3+1=-2;w2=1+3=4
S1:w1x1+w2x2=-2x2+4x1=0
S2:w1x1+w2x2=-2x1+4x3=10
w1=-2-2=-4;w2=4-1=3
S1:w1x1+w2x2=-4x2+3x1=-5<0
S2:w1x1+w2x2=-4x1+3x3=5>0
ganzhiqi_movie.m
clear;clc;close;%清除数据,关闭显示
%w= floor(unifrnd(0,9,1,2))%随机生成初始化权重
w= [0,0];
s=[2 1;1 3];
% 初始化一个电影矩阵
M = moviein(16);
% 创建电影
% figure;
plot(s(1,1),s(2,1),'r>');%画出第一个样本坐标点
hold on;%保持
plot(s(1,2),s(2,2),'g*');%画出第二个样本坐标点
hold on;%保持
plot([-6*w(1,2)/sqrt(w(1,2)^2+w(1,1)^2),6*w(1,2)/sqrt(w(1,2)^2+w(1,1)^2)],[6*w(1,1)/sqrt(w(1,2)^2+w(1,1)^2),-6*w(1,1)/sqrt(w(1,2)^2+w(1,1)^2)]);%画出初始直线
hold on;%保持
title('二样本感知器分类');%表头名称
xlabel('xlabel');%x标签
ylabel('ylabel');%y标签
axis([-4, 4 -4, 4]); %限制x和y的范围
for i=1:50
j1=w*s(:,1);%计算第一类
j2=w*s(:,2);%计算第二类
if((j1>=0)&(j2>=0))%如果两类都大于零
w=w-s(:,1)';%更新权重
elseif((j1<=0)&(j2<=0))%如果两类都小于零
w=w+s(:,2)';%更新权重
else%如果两类异号结束循环
break;
end
plot([-6*w(1,2)/sqrt(w(1,2)^2+w(1,1)^2),6*w(1,2)/sqrt(w(1,2)^2+w(1,1)^2)],[6*w(1,1)/sqrt(w(1,2)^2+w(1,1)^2),-6*w(1,1)/sqrt(w(1,2)^2+w(1,1)^2)]);%画出更新直线
hold on;grid on;pause(1);%保持,生成网格,延迟1s
M(i) = getframe;% 调用getframe函数生成每个帧
i=i+1;%更新迭代次数
end
movie(M,3);% 调用movie函数将电影动画矩阵M(k)播放3次
test.gif
3. 总结
本文介绍利用二样本感知器的matlab程序设计,接下来我会记录我的matlab学习记录,很高兴能和大家分享!????????????希望你能有所收获。
完整版程序和GIF生成见: matlab二样本感知器设计
最后
以上就是犹豫绿茶为你收集整理的二样本感知器的matlab程序设计1. 题目2. 解答:3. 总结的全部内容,希望文章能够帮你解决二样本感知器的matlab程序设计1. 题目2. 解答:3. 总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复