面试中经常会被问到的问题
与线性可分的情形一样,对于线性不可分的概率分布,我们可以用最小化正则化的误差函数来重新表示SVM。这也使得我们能够强调与logistic回归模型之间的相似性和差别。
我们已经看到对于边缘边界正确的一侧数据点,即满足
y
n
t
n
≥
1
y_{n}t_{n}\geq 1
yntn≥1。对于其余的数据点
ξ
n
=
1
−
y
n
t
n
>
0
\xi_{n}=1-y_{n}t_{n}>0
ξn=1−yntn>0所以我们能得到
∑
n
=
1
N
E
S
V
(
y
n
t
n
)
+
λ
∣
∣
w
∣
∣
2
\sum_{n=1}^{N}E_{SV}(y_{n}t_{n})+\lambda||w||^{2}
n=1∑NESV(yntn)+λ∣∣w∣∣2
E
S
V
(
y
n
t
n
)
=
[
1
−
y
n
t
n
]
+
E_{SV}(y_{n}t_{n})=[1-y_{n}t_{n}]_{+}
ESV(yntn)=[1−yntn]+
E
S
V
(
⋅
)
E_{SV}(\cdot)
ESV(⋅)是铰链hinge误差函数,
[
x
]
+
[x]_{+}
[x]+表示x的正数部分
再来看LR回归,为了方便与SVM对比,取
t
∈
{
−
1
,
1
}
t\in \left\{ -1,1\right\}
t∈{−1,1}那么
p
(
t
=
1
∣
y
)
=
σ
(
y
)
p(t=1|y)=\sigma(y)
p(t=1∣y)=σ(y)
p
(
t
=
−
1
∣
y
)
=
1
−
σ
(
y
)
=
σ
(
−
y
)
p(t=-1|y)=1-\sigma(y)=\sigma(-y)
p(t=−1∣y)=1−σ(y)=σ(−y)所以我们能得出
p
(
t
=
1
∣
y
)
=
σ
(
t
y
)
p(t=1|y)=\sigma(ty)
p(t=1∣y)=σ(ty)取似然函数的负对数形式并带正则化作为误差函数
∑
n
=
1
N
E
L
R
(
y
n
t
n
)
+
λ
∣
∣
w
∣
∣
2
\sum_{n=1}^{N}E_{LR}(y_{n}t_{n})+\lambda||w||^{2}
n=1∑NELR(yntn)+λ∣∣w∣∣2
E
L
R
(
y
n
t
n
)
=
l
n
(
1
+
e
x
p
(
−
y
n
t
n
)
)
E_{LR}(y_{n}t_{n})=\mathrm{ln}(1+exp(-y_{n}t_{n}))
ELR(yntn)=ln(1+exp(−yntn))为了方便对比我们对
E
L
R
E_{LR}
ELR除以
l
n
(
2
)
\mathrm{ln(2)}
ln(2),四种误差函数对比如下所示,蓝色是SVM的hinge,红色是LR,黑色是误分类,绿色是平方误差
我们可以看到hinge与LR形式相近,但hinge在大于1时产生稀疏解。hinge和LR函数都可以看成是误分类误差函数的连续近似。有时候也可以用一个平方误差去近似,但平方误差会着重强调那些被正确分类的在正确一侧距离决策边界较远的点。如果这些点是误分类的,那么也会被赋予较高的权值。因此我们对于最小化分类错误率来说,更好的选择是一个单调递减的函数。
LR与SVM的区别,和大家分享:
1、LR可以输出属于每一类别的概率,SVM则不行
2、LR是基于概率最大化推导的,而SVM是基于最大化几何间隔推导的
3、SVM的决策超平面只有少量的支撑向量决定,而LR所有的样本都参与决策面的更新,所以SVM对异常数据并不敏感,LR更加敏感
4、SVM依赖数据表达的距离测度,所以需要先对数据进行标准化处理,但是LR不需要。