2.1 感知机
感知机二类分类的线形分类模型,输入为实例的特征向量,输出为实例的类别,取+1和-1值
感知机对应输入空间中将势力划分为正负两类的线形划分的分离超平面,属于判别模型
定义:假设输入空间(特征空间)是,输出空间是
,输入
表示实例的特征向量,对应输入空间(特征空间)的点;输出
表示实例的类别,由输入空间到输出空间的如下函数:
其中是超平面的发向量,
是超平面的截距,书上把
称为权值向量,
称为偏置,
表示内积
所以唯一影响超平面的就是w和b两个未知量了,我们求模型,也是求模型参数w和b使得二分类正确
2.2 感知机的学习策略
首先定义好怎样才是分类正确了
如果是正实例点,要求
如果是负实例点,要求
如果是,则这个点刚好落在了平面上
接着我们选择损失函数,将误分类点到超平面S的总距离当作损失函数
接着定义输入空间中任意一点 到超平面S的距离为
所以,假设误分类点集合,那么所有误分类点到超平面的总距离为:
因为对于误分类点来说,
于是损失函数被定义为 是一个经验风险函数
现在感知机的问题就转化为损失函数的最优解问题,我们肯定要求损失函数的最小值,采用的策略是随机梯度下降
于是损失函数的梯度:和
分别对
和
求导
对应的更新策略 和
,其中
是学习率
Summary:
(1)选取超平面的两个参数的初值
(2)根据随机梯度下降的做法,选取一个点做距离判断,如果满足,就代表这个点在当前超平面分错了。根据更新策略对w和b进行更新
(3)再次判断下一个点,走到(2)直到没有错误分类点出现
就是每一个样本有N个特征表示,那么w这个权值向量就有N个维度
但是感知机会有 当我们选取参数初始值不同/选取点不同的情况,那么最后出来的超平面也会不一样
2.3 算法的收敛性
就是为了证明经过有限次迭代后,我们可以找到一个超平面可以完全正确地划分数据
主要是用了Novikoff定理,证明了如下结论,这里太多了,略略略
2.4 感知机学习算法的对偶形式
因为用原始形式的话,每次更新都要计算一下,当样本特征比较大的时候,速度后很慢,所以我们打算将两个参数w和b给以x和y的线形组合形式表示出来,换句话说就是用x和y的线形组合形式表示w和b。
我们观看原始形式w和b的更新方式,是用当前点的梯度乘以学习率得到的,也就是每当有一个错误点,就把这个点代入进更新公式内,所以其实也就是我们知道每个点错误了多少次,就可以知道最终w和b的表达式了,于是我们引进了一个新的参数N,这里表示当前点因为被判错误分类的次数,于是我们可以得到一个新的w和b的表达式
这里的,当学习率=1,表示当前第i个点因为分错了而被送去更新参数的次数
这里越高,意味着这个点啊,经常被分错,也就是非常难以把握好,所以就是越接近超平面
所以我们的感知机模型也变成了,
也就是说,有多少个点,就对应a向量都有多长
与此同时我们判断是不是分错了的公式也变成
summary:
(1)初始化a向量(里面的值都是0),b=0
(2)在训练集中选取数据
(3)如果
则代表当前点就是被误分类了,对应的 要加1
为什么这里只加呢?因为
是跟点挂钩的,所以错误多一个,就增加多一个
,后面总更新w的时候我们就直接让
乘对应的点就完事了
除此之外,我们还发现在第三步过程中,公式里面的(内积)是我们训练集的数据,所以我们在开始计算感知机的时候,就可以先把这个内积矩阵给计算出来,我们把这个矩阵称为Gram矩阵