机器学习(五)降维

本文介绍了机器学习中的两种降维方法——PCA(主成分分析)和LDA(线性判别分析)。PCA通过最大化方差保留数据信息,适合线性相关变量的无监督降维,但易受异常值影响。LDA是监督降维方法,旨在最大化类别间距离,适用于分类任务,但受限于样本分布和降维维度。

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

机器学习(五)降维

5.1 PCA
d d ′ 维向量表示 d d 维向量样本,使得降维后的数据与源数据平方误差最小(投影到低维子空间中,使得原始数据在这个子空间的各个方向方差最大化)

从最大重构性推导:
  假设样本进行了中心化,ixi=0,假设投影变换后得到的新坐标系为 {w1,w2,...,wd} { w 1 , w 2 , . . . , w d ′ } ,标准正交基,样本点 xi x i 低纬投影为为 zi={zi1,zi2,...,zid} z i = { z i 1 , z i 2 , . . . , z i d ′ } ,其中 zij=wTjwi z i j = w j T w i xi x i 在低纬坐标下第 j j 维的坐标,若基于zi来构建 xi x i ,则会得到 x^i=dj=1zijwj x ^ i = ∑ j = 1 d ′ z i j w j
  有 W,d×d W , d × d ′ zi=WTxi z i = W T x i

i=1m||j=1dzijwjxi||22======i=1m||Wzixi||22i=1m(Wzixi)T(Wzixi)i=1mzTiWTWzi2i=1mzTiWTxi+consti=1mzTizi2i=1mzTiWTxi+consti=1mxTiWWTxi2i=1mxTiWWTxi+consti=1mxTiWWTxi+consttr(WT(i=1mxixTi)W)(5.1.1) ∑ i = 1 m | | ∑ j = 1 d ′ z i j w j − x i | | 2 2 = ∑ i = 1 m | | W z i − x i | | 2 2 = ∑ i = 1 m ( W z i − x i ) T ( W z i − x i ) = ∑ i = 1 m z i T W T W z i − 2 ∑ i = 1 m z i T W T x i + c o n s t = ∑ i = 1 m z i T z i − 2 ∑ i = 1 m z i T W T x i + c o n s t = ∑ i = 1 m x i T W W T x i − 2 ∑ i = 1 m x i T W W T x i + c o n s t = − ∑ i = 1 m x i T W W T x i + c o n s t (5.1.1) ∝ − t r ( W T ( ∑ i = 1 m x i x i T ) W )

目标函数为:
minWtr(WTXXTW)s.t.WTW=I(5.1.2) min W − t r ( W T X X T W ) (5.1.2) s . t . W T W = I

从最大可分性推导:
样本点在空间超平面的投影是 WTxi W T x i ,若使所有样本点尽可能分开,则应使投影样本方差最大化
样本点投影方差是 maxWmi=1WTxixTiW max W ∑ i = 1 m W T x i x i T W
于是优化目标为:

maxWtr(WTXXTW)s.t.WTW=I(5.1.3) max W t r ( W T X X T W ) (5.1.3) s . t . W T W = I

使用拉个朗日乘子法

L(W;λ)=tr(WTXXTW)+λIλWTW(5.1.4) (5.1.4) L ( W ; λ ) = t r ( W T X X T W ) + λ I − λ W T W

LW=2XXTW2λW(5.1.5) (5.1.5) ∂ L ∂ W = 2 X X T W − 2 λ W

上式等于0,可得
XXTW=λW X X T W = λ W

于是只需要对协方差矩阵 XTX X T X 进行特征值分解,对特征进行排序,取前 d d ′ 个特征值对应的特征向量构成 W={w1,w2,...,wd}(5.1.6) (5.1.6) W = { w 1 , w 2 , . . . , w d ′ }

d d ′ 选取方式,指定 d d ′ ,或根据如下阈值

di=1λidi=1λit(5.1.7) (5.1.7) ∑ i = 1 d ′ λ i ∑ i = 1 d λ i ≥ t

特点:
  少数特征值可以表示原数据中的绝大部分信息,剩下的小特征被认为是数据噪音 给丢掉
  适用于变量线性相关 但其未使用Label 无监督 线性关系
  以方差衡量信息的无监督学习,不受样本标签限制,
  各主成分之间正交,可消除原始数据成分间的相互影响
  计算方法简单,易于实现。

缺点:
  特征根的大小决定了我们感兴趣信息的多少。即小特征根往往代表了噪声,但实际上,向小一点的特征根方向投影也有可能包括我们感兴趣的数据;
  特征向量的方向是互相正交(orthogonal)的,这种正交性使得PCA容易受到Outlier的影向
  主成分解释其含义往往具有一定的模糊性,不如原始样本完整
  贡献率小的主成分往往可能含有对样本差异的重要信息
  特征值矩阵的正交向量空间是否唯一有待讨论
  无监督学习

  PCA追求的是在降维之后能够最大化保持数据的内在信息,并通过衡量在投影方向上的数据方差的大小来衡量该方向的重要性。但是这样投影以后对数据 的区分作用并不大,反而可能使得数据点揉杂在一起无法区分。

5.2 LDA
LDA线性判别分心(Fisher Linear Discriminant)是一种有监督的(supervised)线性降维算法。与PCA保持数据信息不同,LDA是为了使得降维后的数据点尽可能地容易被区分

投影到一条直线上,同类尽可能近,异类尽可能远

二分类:
  给定数据集 D=(xi,yi)mi=1,yi{0,1} D = ( x i , y i ) i = 1 m , y i ∈ { 0 , 1 } ,令 Xi,μi,Σi X i , μ i , Σ i 分别表示第 i{0,1} i ∈ { 0 , 1 } 类示例的集合、均值向量、协方差矩阵
  将其投影 得到两类样本中心 wTμ0 w T μ 0 wTμ1 w T μ 1 ,将其所有样本点投影到直线得到两类样本的协方差为 wTΣ0w w T Σ 0 w wTΣ1w w T Σ 1 w
  同类样例的投影点尽可能近,可以让同类样例协方差竟可能小 wTΣ0w+wTΣ1w w T Σ 0 w + w T Σ 1 w
  异类样例的投影点尽可能远,可以上类中心二等距离尽可能的大 ||wTμ0+wTμ1||22 | | w T μ 0 + w T μ 1 | | 2 2

目标函数:

J=||wTμ0wTμ1||22wTΣ0w+wTΣ1w=wT(μ0μ1)(μ0μ1)TwwT(Σ0+Σ1)w(5.2.1) (5.2.1) J = | | w T μ 0 − w T μ 1 | | 2 2 w T Σ 0 w + w T Σ 1 w = w T ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T w w T ( Σ 0 + Σ 1 ) w

定义类内散度矩阵
Sw=Σ0+Σ1=xX0(xμ0)(xμ0)T+xX1(xμ1)(xμ1)T(5.2.2) (5.2.2) S w = Σ 0 + Σ 1 = ∑ x ∈ X 0 ( x − μ 0 ) ( x − μ 0 ) T + ∑ x ∈ X 1 ( x − μ 1 ) ( x − μ 1 ) T

定义类间散度矩阵
Sb=(μ0μ1)(μ0μ1)T(5.2.3) (5.2.3) S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T

改写目标函数
J=wTSbwwTSww(5.2.4) (5.2.4) J = w T S b w w T S w w

LDA最大化为如上目标函数,这个目标函数又称为 Sb,Sw S b , S w 的广义瑞利商
分子分母均存在 wTw w T w w w 的长度与解无关,令wTSww=1,则将目标函数等价于

minwwTSbws.t.wTSww=1(5.2.5) min w − w T S b w (5.2.5) s . t . w T S w w = 1

使用拉格朗日乘子法:

J(w,λ)=wTSbw+λ(wTSww1)(5.2.6) (5.2.6) J ( w , λ ) = − w T S b w + λ ( w T S w w − 1 )

Sb S b 对称,固:
wTSbww=2Sbw(5.2.7) (5.2.7) ∂ w T S b w ∂ w = 2 S b w

Jw=2Sbw+2λSww=0(5.2.8) (5.2.8) ∂ J ∂ w = − 2 S b w + 2 λ S w w = 0

可得到:
Sbw=λSww(5.2.9) (5.2.9) S b w = λ S w w

由于 Sbw=(μ0μ1)(μ0μ1)Tw S b w = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T w 是标量,方向恒为 μ0μ1 μ 0 − μ 1 ,不妨令 Sbw=λ(μ0μ1) S b w = λ ( μ 0 − μ 1 ) 代入 (5.2.9) ( 5.2.9 )
可得:
w=S1w(μ0μ1)(5.2.10) (5.2.10) w = S w − 1 ( μ 0 − μ 1 )

考虑数值解的稳定性,通常进行奇异值分解, Sw=UΣVT S w = U Σ V T ,之后 S1w=UΣ1VT S w − 1 = U Σ − 1 V T ,即可得最佳投影方向

如何降维?:
  由(5.2.9),得 S1wSbw=λw S w − 1 S b w = λ w
  对于矩阵 S1wSb S w − 1 S b 的最大d个特征值对应的d个特征 w1,w2,...wd w 1 , w 2 , . . . w d 组成投影矩阵W
  对于每一个样本 xi x i zi=WTxi z i = W T x i

多分类:
全局散度矩阵定义:

St=Sb+Sw=i=1m(xμ)(xiμ)T(5.2.11) (5.2.11) S t = S b + S w = ∑ i = 1 m ( x − μ ) ( x i − μ ) T

Sw=i=1NSwi(5.2.12) (5.2.12) S w = ∑ i = 1 N S w i

其中:
Swi=xXi(xμi)(xμi)T(5.2.13) (5.2.13) S w i = ∑ x ∈ X i ( x − μ i ) ( x − μ i ) T

5.2.125.2.13 5.2.12 与 5.2.13 mi m i 为类i的个数
Sb=StSw=i=1Nmi(μiμ)(μiμ)T(5.2.14) (5.2.14) S b = S t − S w = ∑ i = 1 N m i ( μ i − μ ) ( μ i − μ ) T

优化目标为:
maxW=tr(WTSbW)tr(WTSwW) max W = t r ( W T S b W ) t r ( W T S w W )

W的闭式解为 S1wSbw S w − 1 S b w 的最大N-1(l类别数-1)个特征值对应的特征向量

优点:
  在降维过程中可以使用类别的先验知识经验,而像PCA这样的无监督学习则无法使用类别先验知识。
  LDA在样本分类信息依赖均值而不是方差的时候,比PCA之类的算法较优

缺点:
  不适用于非高斯分布样本进行降维(PCA也是),PCA一般要进行whitening
  LDA降维最多降到类别数k-1的维数
  LDA可能过度拟合数据。
  LDA在样本分类信息依赖方差而不是均值的时候,较PCA之类的算法差

PCA是为了去除原始数据集中冗余的维度,让投影子空间的各个维度的方差尽可能大,也就是熵尽可能大。LDA是通过数据降维找到那些具有discriminative的维度,使得原始数据在这些维度上的投影,不同类别尽可能区分开来。

5.3 LLE 流行学习
  一种非线性降维算法,它能够使降维后的数据较好地保持原有 流形结构 ,试图保持邻域内样本的线性关系,可以通过领域内样本重构

minw1,w2,...,wni=1m||wijQiwijxj||22s.t.jQiwij=1(5.3.1) min w 1 , w 2 , . . . , w n ∑ i = 1 m | | w i − ∑ j ∈ Q i w i j x j | | 2 2 (5.3.1) s . t . ∑ j ∈ Q i w i j = 1

Qi Q i xi x i 的近邻下集合,令 Cjk=(xixj)T(xixk) C j k = ( x i − x j ) T ( x i − x k ) wij w i j 有闭式解:
wij=kQiC1jkl,sQiC1ls(5.3.2) (5.3.2) w i j = ∑ k ∈ Q i C j k − 1 ∑ l , s ∈ Q i C l s − 1

LLE在低维子空间中 wi w i 不变,于是可以通过如下表达式求解:
minz1,z2,...,zni=1m||zijQiwijzj||22(5.3.3) (5.3.3) min z 1 , z 2 , . . . , z n ∑ i = 1 m | | z i − ∑ j ∈ Q i w i j z j | | 2 2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值