3.6 感知器算法
感知器算法是一种分类算法,需要了解一些前置知识。
(1)训练
我们有一些“正确答案”或者说是“标准答案”,我们需要让学习机对这些样本进行处理,使其分类规则不断修改知道可以按照和标准答案一样的结果进行分类。
这里需要训练集,训练集样本过少会欠拟合,过量会过拟合,但是过拟合的避免不是通过减少训练集样本数而是通过算法的改进来避免。通常我们需要尽可能大的训练集。
(2)学习
有监督学习:训练,对应机器学习中的分类。
无监督学习:没有“标准答案”,对应机器学习中的聚类。
(3)确定性分类器
处理确定可分情况的分类器。通过几何方法将特征空间分解为对应不同类的子空间,又称为几何分类器。
(4)感知器算法
一种早期神经网络分类学习模型,属于有关机器学习的仿生学领域中的问题,由于无法实现非线性分类而下马(Minsky and Papert)。但“赏罚概念( reward-punishment )”得到广泛应用。
算法
两类线性可分的模式类:,设。
其中,
应具有性质:。
因为是两类线性可分,所以我们对其规范化:对所有乘以-1,即具有。
算法步骤:
(1)选择N个分属于ω1和ω2类的模式样本构成训练样本集,并将其编号为。
(2)设定初始权值W(0)。一般将每个分量设置为0。
(3)进行一轮迭代,对于每个样本计算,若,权值不改变,,权值校正为,c是校正增量系数。
假设这是第k轮迭代的第i个样本:
i. 若,说明分类错误,则令
ii.若,说明分类正确,令
(4)若一轮迭代没有出现权值修改,则完成分类;反之继续进行(3)
用于多类情况
对于多类情况1和多类情况2,需要多个判别函数,而每个判别函数相当于一个两类情况,多次使用感知器算法。
对于多类情况3,需要对上述算法进行改变:
依据的判别性质改变为:若,需要,简而言之,是最大的。
(1)选择N个分属于类的模式样本构成训练样本集,并将其编号为。
(2)设定N个初始权值。一般将每个分量设置为0。
(3)进行一轮迭代,对于每个样本计算计算,假设X_i属于类,
i.若是最大的,则分类正确
ii.若不是最大的
简而言之,比大的使其变小,比小的不变,本身增长。
(4)若一轮迭代没有出现权值修改,则完成分类;反之继续进行(3)
3.7 梯度算法
3.7.1 梯度法基本原理
1.梯度概念
设函数是向量的一个标量函数,则的梯度定义为:
,类似于多维向量的导数。
梯度方向是自变量增加时增长最快的方向,负梯度方向反之。
2.梯度算法
定一个对错误分类敏感的准则函数(损失函数),在的负梯度方向上修改向量W。损失函数的确定需要损失函数的极小值发生在时。
(1)将分属于的样本规范化并写成增广向量。
(2)进行一轮迭代,求出,权值校正为,c是校正增量系数。
假设这是第k轮迭代的第i个样本:令
(3)若一轮迭代中有一次,则再次进行(2),反之算法结束。
3.7.2 固定增量算法
令准则函数为:
。
可以求得
网友评论