线性判别分析LDA

线性判别分析是一种降维方法

也是一种特征提取方法

这里写图片描述

线性判别分析是一个线性变换,也就是将原始数据乘以一个变换矩阵 W

Y=WTX

其中 X 就是原始数据,Y是变换后的数据,也就是降维后的矩阵

由上面的示意图就可以看出,实际上LDA就是致力于把数据投影到一个低维空间里面去,在这个低维空间里面,数据具有最大的可分性

公式的推导

设高维特征集 X=x1,x2,...,xn ,其中有 n1 个样本属于第一类 ω1 n2 个样本属于 ω2 ,以此类推,设一共有 C 类,有nC个样本属于 ωC ,则存在一个变换矩阵 W 使得

Y=WTX

假设 m1,m2,...,mC 分别为变换前的每一类样本的均值向量

m 是变换前所有样本的均值向量

假设μ1,μ2,...,μC分别为变换后的每一类样本的均值向量

则有:

μ1=WTm1,μ2=WTm2,...,μC=WTmC

总体均值也存在这样的关系:

μ=WTm

设类间散度描述如下:

J1=c=1Cncμcμ2     =c=1CncWTmcWTm2     =Tr(WTSBW)

其中 SB=c=1Cnc(mcm)(mcm)T ,这是变换前的数据的类间离散度矩阵

设类内离散度矩阵如下:

J2=J21+J22+...+J2C    =xω1WTxWTm12+...+xωCWTxWTmC2    =Tr(WTSWW)

其中 SW=c=1Cxωc(xmc)(xmc)T ,这个矩阵表示类内离散度矩阵

那么LDA实际上致力于使得变换后的数据具有最大可分性,因此它的模型如下:

maxWJ1J2=maxWTr(WTSBW)Tr(WTSWW)

可以转换为求解下面的特征方程:

SBW=λSWW

SW 移到左边就可以发现,其实是求 S1WSB 的特征值和特征向量

将求出来的特征向量按序逐列排列,就得到 W 了,W C1

为什么LDA降维只能降到C-1维?

为什么求出来的 W C1列的?

因为 S1WSB 只有 C1 个特征值。

观察 SB 的表达式可以发现,它由 C 个矩阵相加而成

因此它的秩小于等于这C个矩阵的秩之和

观察这 C 个矩阵可以发现,他们都是由一个列向量乘以这个列向量的转置而得到的

这样的矩阵的秩小等于1

因此SB的秩小等于 C

而实际上,μkμ可以由其他 C1 μi 线性表示
因此因此 SB 的秩为 C1

同理可得 SW 的秩为 C

因此S1W的秩也为 C

因此S1WSB的秩为 C1 (因为两矩阵相乘的秩小于秩较小的那个矩阵的秩)

而秩就代表了非零特征值的个数

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值