1.概述:感知机(perceptron)是二分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1.感知机对应于输入空间(特征空间)中将数据进行划分的分离超平面,属于判别模型。感知机学习旨在求出将训练数据进行划分的分离超平面,导入基于误分类的损失函数,利用梯度下降对损失函数进行极小化,求得感知模型。感知机学习算法分为原始形式和对偶形式,是神经网络与支持向量机的基础。
2.感知机模型:
上图中,w和b是感知机模型参数,w叫做权值(weight),b叫做偏置(bias)。
3.感知机的几何解释:线性方程为w*x+b = 0。对应于特征空间R的一个超平面S,其中w是平面的法向量,b是超平面的截距。这个超平面将特征空间划分为两个部分。位于两部分的点(特征向量)分别被分为正负两类。因此,超平面S称为分离超平面。如下图所示:
4.感知机的学习策略:感知机学习的目标是求得一个能够将训练集正实例点和负实例点完全正确分开的分离超平面。
5.感知机学习算法的原始形式:感知机学习算法是误分类驱动的,具体采用随机梯度下降法。
算法如下:
解:构建最优化问题:min
按照算法求解w,b。η=1.
(1)取初值=0,
=0
(2)对=
,
(
*
+
) = 0 ,没有被正确分类,更新w,b。
=
+
=
,
=
+
= 1
得到线性模型:·
+
=
(3)对,显然,
被正确分类,不修改
;
对,
,被误分类,更新w,b。
得到线性模型:
如此继续下去,直到
对所有数据点没有误分类点,损失函数达到极小。
超平面为:
感知机模型为
迭代过程如下表:
迭代次数 | 误分类点 | w | b | ![]() |
---|---|---|---|---|
0 | 0 | 0 | 0 | |
1 | ![]() | 1 | ||
2 | ![]() | 0 | ||
3 | ![]() | -1 | ![]() | |
4 | -2 | -2 | ||
5 | ![]() | -1 | ![]() | |
6 | ![]() | -2 | ![]() | |
7 | ![]() | -3 | ![]() | |
8 | 0 | ![]() | -3 | ![]() |
6.感知机学习算法的对偶形式
解:按照算法
(1)取
(2)计算Gram矩阵:(这里的矩阵是:两两内积得到)
(3)误分条件
参数更新:【书上给的是这个。这里参数b更新应使用
】
(4)迭代。结果如下表:
k | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
![]() | ![]() | |||||||
![]() | 0 | 1 | 1 | 1 | 1 | 2 | 2 | 2 |
![]() | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
![]() | 0 | 0 | 1 | 2 | 3 | 3 | 4 | 5 |
b | 0 | 1 | 0 | -1 | -2 | -1 | -2 | -3 |
(5)
分离超平面:
感知机模型: