感知机
假设:输入空间是 x?Rn 输出空间是 y={+1,-1}
由如下2.1函数进行分类称之为感知器
其中,w为权值向量,b为偏置
sign(.)是符号函数,记为如下所示:
感知机是一种线性分类模型,属于判别模型。
感知机模型的假设空间是定义在特征空间中的
所有线性分类模型(linear classification model)或 线性分类器(linear classifier)
即函数集合{f|f(x) = wx +b}
求感知机模型2.1,即求得模型参数w,b。
感知机预测,通过学习得到的感知机模型,对于新的输入实例给出其对应的输出类别。
?
?
?
感知器学习策略
假设训练数据集线性可分,感知机学习的目标是求得一个能够将训练集正实例点和负实例点完全正确分开的分离超平面。
为了确定感知机模型参数w, b 需要确定一个学习策略,即定义(经验)损失函数并将损失函数极小化。
损失函数的一个自然选择是误分类点的总数。这样的损失函数不是参数w,b的连续可导函数,不易优化。
损失函数的另一个选择是误分类点到超平面S的总距离,这是感知机所采用的。
距离S定义如下:
||w||是w的L2范数。
不考虑1/||w||,感知器的损失函数定义如下:
????????????
其中M为误分类点的集合。
这个损失函数就是感知机学习的经验风险函数。
损失函数L(w,b)是非负的。
没有误分类点,损失函数值是0。
误分类点越少,误分类点离超平面越近,损失函数值就越小。
特定的样本点的损失函数:在误分类时是参数w,b的线性函数,在正确分类时是0。
因此,给定训练数据集T,损失函数L(w,b)是w,b的连续可导函数。
感知机学习的策略是在假设空间中选取使损失函数式2.4最小的模型参数w,b,即感知机模型。
?
?
感知器学习算法
感知机学习算法是误分类驱动
具体采用随机梯度下降法(stochastic gradient descent)
首先,任意选取一个超平面,w0,b0,然后用梯度下降法不断地极小化目标函数。
极小化过程中一次随机选取一个误分类点使其梯度下降。
那么损失函数L(w,b)的梯度由:
?
随机选取一个误分类点(xi,yi),对w,b进行更新:
?
式中η (0< η ≤1)是步长,在统计学习中又称为学习率(learning rate)。
这样,通过迭代可以期待损失函数L(w,b)不断减小,直到为0。
感知器算法原始形式
输入:训练数据集T={(x1,y1),(x2,y2),…,(xN,yN)},
其中xi?x=Rn,yi? y={-1,+1},i=1,2,…,N;
学习率η (0<η ≤1);
输出:w,b;感知机模型f(x)=sign(w·x+b)。
(1)选取初值w0,b0
(2)在训练集中选取数据(xi,yi)
(3)如果yi(w·xi+b)≤0
?
(4)转至(2),直至训练集中没有误分类点。
?
感知器的对偶形式,可以通过预先将训练集中的内积计算出来并以矩阵形式存储,
即为Gram矩阵
????????????
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?