线性判别分析(Fisher)

线性判别分析(Fisher LDA)是一种统计方法,用于高维数据的降维,目标是找到一个投影方向,使得类间方差最大而类内方差最小。通过最大化类间与类内方差的比值,Fisher LDA旨在找到最佳投影,使得类别区分度最高。在此过程中,计算了类内协方差矩阵(Sw)和类间协方差矩阵(Sb),并求解使得这两个矩阵比例最大的投影向量w。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

线性判别分析(Fisher)

思想:类内小,类间大
一 个 数 据 的 投 影 : Z i = w T x i 投 影 的 均 值 : Z ˉ = 1 N ∑ i = 1 N Z i = 1 N ∑ i = 1 N w T x i S z = 1 N ∑ i = 1 N ( Z i − Z ˉ ) ( Z i − Z ˉ ) T = 1 N ∑ i = 1 N ( w T x i − Z ˉ ) ( w T x i − Z ˉ ) T 对 于 两 个 类 有 : C 1 : Z 1 ˉ = 1 N 1 ∑ i = 1 N 1 w T x i       S 1 = 1 N 1 ∑ i = 1 N 1 ( w T x i − Z ˉ 1 ) ( w T x i − Z ˉ 1 ) T C 2 : Z 2 ˉ = 1 N 2 ∑ i = 1 N 2 w T x i       S 2 = 1 N 2 ∑ i = 1 N 2 ( w T x i − Z ˉ 2 ) ( w T x i − Z ˉ 2 ) T 一个数据的投影:Z_i=w^Tx_i\\ 投影的均值:\bar{Z}=\frac{1}{N}\sum_{i=1}^NZ_i=\frac{1}{N}\sum_{i=1}^Nw^Tx_i\\ S_z = \frac{1}{N}\sum_{i=1}^N(Z_i-\bar{Z})(Z_i-\bar{Z})^T\\ =\frac{1}{N}\sum_{i=1}^N(w^Tx_i-\bar{Z})(w^Tx_i-\bar{Z})^T 对于两个类有:\\C_1:\bar{Z_1}=\frac{1}{N_1}\sum_{i=1}^{N_1}w^Tx_i\ \ \ \ \ S_1=\frac{1}{N_1}\sum_{i=1}^{N_1}(w^Tx_i-\bar{Z}_1)(w^Tx_i-\bar{Z}_1)^T \\C_2:\bar{Z_2}=\frac{1}{N_2}\sum_{i=1}^{N_2}w^Tx_i\ \ \ \ \ S_2=\frac{1}{N_2}\sum_{i=1}^{N_2}(w^Tx_i-\bar{Z}_2)(w^Tx_i-\bar{Z}_2)^T Zi=wTxiZˉ=N1i=1NZi=N1i=1NwTxiSz=N1i=1N(ZiZˉ)(ZiZˉ)T=N1i=1N(wTxiZˉ)(wTxiZˉ)TC1:Z1ˉ=N11i=1N1wTxi     S1=N11i=1N1(wTxiZˉ1)(wTxiZˉ1)TC2:Z2ˉ=N21i=1N2wTxi     S2=N21i=1N2(wTxiZˉ2)(wTxiZˉ2)T
类间: ( Z 1 ˉ − Z 2 ˉ ) 2 (\bar{Z_1}-\bar{Z_2})^2 (Z1ˉZ2ˉ)2

类内: S 1 + S 2 S_1+S_2 S1+S2

目标函数: ( Z 1 ˉ − Z 2 ˉ ) 2 S 1 + S 2 \frac{(\bar{Z_1}-\bar{Z_2})^2}{S_1+S_2} S1+S2(Z1ˉZ2ˉ)2
( Z 1 ˉ − Z 2 ˉ ) 2 = ( 1 N 1 ∑ i = 1 N w T x i − 1 N 2 ∑ i = 1 N w T x i ) 2 = [ w T ( 1 N 1 ∑ i = 1 N x i − 1 N 2 ∑ i = 1 N x i ) ] 2 = [ w T ( x ˉ c 1 − x ˉ c 2 ) ] 2 = w T ( x ˉ c 1 − x ˉ c 2 ) ( x ˉ c 1 − x ˉ c 2 ) T w {(\bar{Z_1}-\bar{Z_2})^2}=(\frac{1}{N_1}\sum_{i=1}^Nw^Tx_i-\frac{1}{N_2}\sum_{i=1}^Nw^Tx_i)^2\\ =[w^T(\frac{1}{N_1}\sum_{i=1}^Nx_i-\frac{1}{N_2}\sum_{i=1}^Nx_i)]^2\\ =[w^T(\bar{x}_{c1}-\bar{x}_{c2})]^2\\ =w^T(\bar{x}_{c1}-\bar{x}_{c2})(\bar{x}_{c1}-\bar{x}_{c2})^Tw (Z1ˉZ2ˉ)2=(N11i=1NwTxiN21i=1NwTxi)2=[wT(N11i=1NxiN21i=1Nxi)]2=[wT(xˉc1xˉc2)]2=wT(xˉc1xˉc2)(xˉc1xˉc2)Tw

S 1 = 1 N 1 ∑ i = 1 N 1 ( w T x i − Z ˉ 1 ) ( w T x i − Z ˉ 1 ) T = 1 N 1 ∑ i = 1 N 1 [ w T ( x i − 1 N 1 ∑ i = 1 N 1 x i ) ( x i − 1 N 1 ∑ i = 1 N 1 x i ) T w ] = w T [ 1 N 1 ∑ i = 1 N 1 ( x i − x ˉ c 1 ) ( x i − x ˉ c 1 ) T ] w = w T S c 1 w 因 此 有 : S 1 + S 2 = 1 N 1 ∑ i = 1 N ( w T x i − Z ˉ ) ( w T x i − Z ˉ ) T + 1 N 2 ∑ i = 1 N ( w T x i − Z ˉ ) ( w T x i − Z ˉ ) T = w T S c 1 w + w T S c 2 w = w T ( S c 1 + S c 2 ) w S_1=\frac{1}{N_1}\sum_{i=1}^{N_1}(w^Tx_i-\bar{Z}_1)(w^Tx_i-\bar{Z}_1)^T\\ =\frac{1}{N_1}\sum_{i=1}^{N_1}[w^T(x_i-\frac{1}{N_1}\sum_{i=1}^{N_1}x_i)(x_i-\frac{1}{N_1}\sum_{i=1}^{N_1}x_i)^Tw] \\ =w^T[\frac{1}{N_1}\sum_{i=1}^{N_1}(x_i-\bar{x}_{c1})(x_i-\bar{x}_{c1})^T]w \\ =w^TS_{c1}w \\ 因此有: S_1+S_2=\frac{1}{N_1}\sum_{i=1}^N(w^Tx_i-\bar{Z})(w^Tx_i-\bar{Z})^T+\frac{1}{N_2}\sum_{i=1}^N(w^Tx_i-\bar{Z})(w^Tx_i-\bar{Z})^T\\ =w^TS_{c1}w+w^TS_{c2}w\\ =w^T(S_{c1}+S_{c2})w S1=N11i=1N1(wTxiZˉ1)(wTxiZˉ1)T=N11i=1N1[wT(xiN11i=1N1xi)(xiN11i=1N1xi)Tw]=wT[N11i=1N1(xixˉc1)(xixˉc1)T]w=wTSc1wS1+S2=N11i=1N(wTxiZˉ)(wTxiZˉ)T+N21i=1N(wTxiZˉ)(wTxiZˉ)T=wTSc1w+wTSc2w=wT(Sc1+Sc2)w

目 标 函 数 转 换 为 : J ( w ) = w T ( x ˉ c 1 − x ˉ c 2 ) ( x ˉ c 1 − x ˉ c 2 ) T w w T ( S c 1 + S c 2 ) w 目标函数转换为:J(w)=\frac{w^T(\bar{x}_{c1}-\bar{x}_{c2})(\bar{x}_{c1}-\bar{x}_{c2})^Tw}{w^T(S_{c1}+S_{c2})w} J(w)=wT(Sc1+Sc2)wwT(xˉc1xˉc2)(xˉc1xˉc2)Tw

我 们 用 S b 表 示 为 b e t w e e n − c l a s s : 类 间 方 差 S w 表 示 为 w i t h − c l a s s : 类 内 方 差 J ( w ) = w T S b w w T S w w ∂ J ( w ) ∂ w = 2 S b w ( w T S w w ) − 1 + w T S b w ( − 1 ) ( w T S w w ) − 2 ∗ 2 S w w = 0 于 是 我 们 得 到 : S b w ( w T S w w ) − w T S b w S w w = 0 ( 其 中 w T S w w 、 w T S b w 都 是 1 ∗ 1 维 的 常 数 ) S w w = w T S w w w T S b w S b w w = w T S w w w T S b w S w − 1 S b w ∝ S w − 1 S b w = S w − 1 ( x ˉ c 1 − x ˉ c 2 ) ( x ˉ c 1 − x ˉ c 2 ) T w ( 其 中 ( x ˉ c 1 − x ˉ c 2 ) T w 是 一 个 1 ∗ 1 的 常 数 ) ∝ S w − 1 ( x ˉ c 1 − x ˉ c 2 ) 我们用S_b表示为between-class:类间方差\\ S_w表示为with-class:类内方差\\ J(w)=\frac{w^TS_bw}{w^TS_ww}\\ \frac{\partial J(w)}{\partial w}=2S_bw(w^TS_ww)^{-1}+w^TS_bw(-1)(w^TS_ww)^{-2} *2S_ww=0\\ 于是我们得到:S_bw(w^TS_ww)-w^TS_bwS_ww=0(其中w^TS_ww、w^TS_bw都是1*1维的常数)\\ S_ww=\frac{w^TS_ww}{w^TS_bw}S_bw\\ w=\frac{w^TS_ww}{w^TS_bw}S_w^{-1}S_bw\\ \propto S_w^{-1}S_bw=S_w^{-1}(\bar{x}_{c1}-\bar{x}_{c2})(\bar{x}_{c1}-\bar{x}_{c2})^Tw(其中(\bar{x}_{c1}-\bar{x}_{c2})^Tw是一个1*1的常数)\\ \propto S_w^{-1}(\bar{x}_{c1}-\bar{x}_{c2}) Sbbetweenclass:Swwithclass:J(w)=wTSwwwTSbwwJ(w)=2Sbw(wTSww)1+wTSbw(1)(wTSww)22Sww=0Sbw(wTSww)wTSbwSww=0(wTSwwwTSbw11)Sww=wTSbwwTSwwSbww=wTSbwwTSwwSw1SbwSw1Sbw=Sw1(xˉc1xˉc2)(xˉc1xˉc2)Tw((xˉc1xˉc2)Tw11)Sw1(xˉc1xˉc2)

因此 w w w的方向就是由 S w − 1 ( x ˉ c 1 − x ˉ c 2 ) S_w^{-1}(\bar{x}_{c1}-\bar{x}_{c2}) Sw1(xˉc1xˉc2)确定

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

call me Patrick

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值