机器学习知识点总结
SVM
- 二分类模型:特征空间上间隔最大的线性分类器
- 学习目标:在n维数据空间中找到一个超平面
- 学习策略:最大化间隔
- 分类超平面: f ( x ) = w T x + b f(x)=w^Tx+b f(x)=wTx+b, f ( x ) f(x) f(x)小于0对应于 y = − 1 y=-1 y=−1的数据点, f ( x ) f(x) f(x)大于0对应于 y = 1 y=1 y=1的数据点, f ( x ) = 0 f(x)=0 f(x)=0对应于超平面上的点。
- 定义点到超平面的函数间隔: γ i ^ = y i ( w T x i + b ) \hat{\gamma_i}=y_i(w^Tx_i+b) γi^=yi(wTxi+b), 在超平面确定的情况下, ∣ w T x + b ∣ |w^Tx+b| ∣wTx+b∣能够表示点 x x x距离超平面的远近,利用 y y y和 f ( x ) f(x) f(x)的符号可以判断分类正确性。为什么要乘以 y y y? 当分类错误时, y y y和 f ( x ) f(x) f(x)异号,此时 γ ^ \hat{\gamma} γ^为负,我们希望最大化这个间隔(即令它接近0),使得被错误分类的这个点更接近超平面;当分类正确时,同样我们也希望最大化间隔(使它尽可能大于0),使得被正确分类的点更远离超平面。(因此可以通过函数间隔将所有样本点统一起来。无论是分错的还是分对的样本点,都可以令间隔最大化来改善分类性能。)
- 超平面关于训练集 T T T的函数间隔定义为 T T T中所有样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的函数间隔最小值: γ ^ = min γ i ^ \hat{\gamma}=\min \hat{\gamma_i} γ^=minγi^, (i=1,…,n)。
- 几何间隔: γ ~ = y w T x + b ∣ ∣ w ∣ ∣ = γ ^ ∣ ∣ w ∣ ∣ \tilde{\gamma}=y\frac{w^Tx+b}{||w||}=\frac{\hat{\gamma}}{||w||} γ~=y∣∣w∣∣wTx+b=∣∣w∣∣γ^。成比例地改变 w w w和 b b b会影响函数间隔。
- 最大化间隔分类器:当超平面离数据点的间隔越大,分类的确信度(confidence)越高。(注意,当分类错误时,这个间隔为负,当分类正确时,这个间隔为正)
- 最大间隔分类器目标函数:
max
γ
~
\max \tilde{\gamma}
maxγ~, 满足约束条件
y
i
(
w
T
x
i
+
b
)
=
γ
i
^
⩾
γ
^
,
i
=
1
,
.
.
.
,
n
y_i(w^Tx_i+b)=\hat{\gamma_i} \geqslant \hat{\gamma}, i=1,...,n
yi(wTxi+b)=γi^⩾γ^,i=1,...,n (训练集函数间隔定义为所有样本点间隔的最小值)我们令
γ
^
=
1
\hat{\gamma}=1
γ^=1,则上式转化为:
max 1 ∣ ∣ w ∣ ∣ , s . t . , y i ( w T x i + b ) ⩾ 1 , i = 1 , . . . , n \max \frac{1}{||w||}, \ \ s.t., y_i(w^Tx_i+b)\geqslant 1, i=1,...,n max∣∣w∣∣1, s.t.,yi(wTxi+b)⩾1,i=1,...,n
所有满足
y
i
(
w
T
x
i
+
b
)
=
1
y_i(w^Tx_i+b)=1
yi(wTxi+b)=1的点称为支持向量。
上述目标函数等价于:
max
1
2
∣
∣
w
∣
∣
2
s
.
t
.
,
y
i
(
w
T
x
i
+
b
)
⩾
1
,
i
=
1
,
.
.
.
,
n
\max \frac{1}{2}||w||^2 \ \ s.t., y_i(w^Tx_i+b)\geqslant 1, i=1,...,n
max21∣∣w∣∣2 s.t.,yi(wTxi+b)⩾1,i=1,...,n
- 问题求解:对偶算法。通过拉格朗日对偶性变换为对偶问题,通过求解与原问题等价的对偶问题得到原始问题的最优解。(好处:对偶问题更容易求解;更容易引入核函数推广到非线性分类问题。)
构建拉格朗日函数:(将约束条件融合到目标函数中)
L
(
w
,
b
,
α
)
=
1
2
∣
∣
w
∣
∣
2
−
∑
i
=
1
n
α
i
(
y
i
(
w
T
x
i
+
b
)
−
1
)
\mathcal{L}(w,b,\alpha)=\frac{1}{2}||w||^2-\sum_{i=1}^{n} \alpha_i (y_i(w^T x_i +b)-1)
L(w,b,α)=21∣∣w∣∣2−i=1∑nαi(yi(wTxi+b)−1)
令:
θ
(
w
)
=
max
α
i
⩾
0
L
(
w
,
b
,
α
)
\theta(w)=\max_{\alpha_i \geqslant 0 } \mathcal{L}(w,b,\alpha)
θ(w)=αi⩾0maxL(w,b,α)
当某个约束条件不满足时,
θ
(
w
)
=
∞
\theta(w)=\infty
θ(w)=∞,当所有约束条件都满足时,
θ
(
w
)
=
1
2
∣
∣
w
∣
∣
2
\theta(w)=\frac{1}{2}||w||^2
θ(w)=21∣∣w∣∣2。
因此要求在满足约束条件下最小化
1
2
∣
∣
w
∣
∣
2
\frac{1}{2}||w||^2
21∣∣w∣∣2,等价于最小化
θ
(
w
)
\theta(w)
θ(w),所以目标函数转换为:
min
w
,
b
θ
(
w
)
=
min
w
,
b
max
α
i
⩾
0
L
(
w
,
b
,
α
)
=
p
∗
\min_{w,b} \theta(w)=\min_{w,b} \max_{\alpha_i \geqslant 0} \mathcal{L}(w,b,\alpha)=p^*
w,bminθ(w)=w,bminαi⩾0maxL(w,b,α)=p∗ 将最大最小交换获得原始问题的对偶问题:
max
α
i
⩾
0
min
w
,
b
L
(
w
,
b
,
α
)
=
d
∗
\max_{\alpha_i \geqslant 0} \min_{w,b} \mathcal{L} (w,b,\alpha)=d^*
αi⩾0maxw,bminL(w,b,α)=d∗
上述的交换需要满足KKT条件,才有 d ∗ = p ∗ d^* = p^* d∗=p∗, 这时可以通过求解对偶问题来间接地求解原始问题。