感知机线性分类
第一次写东西,见谅。最近在学机器学习,做一下笔记,加深下自己的印象。
判别函数的定义: 直接用来对模式进行分类的准则函数。
若分属于ω1,ω2的两类模式可用一方程d(X) =0来划分,那么称d(X) 为判别函数,或称判决函数、决策函数。
感知机这个算法不是特别的难,可以用来处理线性可分二分类问题,也可以处理线性可分的多分类问题,如果不可分的话感知机就没办法了。
感知器算法是一种赏罚过程
分类正确时,对权向量“赏”——这里用“不罚”,即权向量不变
分类错误时,对权向量“罚”——对其修改,向正确的方向转换
%%%%2020.3.9
%%
clear ;clc
% 定义多分类感知机算法 ;
X=[0,0;1,1;-1,1];
%定义修改权重步长c
c=1;
%获取矩阵行列
[N,M]=size(X);
%增广 初始化权重参数
XX=[X,ones(N,1)];
W=zeros(N,M+1);
d=zeros(N,1);
count=0;
%%
while 1
for i=1:N
%计算d 并判断
for j=1:N
d(j)=dot( XX(i,:),W(j,:) );
end
%计数d矩阵最大
flag=0;
switch(i)
case 1
for j=2:N
if( d(i)<=d(j) )
flag=1;
end
end