葫芦书笔记----降维

降维

降维可以提升特征表达能力,降低训练复杂度。

PCA最大方差理论

如何定义主成分?从这种定义出发,如何设计目标函数使得降维达到提取主成分的目的?针对这个目标函数,如何对PCA问题进行求解?

速记:通过低维向量表达原始数据,那么低维向量所包含的信息就是主成分。PCA的目标是最大化投影方差。

详细:对于给定的一组数据点 { v 1 , v 2 , . . . , v n } \{v_1,v_2,...,v_n\} {v1,v2,...,vn},其中所有向量均为列向量,中心化后的表示为 { x 1 , x 2 , . . . , x n } = { v 1 − μ , v 2 − μ − μ , . . . , v n − μ } \{x_1,x_2,...,x_n\}=\{v_1-\mu,v_2-\mu-\mu,...,v_n-\mu\} {x1,x2,...,xn}={v1μ,v2μμ,...,vnμ},其中 μ = 1 n ∑ i = 1 n v i \mu=\frac{1}{n}\sum_{i=1}^nv_i μ=n1i=1nvi。我们知道,向量内积在几何上表示为第一个向量投影到第二个向量上的长度,因此向量 x i x_i xi ω \omega ω(单位方向向量)上的投影坐标可以表示为 ( x i , ω ) = x i T ω (x_i,\omega)=x_i^T\omega (xi,ω)=xiTω。所以目标是找到一个投影方向 ω \omega ω,使得 x 1 , x 2 , . . . , x n x_1,x_2,...,x_n x1,x2,...,xn ω \omega ω上的投影方差尽可能大。易知,投影之后均值为0(因为 μ ‘ = 1 n ∑ i = 1 n x i T ω = ( 1 n ∑ i = 1 n x i T ) ω = 0 \mu^`=\frac{1}{n}\sum_{i=1}^nx_i^T\omega=(\frac{1}{n}\sum_{i=1}^nx_i^T)\omega=0 μ=n1i=1nxiTω=(n1i=1nxiT)ω=0,这也是进行中心化的意义),因此投影后的方差可以表示为
D ( x ) = 1 n ∑ i = 1 n ( x i T ω ) 2 = 1 n ∑ i = 1 n ( x i T ω ) T ( x i T ω ) = 1 n ∑ i = 1 n ω T x i x i T ω = ω T ( 1 n ∑ i = 1 n x i x i T ) ω D(x)=\frac{1}{n}\sum_{i=1}^n(x_i^T\omega)^2 =\frac{1}{n}\sum_{i=1}^n(x_i^T\omega)^T(x_i^T\omega) =\frac{1}{n}\sum_{i=1}^n\omega^Tx_ix_i^T\omega =\omega^T(\frac{1}{n}\sum_{i=1}^nx_ix_i^T)\omega D(x)=n1i=1n(xiTω)2=n1i=1n(xiTω)T(xiTω)=n1i=1nωTxixiTω=ωT(n1i=1nxixiT)ω
仔细一看, ω T ( 1 n ∑ i = 1 n x i x i T ) ω \omega^T(\frac{1}{n}\sum_{i=1}^nx_ix_i^T)\omega ωT(n1i=1nxixiT)ω其实就是样本协方差矩阵,将其写为 ∑ \sum 。另外由于 ω \omega ω是单位方向向量,即有 ω T ω = 1 \omega^T\omega=1 ωTω=1。因此要求解一个最大化问题,可表示为
{ m a x { ω T ∑ ω } s . t . ω T ω = 1 \begin{cases} max\{\omega^T\sum\omega\}\\ s.t. \omega^T\omega=1 \end{cases} {max{ωTω}s.t.ωTω=1
引入拉格朗日乘子,并对 ω \omega ω求导令其为0,便可以推出 ∑ ω = λ ω \sum\omega=\lambda\omega ω=λω,此时
D ( x ) = ω T ∑ ω = λ ω T ω = λ D(x)=\omega^T\sum\omega=\lambda\omega^T\omega=\lambda D(x)=ωTω=λωTω=λ
x x x投影后的方差就是协方差矩阵的特征值。我们要找的最大方差也就是协方差矩阵最大的特征值,最佳投影方向就是最大特征所对应的特征向量。次佳投影方向位于最佳投影方向的正交空间中,是第二大特征值对于的特征向量,以此类推。至此,得到以下PCA的求解方法。

(1)对样本数据进行中心化处理。

(2)求样本协方差矩阵

(3)对协方差矩阵进行特征值分解,将特征值从大到小排列。

(4)取特征值前d大对应的特征向量 ω 1 , ω 2 , . . . , ω d \omega_1,\omega_2,...,\omega_d ω1,ω2,...,ωd,通过以下映射将n维样本映射到d维。
x i ‘ = [ ω 1 T x i ω 2 T x i ⋮ ω d T x i ] x_i^`=\begin{bmatrix} \omega_1^Tx_i \\ \omega_2^Tx_i \\ \vdots \\ \omega_d^Tx_i \end{bmatrix} xi=ω1Txiω2TxiωdTxi
新的 x i ‘ x_i^` xi的第d维就是 x i x_i xi在第d个主成分 ω d \omega_d ωd方向上的投影。

PCA最小平方误差理论

看书

线性判别分析

LDA,是一种有监督学习算法,经常被用来对数据进行降维。在PCA中,算法没有考虑数据的标签,只是把原数据映射到一些方差比较大的方向上而已。所以,使用有时使用PCA算法进行降维后再进行分类的效果会非常差。

对于具有类别标签的数据,应当如何设计目标函数舍得降维的过程中不损失类别信息?在这种目标下,应当如何进行求解?

速记:找到一个投影方向,舍得投影后样本尽可能按照原始类别分开。

详细:中心思想:最大化类间距离和最小化类内距离。具体看书。LDA由于模型 简单,表达能力有一定局限性,可以通过引入核函数扩展LDA方法以处理分布较为复杂的数据。

PCA与LDA

LDA和PCA作为经典的降维算法,如何从应用的角度分析其原理的异同?从数学推导的角度,两种降维算法在目标函数上有何区别与联系?

速记:对无监督的任务使用PCA,有监督则用LDA。二者求解方法相似,但原理不同,PCA选择的是投影后数据方差最大的方向。LDA选择的是投影后类内方差小,类间方差大的方向。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值