西瓜书+实战+吴恩达机器学习(五)监督学习之线性判别分析 Linear Discriminant Analysis

如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~

0. 前言

线性判别分析LDA的思想非常朴素:给定数据集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近,异类样例的投影点尽可能远离。在分类时,同样将样例投影到直线上,根据位置确定类别。

如下图所示(图源:机器学习):
西瓜书+实战+吴恩达机器学习(五)监督学习之线性判别分析 Linear Discriminant Analysis

1. 线性判别分析参数求解方法

定义Xi μi ΣiX_i\ \mu_i\ \Sigma_i分别为第ii类的样例集合、均值向量、协方差矩阵。

两类样本的中心在直线上的投影表示为wTμiw^T\mu_i

投影到直线上,两类样本的协方差表示为wTΣiww^T\Sigma_iw

使同类样本尽可能接近,最小化wTΣ0w+wTΣ1ww^T\Sigma_0w+w^T\Sigma_1w

使异类样本尽可能远离,最大化wTμ0wTμ122\left\|w^T\mu_0-w^T\mu_1\right\|_2^2

则可得最大化目标:
J=wTμ0wTμ122wTΣ0w+wTΣ1w=wT(μ0μ1)(μ0μ1)TwwT(Σ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}

定义类内散度矩阵Sw=Σ0+Σ1S_w=\Sigma_0+\Sigma_1

定义类间散度矩阵Sb=(μ0μ1)(μ0μ1)TS_b=(\mu_0-\mu_1)(\mu_0-\mu_1)^T

则最大化目标重写为,即广义瑞利商:
J=wTSbwwTSww J=\frac{w^TS_bw}{w^TS_ww}

根据拉格朗日乘子法:
w=Sw1(μ0μ1) w=S_w^{-1}(\mu_0-\mu_1)
其中,奇异值分解Sw=UΣVTS_w=U\Sigma V^T,则Sw1=VΣ1UTS_w^{-1}=V\Sigma^{-1}U^T


如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~