【学习内容:西瓜书与南瓜书第三章(3.4线性判别分析)】
二分类线性判别分析
**【概念】**线性判别分析(LDA)是一种经典的线性学习方法,主要思路是,将样例投影到一条直线上面,可以使得同类样例的投影点尽可能接近,不同的样例之间距离尽可能远;然后针对新的样本进行分类时,根据其投影的位置来判断其样本类别。
图中
x
1
、
x
2
x_{1} 、x_{2}
x1、x2 表示特征空间。
下面通过数学公式来解释和实现。
针对同类样例的投影点尽可能接近,即值越小越好,有协方差
w
T
∑
0
w
w^{T} {\textstyle \sum_{0}^{}} w
wT∑0w、
w
T
∑
1
w
w^{T} {\textstyle \sum_{1}^{}} w
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
J=\frac{\left \| w^{T} \mu _{0} -w^{T} \mu _{1} \right \| _{2}^{2}}{w^{T} {\textstyle \sum_{0}^{}}w+w^{T} {\textstyle \sum_{1}^{}}w}
J=wT∑0w+wT∑1w
wTμ0−wTμ1
22
【定义】2范数
【定义】“类内散度矩阵”
S
w
=
∑
0
+
∑
1
=
∑
x
∈
X
0
(
x
−
μ
0
)
(
x
−
μ
0
)
T
+
∑
x
∈
X
0
(
x
−
μ
1
)
(
x
−
μ
1
)
T
S_{w}= {\textstyle \sum_{0}^{}} +{\textstyle \sum_{1}^{}} \newline =\sum_{x\in X_{0} }^{}\left ( x-\mu _{0} \right ) \left ( x-\mu _{0} \right )^{T} +\sum_{x\in X_{0} }^{}\left ( x-\mu _{1} \right ) \left ( x-\mu _{1} \right )^{T}
Sw=∑0+∑1=x∈X0∑(x−μ0)(x−μ0)T+x∈X0∑(x−μ1)(x−μ1)T
【定义】“类间散度矩阵”
S
b
=
(
μ
0
−
μ
1
)
(
μ
0
−
μ
1
)
T
S_{b} =\left ( \mu _{0}-\mu _{1} \right ) \left ( \mu _{0}-\mu _{1} \right ) ^{T}
Sb=(μ0−μ1)(μ0−μ1)T
则最大化目标J可以写成, J = ω T S b ω ω T S ω ω J=\frac{\omega ^{T}S_{b} \omega }{\omega ^{T}S_{\omega} \omega } J=ωTSωωωTSbω
\label{Eq.1}
【定义】拉格朗日乘子法
拉格朗日函数为:
L
(
x
,
λ
)
=
f
(
x
)
+
∑
i
=
1
n
λ
i
h
i
(
x
)
L\left ( \mathbf{x} ,\mathbf{\lambda} \right ) =f\left ( \mathbf{x} \right ) +\sum_{i=1}^{n}\lambda _{i}h_{i}\left ( \mathbf{x} \right )
L(x,λ)=f(x)+i=1∑nλihi(x)
其中,
λ
=
(
λ
1
,
λ
2
,
⋯
,
λ
n
)
T
\mathbf{\lambda } =\left ( \lambda _{1},\lambda _{2},\cdots ,\lambda _{n} \right ) ^{T}
λ=(λ1,λ2,⋯,λn)T为拉格朗日乘子。然后对拉格朗日函数关于x求偏导,并令导数等于再搭配约束条件
h
i
(
x
)
=
0
h_{i} \left ( x \right ) =0
hi(x)=0解出x,求解出x的所有即为上述优化问题的所有可能【极值点】。
【求解w】
min
ω
−
ω
T
S
b
ω
s
.
t
.
ω
T
S
b
ω
=
1
⇔
ω
T
S
b
ω
−
1
=
0
\begin{align} &\min_{\omega } \quad -\omega ^{T} S_{b} \omega \\ &s.t. \quad\omega^{T} S_{b} \omega =1\Leftrightarrow \omega^{T} S_{b} \omega-1=0 \end{align}
ωmin−ωTSbωs.t.ωTSbω=1⇔ωTSbω−1=0
套入上面的拉格朗日函数,有
L
(
ω
,
λ
)
=
−
ω
T
S
b
ω
+
λ
(
ω
T
S
ω
ω
−
1
)
L\left ( \mathbf{\omega} ,\mathbf{\lambda} \right ) =-\mathbf{\omega} ^{T} S_{b} \omega +\mathbf{\lambda} \left ( \mathbf{\omega} ^{T} S_{\mathbf{\omega}\mathbf{\omega} }-1 \right )
L(ω,λ)=−ωTSbω+λ(ωTSωω−1)
并对w进行求偏导数,可得
∂
L
(
w
,
λ
)
∂
w
=
−
∂
(
w
T
S
b
w
)
∂
w
+
λ
∂
(
w
T
S
w
w
−
1
)
∂
w
=
−
(
S
b
+
S
b
T
)
w
+
λ
(
S
w
+
S
w
T
)
w
\begin{aligned} \frac{\partial L(\boldsymbol{w}, \lambda)}{\partial \boldsymbol{w}} & =-\frac{\partial\left(\boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{b} \boldsymbol{w}\right)}{\partial \boldsymbol{w}}+\lambda \frac{\partial\left(\boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{w} \boldsymbol{w}-1\right)}{\partial \boldsymbol{w}} \\ & =-\left(\mathbf{S}_{b}+\mathbf{S}_{b}^{\mathrm{T}}\right) \boldsymbol{w}+\lambda\left(\mathbf{S}_{w}+\mathbf{S}_{w}^{\mathrm{T}}\right) \boldsymbol{w} \end{aligned}
∂w∂L(w,λ)=−∂w∂(wTSbw)+λ∂w∂(wTSww−1)=−(Sb+SbT)w+λ(Sw+SwT)w
∂
L
(
ω
,
λ
)
∂
ω
=
−
2
S
b
ω
+
2
λ
S
ω
ω
\frac{\partial L\left ( \mathbf{\omega} ,\mathbf{\lambda} \right )}{\partial \omega } =-2S_{b}\omega +2\lambda S_{\omega }\omega
∂ω∂L(ω,λ)=−2Sbω+2λSωω
根据导数为零,有
−
2
S
b
ω
+
2
λ
S
ω
ω
=
0
-2S_{b}\omega +2\lambda S_{\omega }\omega =0
−2Sbω+2λSωω=0
S
b
ω
=
λ
S
ω
ω
S_{b}\omega =\lambda S_{\omega }\omega
Sbω=λSωω
根据上面
S
b
S_{b}
Sb 的定义有
(
μ
0
−
μ
1
)
(
μ
0
−
μ
1
)
T
ω
=
λ
S
ω
ω
\left ( \mu _{0}-\mu _{1} \right ) \left ( \mu _{0}-\mu _{1} \right ) ^{T} \omega =\lambda S_{\omega }\omega
(μ0−μ1)(μ0−μ1)Tω=λSωω
令
(
μ
0
−
μ
1
)
T
ω
=
γ
\left ( \mu _{0}-\mu _{1} \right ) ^{T} \omega = \gamma
(μ0−μ1)Tω=γ,则有
(
μ
0
−
μ
1
)
γ
=
λ
S
ω
ω
\left ( \mu _{0}-\mu _{1} \right )\gamma =\lambda S_{\omega }\omega
(μ0−μ1)γ=λSωω
则得到,
ω
=
γ
λ
S
ω
−
1
(
μ
0
−
μ
1
)
\omega =\frac{\gamma }{\lambda } S_{\omega}^{ -1} \left ( \mu _{0} -\mu _{1} \right )
ω=λγSω−1(μ0−μ1)
在这里,w的方向直接决定分类的好坏,而其模长并不是需要考虑的,因此 γ λ \frac{\gamma }{\lambda } λγ的大小并不重要,因此为简便计算,可以令其等于1。
思考问题:此时用拉格朗日乘子法求出来的极值点一定是最小值点吗?
答案:是的。因为
−
ω
T
S
b
ω
=
−
∥
ω
T
μ
0
−
ω
T
μ
1
∥
2
2
≤
0
\quad -\omega ^{T} S_{b} \omega=-\left \| \omega ^{T}\mu _{0}-\omega ^{T}\mu _{1} \right \| _{2}^{2} \le 0
−ωTSbω=−
ωTμ0−ωTμ1
22≤0,最大值为0,且存在极值点,因此,当极值点带入且不等于0的时候,一定是极小值点。
广义特征值
设
A
,
B
\mathbf{A,B}
A,B为n阶方阵,若存在数
λ
\lambda
λ,使得方程
A
x
=
λ
B
x
\mathbf{Ax} =\lambda \mathbf{Bx}
Ax=λBx存在非零的解,则称
λ
\lambda
λ为A相对于B的广义特征值,x为A相对于B的属于广义特征值
λ
\lambda
λ的特征向量 。
另外,当
B
=
I
\mathbf{B=I}
B=I(单位矩阵) 的时候,广义特征值问题退化为标准特征值问题。
广义瑞利商
设
A
,
B
\mathbf{A,B}
A,B为n阶厄米(Hermitian)矩阵,且
B
\mathbf{B}
B正定,称
R
(
x
)
=
x
H
A
x
x
H
B
x
(
x
≠
0
)
R\left ( x \right ) =\frac{x^{H}Ax }{x^{H}Bx} \left ( x\ne 0 \right )
R(x)=xHBxxHAx(x=0) 为
A
\mathbf{A}
A相对
B
\mathbf{B}
B于的广义瑞利商。特别地,当
B
=
I
\mathbf{B=I}
B=I(单位矩阵)时,广义瑞利商退化为瑞利商。
【定义】厄米(Hermitian)矩阵
将一矩阵
A
\mathbf{A}
A的行与列互换,并取各矩阵元素的共轭复数,得一新矩阵,称为厄米特共轭,以
A
+
\mathbf{A+}
A+表之。此厄米特共轭有
(
A
B
)
+
=
B
+
A
+
\left ( AB \right ) ^{+} =B^{+}A^{+}
(AB)+=B+A+的性质。
举一个自共轭矩阵的例子:
A
=
(
2
3
+
i
3
−
i
2
)
\mathbf{A} =\begin{pmatrix} 2&3+i \\ 3-i&2 \end{pmatrix}
A=(23−i3+i2)
广义瑞利商的性质:设
λ
i
\lambda _{i}
λi,
x
i
(
i
=
1
,
2
,
…
,
n
)
x _{i} \left ( i=1,2,\dots ,n \right )
xi(i=1,2,…,n)为A相对于B的广义特征值和特征向量,且
λ
1
≤
λ
2
≤
⋯
≤
λ
n
\lambda _{1} \le \lambda _{2} \le\dots \le\lambda _{n}
λ1≤λ2≤⋯≤λn。
min
x
≠
0
R
(
x
)
=
x
H
A
x
x
H
B
x
=
λ
1
,
x
∗
=
x
1
\min_{x\ne 0} R\left ( x \right ) =\frac{x^{H}Ax }{x^{H}Bx} =\lambda _{1} ,x^{*}=x_{1}
x=0minR(x)=xHBxxHAx=λ1,x∗=x1
min
x
≠
0
R
(
x
)
=
x
H
A
x
x
H
B
x
=
λ
n
,
x
∗
=
x
n
\min_{x\ne 0} R\left ( x \right ) =\frac{x^{H}Ax }{x^{H}Bx} =\lambda _{n} ,x^{*}=x_{n}
x=0minR(x)=xHBxxHAx=λn,x∗=xn
总结:本次课程主要是线性判别回归,属于分类的范畴,是一种经典的线性学习方法。主要是通过设计投影方向,使得同类样本之间投影点距离尽可能靠近,异类样本之间的距离尽可能的远,这样对于新样本经过投影后就非常容易判别分类。然后引出相关数学公司,并主要结合广义瑞利商等公式定理来求解 ω \omega ω。
参考资料与文献
1、周志华. 机器学习[M]. 北京:清华大学出版社,2016.
2、谢文睿 秦州 贾彬彬 . 机器学习公式详解 第 2 版[M]. 人民邮电出版社,2023
3、感谢Datawhale小组所做的贡献,本次学习主要参考视频:https://www.bilibili.com/video/BV1Mh411e7VU/?p=6&spm_id_from=333.880.my_history.page.click&vd_source=7f1a93b833d8a7093eb3533580254fe4。