感知机干嘛用的
感知机是一种监督算法
好像单层的感知机相当于单层的神经网络
通过输入的数据和对应的标签来训练一组权重w和b对输入的特征向量进行二分类或者说判断,比如要判断一个人帅不帅,输入特征向量可以是(身高,体重,五官评分,气质评分),然后感知机会根据以前训练的结果告诉你这个人帅不
感知机模型
模型的数学定义
模型为:希望通过以下的fx函数进行二分类
感知机模型的几何意义
这里的w向量相当于确定了一个超平面的法向量,b是截距,所以找到一组好的w和b相当于要找到一个好的超平面将两类数据分好类
损失函数
其中M是误分类点集合
目标是要让 所有误分类点到超平面的距离之和最小,这其实等价于希望没有误分类点
感知机学习算法
根据以上loss function问题转化为求解以下最优化问题
我们知道梯度方向是上升最快的方向,所以加个负号就是下降最快了,比如y=x梯度为1,x向着-1下降最快
随机梯度下降其实就是从误分类样本中拿一个作为梯度下降的方向
学习的具体过程
动手练习
感知机算法收敛性分析
分为两大步,一是要证明超平面的存在性,二是要证明迭代次数有限
下面证明存在能将数据线性划分的超平面
因为数据线性可分,则必然存在超平面能将数据线性划分,我们令该平面的w为w_opt,b为b_opt
下面证明迭代次数有限
下面的误分类次数k是迭代次数
感知机学习对偶形式(不太懂)
gram矩阵,比如第i行j列就是第i个向量和第j个向量的内积