支持向量机背后的数学
Posted qkloveslife
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了支持向量机背后的数学相关的知识,希望对你有一定的参考价值。
向量的内积(inner product)
对于向量
[egin{array}{l}
u = left[ {egin{array}{*{20}{c}}
{{u_1}}\\
{{u_2}}
end{array}}
ight]\\
v = left[ {egin{array}{*{20}{c}}
{{v_1}}\\
{{v_2}}
end{array}}
ight]
end{array}]
它们的内积
[{u^T}v = {u_1}{v_1} + {u_2}{v_2}]
又有
[left| u ight| = sqrt {u_1^2 + u_2^2} ]
假设v在u上的投影距离为p,则
[{u^T}v = pleft| u ight|]
如果u和v的夹角大于90°则p是复数,小于90°为正数
有了上面的基础,接下来看支持向量机的损是函数
[underbrace {min }_ heta left{ {Cleft[ {sumlimits_{i = 1}^m {{y^{left( i ight)}}{mathop{ m Cos} olimits} {t_1}left( {{ heta ^T}{x^{left( i ight)}}} ight) + left( {1 - {y^{left( i ight)}}} ight){mathop{ m Cos} olimits} {t_0}left( {{ heta ^T}{x^{left( i ight)}}} ight)} } ight] + frac{1}{2}sumlimits_{j = 1}^n { heta _j^2} } ight}]
支持向量机试图最小化这个公式,对于前半部分
[{Cleft[ {sumlimits_{i = 1}^m {{y^{left( i ight)}}{mathop{ m Cos} olimits} {t_1}left( {{ heta ^T}{x^{left( i ight)}}} ight) + left( {1 - {y^{left( i ight)}}} ight){mathop{ m Cos} olimits} {t_0}left( {{ heta ^T}{x^{left( i ight)}}} ight)} } ight]}]
当y=1时,θTx会朝着θTx≥1的趋势去优化θ
当y=0时,θTx会朝着θTx≤-1的趋势去优化θ
对于后半部分
[{frac{1}{2}sumlimits_{j = 1}^n { heta _j^2} }]
对于下面两种情况
为方便理解,这里简化θ只有两个参数(θ1,θ2),且θ0=0,则
[frac{1}{2}sumlimits_{j = 1}^n { heta _j^2} = frac{1}{2}left( { heta _1^2 + heta _2^2} ight) = frac{1}{2}{left( {sqrt { heta _1^2 + heta _2^2} } ight)^2} = frac{1}{2}{left| heta ight|^2}]
可以看出,支持向量机为最小化这一部分,会试图最小化θ
结合第一部分
当y=1时,θTx会朝着θTx≥1的趋势去优化θ,加上第二部分的θ尽量小,则对于
[{ heta ^T}{x^{left( i ight)}} = {p^{left( i ight)}}left| heta ight|]
p(i)需要尽量大
支持向量机会选择后者,因为它有比较大的p。
以上是关于支持向量机背后的数学的主要内容,如果未能解决你的问题,请参考以下文章
支持向量机(SVM):超平面及最大间隔化支持向量机的数学模型软间隔与硬间隔线性可分支持向量机线性支持向量机非线性支持向量机核函数核函数选择SMO算法SVM vs LR优缺点