支持向量机:
支持向量机是感知机的复杂形式。感知机无法解决的问题可以抽象到支持向量机的维度上来解决。所以支持向量机也是一个分类问题。感知机假定在空间中有一个超平面可以将数据集分成两份,但是特殊情况下一个平面是无法将数据集分成正反两份的。比如这里举一个例子:(0,0,+),(1,0,-),(0,1,-),(1,1,+)那么此时就不存在一个超平面能将这个数据集分成正反两份。那么此时就需要一个映射
ϕ(x)
来将其映射到一个高维度的空间,映射完成之后我们就可以对其进行分类了。
首先来看感知机模型:
对于数据集(X,Y)
y∈{−1,+1}
我们需要找到一个超平面:
WX+B=0
使得当
wxi+B<0
时,训练集上的
yi
为负,当
wxi+B>0
时,训练集上的
yi
为正。找到了这个平面因此我们就可以做出预测。
如何找这个平面呢?意味着我们要求出
w,b
的值。当然对一个数据集来说可能有不同的平面能完成我们上述的区分,但是,如何衡量区分的好坏呢?这就引入了损失函数这个概念。损失函数:用来衡量模型好坏的函数。
这里我们取的损失函数是超平面中任一点到该平面的距离:
因此总的损失函数就是:
∑i|wxi+b|||w||
由于我们要使得损失函数最小化,那么必然要使损失函数连续而非离散。
因此我们取损失函数为:
利用梯度下降的算法来求该函数的最小值。
**核函数**:
如何选择这个映射呢?这就是核函数所要解决的问题了。