clc
clear all
fprintf('感知器算法\n');
x=[1,4,1;2,6,1;1,2,-1;2,2,-1];
%x=[0,0,0,1;1,0,0,1;1,0,1,1;1,1,0,1;0,0,-1,-1;0,-1,-1,-1;0,-1,0,-1;-1,-1,-1,-1];
[N,n]=size(x);%获取样本数目和维数;N为样本数目;n为样本维数
C=1;
%w0=[0,0,0,0]';%初始化解向量
w0=[0,1,0]';
w=w0;
flag=1;%迭代继续标志,当迭代全部正确时,flag=0,迭代结束
k=0;%记录迭代次数
while(flag)
flag=0;
k=k+1;
for i=1:N
w'*x(i,:)'
if(w'*x(i,:)'<=0)
w=w+x(i,:)';
flag=1;
end
end
end
fprintf('迭代次数%d\n',k);
fprintf('解向量为w=(');
for j=1:n
fprintf('%d ',w(j));
end
fprintf(')\n');
fprintf('相应的判别函数为d(x)=');
for j=1:n-1
fprintf('(%d)x%d+',w(j),j);
end
fprintf('(%d)\n',w(j));
https://wenku.baidu.com/view/e1742cd388eb172ded630b1c59eef8c75fbf9522.html
感知器算法
猜你喜欢
转载自blog.csdn.net/keyanxiaocaicai/article/details/79506736
今日推荐
周排行