文章目录
如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~
0. 前言
线性判别分析LDA的思想非常朴素:给定数据集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近,异类样例的投影点尽可能远离。在分类时,同样将样例投影到直线上,根据位置确定类别。
如下图所示(图源:机器学习):
1. 线性判别分析参数求解方法
定义 X i μ i Σ i X_i\ \mu_i\ \Sigma_i Xi μi Σi分别为第 i i i类的样例集合、均值向量、协方差矩阵。
两类样本的中心在直线上的投影表示为: w T μ i w^T\mu_i wTμi。
投影到直线上,两类样本的协方差表示为: w T Σ i w w^T\Sigma_iw wTΣiw。
使同类样本尽可能接近,最小化: w T Σ 0 w + w T Σ 1 w w^T\Sigma_0w+w^T\Sigma_1w wTΣ0w+wTΣ1w。
使异类样本尽可能远离,最大化: ∥ w T μ 0 − w T μ 1 ∥ 2 2 \left\|w^T\mu_0-w^T\mu_1\right\|_2^2 ∥∥wTμ0−wTμ1∥∥22。
则可得最大化目标:
J
=
∥
w
T
μ
0
−
w
T
μ
1
∥
2
2
w
T
Σ
0
w
+
w
T
Σ
1
w
=
w
T
(
μ
0
−
μ
1
)
(
μ
0
−
μ
1
)
T
w
w
T
(
Σ
0
+
Σ
1
)
w
\begin{aligned} J&=\frac{\left\|w^T\mu_0-w^T\mu_1\right\|_2^2}{w^T\Sigma_0w+w^T\Sigma_1w}\\ &=\frac{w^T(\mu_0-\mu_1)(\mu_0-\mu_1)^Tw}{w^T(\Sigma_0+\Sigma_1)w} \end{aligned}
J=wTΣ0w+wTΣ1w∥∥wTμ0−wTμ1∥∥22=wT(Σ0+Σ1)wwT(μ0−μ1)(μ0−μ1)Tw
定义类内散度矩阵: S w = Σ 0 + Σ 1 S_w=\Sigma_0+\Sigma_1 Sw=Σ0+Σ1。
定义类间散度矩阵: S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T S_b=(\mu_0-\mu_1)(\mu_0-\mu_1)^T Sb=(μ0−μ1)(μ0−μ1)T
则最大化目标重写为,即广义瑞利商:
J
=
w
T
S
b
w
w
T
S
w
w
J=\frac{w^TS_bw}{w^TS_ww}
J=wTSwwwTSbw
根据拉格朗日乘子法:
w
=
S
w
−
1
(
μ
0
−
μ
1
)
w=S_w^{-1}(\mu_0-\mu_1)
w=Sw−1(μ0−μ1)
其中,奇异值分解
S
w
=
U
Σ
V
T
S_w=U\Sigma V^T
Sw=UΣVT,则
S
w
−
1
=
V
Σ
−
1
U
T
S_w^{-1}=V\Sigma^{-1}U^T
Sw−1=VΣ−1UT。
如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~