感知机
总结:感知机属于二分类的算法,输入为一系列的特征向量,输出为+1或者是-1.输入空间到输出空间用的是sign()函数。
感知机定义了一个超平面:WX+B=0
其中W为权重向量,X为输入的特征向量,B为误差常数。
对于感知机算法来说,训练数据集如果能够被一个超平面完美的划分成正实例和负实例,则称这个数据集为线性可分的,否则就是线性不可分的。
损失函数的定义:
那么如何评价这个感知机算法构造的分割平面是不是好的呢?最直观的方法就是统计该误分点的个数,但是以此来作为损失函数的话,对于W和B来说并不是连续可导的,因此可以将误分点到分割平面的距离之和作为损失函数来进行优化。
(1)误分点的定义: 实际上,点到分割平面的距离就是|WX+B|除以W的F范数(可以不用考虑)。如果是误分点的话,-y(WX+B)肯定是大于0的,以此代替绝对值符号。
损失函数最后的形式就是:
$$L(w,b)=\sum_{x_i \in M}y_i(w \bullet x_i+b)$$
求解方法就是求导之后用梯度下降的方法解决。
感知机除了这个原始形式以外还有一种对偶的形式。主要的思想是W和B可以表示为实例(x,y)的线性组合。
注意:
- 感知机是线性模型,不能表示复杂的函数
- 样本线性可分的充要条件是正向实例构成的凸壳与负向实例构成的凸壳不相交。