1.感知机模型
假设输入空间(特征空间)是X∈Rn,输出空间是Y={ 1,-1}。输入x∈X表示实例特征向量。对应于输出空间(特征空间)的点;输出y∈Y表示实例类别,由输入空间到输出空间的如下函数:
,称为感知机。
其中w和b是感知机的参数模型,w叫做权值(weight),b叫做偏置(bias)。
表示w和x的内积:
。
sign是符号函数:
感知机是一种线性分类模型,属于判别模型。感知机有如下几何解释:线性方程
。对应于特征空间Rn中的一个超平面S,其中w是超平面的法向量,b是超平面的截距。
解释:根据符号函数,我们可以看出,当自变量等于0的时候,有分离界限,也就是对应原方程里的w·x b=0的时候,出现了分离界限,专业术语叫做分离超平面(separating hyperplane)。
在二维坐标里,它是一条直线;在三维坐标里,它是一个平面;在高维空间里,称作超平面(直线、平面是超平面的特殊情况)。
2.感知机的学习策略
假设训练数据集是线性可分的,感知机的目标是求得一个能够将训练数据集正实例点和负实例点完全正确分开的分离超平面。为了找到这样的超平面,即确定感知机模型参数w,b,需要确定一个学习策略,即定义损失函数并将损失函数最小化。此处损失函数采用的是误分类点到超平面S的总距离。
损失函数推导过程:
①任一点到超平面S的距离:
分母
是w的L2范数,指的是向量各元素的平方和然后求平方根(长度)。
②对于误分类点
来说,有
。
因为
时,
。而当
时,
。
③误分类点到超平面的距离:
。
④所有误分类点到超平面的距离:
,M为误分类点集合。
⑤不考虑分母,就得到了感知机学习的损失函数:
。
损失函数是非负的,如果没有误分类点,损失函数为0,误分类点越少,损失函数值越小。
感知机的学习策略就是选取w和b,使损失函数最小。
3.感知机的学习算法
感知机学习问题转化为求解损失函数式的最优化问题,求参数w,b,使损失函数最小。
,M为误分类点集合。
感知机的学习算法是误分类点驱动的,具体采用随机梯度下降法(stochastic gradient descent)。首先,任意选取一个超平面
,然后用梯度下降法不断地极小化目标函数,极小化的过程不是一次使M中所有误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降。
假设误分类点集合M是固定的,那么损失函数L(w,b)的梯度是:
随机选取一个误分类点,对w,b进行更新:
式中
是步长,又称为学习率(learning rate)。这样通过迭代可以期待损失函数L(w,b)不断减小,直到为0。
直观上的理解:当一个点被误分类,即位于分离超平面的错误一侧时,则调整w,b的值,使分离超平面向该误分类点的一侧移动,以减少该误分类点与超平面的距离,直至超平面越过该分类点使其正确分类。