逻辑回归的另一种观点
[{h_ heta }left( x ight) = frac{1}{{1 + {e^{ - { heta ^T}x}}}}]
如果y=1,我们希望hθ(x)≈1,对应θTx >> 0
如果y=0,我们希望hθ(x)≈0,对应θTx << 0
对于一个样本(x, y)来说,它的损失函数为
[egin{array}{l}
- left( {ylog left( {{h_ heta }left( x
ight)}
ight) + left( {1 - y}
ight)log left( {1 - {h_ heta }left( x
ight)}
ight)}
ight)\
= - ylog left( {frac{1}{{1 + {e^{ - { heta ^T}x}}}}}
ight) - left( {1 - y}
ight)log left( {1 - frac{1}{{1 + {e^{ - { heta ^T}x}}}}}
ight)
end{array}]
对于y=1的情况
逻辑回归的损是函数变如图中绿线所示,损失函数变为
[ - log left( {frac{1}{{1 + {e^{ - z}}}}} ight)]
支持向量机是将绿线替换成红线,称改变后的损失函数为
[{mathop{ m Cos} olimits} {t_1}left( z ight)]
同理,当y=0时
逻辑回归的损是函数变如图中绿线所示,损失函数变为
[ - log left( {1 - frac{1}{{1 + {e^{ - z}}}}} ight)]
支持向量机是将绿线替换成红线,称改变后的损失函数为
[{mathop{ m Cos} olimits} {t_0}left( z ight)]
对于逻辑回归而言,它的目的是
[underbrace {min }_ heta left{ {frac{1}{m}left[ {sumlimits_{i = 1}^m {{y^{left( i ight)}}left( { - log left( {{h_ heta }left( {{x^{left( i ight)}}} ight)} ight)} ight) + left( {1 - {y^{left( i ight)}}} ight)left( { - log left( {1 - {h_ heta }left( {{x^{left( i ight)}}} ight)} ight)} ight)} } ight] + frac{lambda }{{2m}}sumlimits_{j = 1}^n { heta _j^2} } ight}]
对于支持向量机而言,它将其中部分改变
[underbrace {min }_ heta left{ {frac{1}{m}left[ {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{lambda }{{2m}}sumlimits_{j = 1}^n { heta _j^2} } ight}]
为方便起见,可以去掉1/m,这并不会影响θ的取值
[underbrace {min }_ heta left{ {left[ {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{lambda }{2}sumlimits_{j = 1}^n { heta _j^2} } ight}]
另一个改变是,去掉λ,在第一项前面乘上C
[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}]
为帮助理解,可以认为对于A+λB与(C)A+B两个式子,λ越大和C越小都可以表达“B的权重较大”这一概念。而且,当C=1/λ时,两个最小化式子返回同样的θ。
因此,支持向量机解决的问题是
[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}]
支持向量机的假设函数为
[{h_ heta }left( x
ight) = left{ {egin{array}{*{20}{c}}
{egin{array}{*{20}{c}}
1&{{ heta ^T}x ge 0}
end{array}}\
{egin{array}{*{20}{c}}
0&{{ heta ^T}x < 0}
end{array}}
end{array}}
ight.]
以上就是支持向量机的数学定义。