第1页共9页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共9页作业1:线性分类器设计1、问题描述将4个输入矢量分为两类,其中两个矢量对应的目标值为1,另两个矢量对应的目标值为0
输入矢量为P=[-0
31]目标分类矢量为T=[1100]2、算法描述采用单一感知器神经元来解决这个简单的分类问题
感知器(perceptron)是由美国学者F
Rosenblatt于1957年提出的,它是一个具有单层计算神经元的神经网络,并由线性阈值单元组成
当它用于两类模式的分类时,相当于在高维样本空间中,用一个超平面将两类样本分开
两类样本线性情况下,线性判别函数可描述为,其中是权向量,是阈值
假设两类样本线性可分,则一定存在一个由定义的超平面,满足,其中
定义感知器代价函数为,其中Y是训练向量的子集,是权向量w定义的超平面错误分类的部分
为了计算出代价函数的最小迭代值,利用梯度下降法设计迭代方案,即其中,代入得这种算法称为感知器算法
这个算法从任意权向量w(0)开始初始化,通过错误分类特征形成修正向量
如此重复到算法收敛于解,即所有的特征向量都正确的分类
可以证明,如果两类模式是线性可分的,则算法一定收敛
感知器特别适合用于简单的模式分类问题
3、算法的实现Matlab源程序如下:0
51];第2页共9页第1页共9页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共9页t=[1100];[w,b]=initp(p,t)%初始化感知器plotpv(p,t)%绘制输入矢量plotpc(w,b)%绘制分类线pause[w,b,epochs,errors]=trainp(w,b,p,t,-1)%训练感知器pauseploterr(errors);%绘制误差图4、分类结果和