【Datawhale-机器学习-Task04-线性判别分析】

【学习内容:西瓜书与南瓜书第三章(3.4线性判别分析)】

二分类线性判别分析

**【概念】**线性判别分析(LDA)是一种经典的线性学习方法,主要思路是,将样例投影到一条直线上面,可以使得同类样例的投影点尽可能接近,不同的样例之间距离尽可能远;然后针对新的样本进行分类时,根据其投影的位置来判断其样本类别。

在这里插入图片描述
图中 x 1 、 x 2 x_{1} 、x_{2} x1x2 表示特征空间。
下面通过数学公式来解释和实现。

针对同类样例的投影点尽可能接近,即值越小越好,有协方差 w T ∑ 0 w w^{T} {\textstyle \sum_{0}^{}} w wT0w w T ∑ 1 w w^{T} {\textstyle \sum_{1}^{}} w wT1w来表示;
针对不同的样例之间距离尽可能远,即值越大越好,有 ∥ w T μ 0 − w T μ 1 ∥ 2 2 \left \| w^{T} \mu _{0} -w^{T} \mu _{1} \right \| _{2}^{2} wTμ0wTμ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=wT0w+wT1w wTμ0wTμ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=xX0(xμ0)(xμ0)T+xX0(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=1nλ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} wL(w,λ)=w(wTSbw)+λw(wTSww1)=(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 220,最大值为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=(23i3+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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值