-
什么是感知机?
感知机是一种二分类模型,输入为相应的向量,输出为类别,属于判别式模型。感知机是在数据集可分的情况下,求出一个超平面,使得此超平面可以将数据集一分为二、正反例完全分开。 -
感知机模型
f(x)=sign(ω⋅x+b),此模型即为感知机模型,其中sign为符号函数,感知机模型的假设空间是定义在特征空间中的所有线性分类器,可以解释为,线性方程对应于特征空间的一个超平面S,此超平面将特征空间分为两部分,一部分为正类,一部分为反类。 -
感知机的学习策略。
首先假设数据集是线性可分得,感知机的学习目标是就是学的一个超平面,使得此超平面将实例分为正实例和负实例,为了找出这样的一个超平面,需要学习一个策略,即定义损失函数最小化,如果选择误分类点数则不易优化,故感知机的损失函数是基于误分类的点数到超平面的距离,我们的目标就是损失函数最小化。 -
感知学习机算法。
首先我们要明白,感知机的目标就是目标函数最小化,所以感知机学习算法是误分类驱动的,具体采用随机梯度下降法,首先选择一组初始化超平面参数Wo和bo,然后使用梯度下降法最小化损失函数,直至算法收敛为止,每次分类正确时就不在更新参数W和b,分类不正确则用梯度下降法更新参数,然后再次看分类是否正确,然后反复循环直至算法收敛。 -
算法的收敛性。
由于CSDN对公式的补充不太完整,所以这里就不在推导了,下次我会手写笔记,然后上传。 -
感知学习机的对偶形式。
其实感知机学习算法的对偶模式、原始模式和支持向量机的对偶模式及原始模式基本一样,其基本思想都是将w和b表示为实例xi和标记yi的线性组合形式,通过求解系数而求得w和b,算法的执行步骤如下:定义所有x0为1,步长α初值,设置β的初值0。可以将α设置为1。要注意的是,由于感知机的解不唯一,使用的步长初值会影响θ向量的最终迭代结果。
计算所有样本内积形成的Gram矩阵G。
在训练集里面选择一个误分类的点
,这个点应该满足:
, 在检查是否满足时可以通过查询Gram矩阵的gij 的值来快速计算是否小于0。对β向量的第i个分量进行一次更新:βi=βi+α
检查训练集里是否还有误分类的点,如果没有,算法结束,此时的θθ向量最终结果为下式。如果有,继续第2步
, 其中βj 为β向量的第j个分量。 -
最后说一下关于感知机的解的问题,由于超平面不唯一,而且当数据集线性可分时,感知机的解释不唯一的,因为是用的随机梯度下降,所以初始值的不同,解也不唯一,而且迭代顺序不一样,解的值也会不一样。
感知机心得
最新推荐文章于 2024-06-10 15:29:22 发布