看博客或教材时,总觉得推导写的太简单,所以这里自己推导一下支持向量机的公式。部分推导会写在纸上,贴图上来,因为太长了,用latex敲实在是麻烦,如果哪里看不清楚或者哪里有误,还望评论指出,我及时修改。会不断更新的。
目录
三种基本的SVM:
分类 | 使用场景 | 备注 |
线性可分SVM | 数据完全线性可分 | 最原始、最基本的SVM |
线性SVM | 数据大多线性可分 | 加入一个扰动 |
非线性SVM | 数据线性不可分 | 引入核函数,最一般情况 |
三者关系:
非线性SVM的核函数,其就简化成了线性SVM;
线性SVM的扰动恒等于0时,其就简化成了线性可分SVM;
核技巧:
对于数据线性不可分情况,基本思路是引入映射函数,把数据映射到更高维空间,在更高维空间进行分类,核函数定义为
,即两个向量在特征空间(映射后空间)的内积,这种定义内积却不直接定义映射函数
的技巧即为核技巧。为何这样定义,看后面推导你就会发现,所有用到映射函数
的场景,全是内积。
推导
下面推导最一般情况下的SVM(含有核函数和扰动)。
输入:
数据,i=1,2……m
求解:
超平面,也就是求解
和
输出:
超平面
证明
wT是法向量
这里提到的超平面长这样,我比较熟悉的平面长这样
,经过移项变成
,所以
中的x已经包含了x,y,即特征空间的所有坐标值,我们利用的是整个特征空间确定点与平面的关系,
中虽然叫做x,但是却包含了y。
证明向量
指向的方向就是正实例的一侧
设为
平面上的点,该平面把特征空间分成两侧,
为向量
指向一侧的点。
则,设
上述两式相减得到
由于
所以。
下图以二维为例。
推导点到平面距离公式
定义函数间隔为,不难看出这是一个相对距离,去掉了点到超平面的距离公式中的分母,只要该数据点的分类判定正确,
与