欢迎关注哈希大数据微信公众号《哈希大数据》
感知机可以说是最古老的分类方法之一了,在1957年就已经提出。今天看来它的分类模型在大多数时候泛化能力不强,但是它的原理却值得好好研究。因为研究透了感知机模型,学习支持向量机的话会降低不少难度。同时如果研究透了感知机模型,再学习神经网络,深度学习,也是一个很好的起点。这里对感知机的原理做一个小结。
1. 感知机模型
感知机的思想很简单,比如我们在一个平台上有很多的男孩女孩,感知机的模型就是尝试找到一条直线,能够把所有的男孩和女孩隔离开。放到三维空间或者更高维的空间,感知机的模型就是尝试找到一个超平面,能够把所有的二元类别隔离开。当然你会问,如果我们找不到这么一条直线的话怎么办?找不到的话那就意味着类别线性不可分,也就意味着感知机模型不适合你的数据的分类。使用感知机一个最大的前提,就是数据是线性可分的。这严重限制了感知机的使用场景。它的分类竞争对手在面对不可分的情况时,比如支持向量机可以通过核技巧来让数据在高维可分,神经网络可以通过激活函数和增加隐藏层来让数据可分。
用数学的语言来说,如果我们有m个样本,每个样本对应于n维特征和一个二元类别输出,如下:
(x1(0),x2(0),...xn(0),y0), (x1(1),x2(1),...xn(1),y1),...
(x1(m),x2(m),...xn(m),ym)
我们的目标是找到这样一个超平面:
θ0+θ1x1+...+θnxn=0
让其中一种类别的样本都满足θ0+θ1x1+...+θnxn >0,让另一种类别的样本都满足θ0+θ1x1+...+θnxn<0 .
从而得到线性可分。如果数据线性可分,这样的超平面一般都不是唯一的,也就是说感知机模型可以有多个解。
为了简化这个超平面的写法,我们增加一个特征
x0=1 ,这样超平面为
进一步用向量来表示为: θ∙x=0,其中θ为(n+1)x1的向量,x为 (n+1)x1 的向量, ∙为内积,后面我们都用向量来表示超平面。