1. SVM是什么
SVM分类的原理就是找到一个超平面(假设数据是线性可分的),这个超平面满足两个要求:
1. 所有数据点被完美地分成两类
2. 所有数据点离超平面距离越远越好
2. 若干定义
为了量化以上要求,我们先定义一些概念:
feature:x
class:
function margin: γ^=y(wTx+b)
geometrical margin: γ~=γ^∥w∥
3. 如何满足两个条件
(1) 要满足条件1,很简单,只需要满足yi(wTxi+b)>0,i=1,2,...
(2) 要满足条件2,比较复杂,我们可以这样做:
条件2等效于:让离超平面最近的点的geometrical margin越大越好。
假设最近点的geometrical margin为γ~,那么自然其他点的geometrical margin都会大于γ~。
所以条件2
=maxγ~ s.t. yi(wTxi+b)∥w∥=γ^i∥w∥=γ~i≥γ~,i=1,2,...
=maxγ^∥w∥ s.t. yi(wTxi+b)=γ^i≥γ^,i=1,2,...
若固定γ^=1则条件2
=max1∥w∥ s.t. yi(wTxi+b)≥1,i=1,2,...
其实条件2已经包含条件1,
至此,得出SVM的目标函数就是条件2:
max1∥w∥ s.t. yi(wTxi+b)≥1,i=1,2,...
备注:
此处还可以知道为什么超平面会处于支持向量中间位置?因为如果γ~还不够大,那么超平面会往大的方向移动一点,一直移动到中间位置γ~时达到最大,如果移动超过了中间位置,那么γ~会又变小,因为此时距离超平面最近的点已经不是原来的那个点了。
SVM寻找一个能最大化数据点与超平面间隔的超平面进行分类。通过定义特征、类别、几何间隔等概念,SVM目标函数旨在确保所有数据点正确分类且间隔最大化。当超平面位于支持向量之间时,间隔达到最大,从而形成SVM的基本优化问题。

被折叠的 条评论
为什么被折叠?



