第5章-维度归约

原文参考
https://onlinecourses.science.psu.edu/stat857/node/11
http://www.doc88.com/p-315762247283.html
http://wenku.baidu.com/link?url=OrBkfJFwZ_l8soN6CRE2B1KAI-988Z0wrzG_K59W39l7ycRTNd6xeH6hFUnRugEywPz1TUsvclcjpeiS8JLJsnd97GrQdHeG4r70BtSTIsS
https://www.cs.nyu.edu/~roweis/papers/llejmlr.pdf
http://arxiv.org/pdf/cs/0212008v1.pdf
多元统计分析
等…


本章主要学习目标:

在第4章中,我们了解了压缩变量的算法,接下来我们熟悉一下高维数据的降维方法。

传统的降维方法包括PCA、LDA,流行学习算包括LLE、ISOMAP、LE、LTSA,如下图:

7.1主成分分析PCA

首先我们定义,输入矩阵X是n*p维的。行代表样本,列代表变量。且X是中心化的,每一列去掉均值。

7.1.1 奇异值分解(SVD)

由现行代数的定理可知,如果一个矩阵A是对称矩阵,那么其一定可以正交对角化。即,存在一个正交矩阵P和一个对角矩阵D使得
A=PDP1=PDPT
那么,A不是对称矩阵的时候呢?
这时就引出了奇异值分解,且任何矩阵都能进行奇异值分解。

假设A是m*n维矩阵,那么 ATA 一定是对称的,可正交对角化。假设v是 ATA 的单位正交基构成的特征向量、λ是对应的特征值,则有:
ATAv=λv
||Av||2=vTATAv=vTλv=λ(v)
||Av||=||Av||2=λ=σ
定义 σ=λ 为矩阵A的奇异值,且奇异值是向量Av的长度。

我们令向量 u=Av||Av||=Avσ
则我们得到,Av=σu

同理,对于n×p 输入矩阵X,可以分解为 X=UDVT

7.1.2 主成分

主成分分析是线性降维的主要方法:

样本X的协方差矩阵,为
S=XTX/N
(注明:因为X已经进行了中心化的处理,所以协方差矩阵可以如上式表示)

如果对 XTX 进行奇异值变换,得
XTX=VDUTUDVT=VD2VT

向量v称为X的(principal component directions)主成分方向坐标基(v已经单位化),如果将X投影到该坐标基上面,就得到了对应的主成分分量。

综上,我们容易得出 zj=Xjvj=ujdj
uj xj 的行向量沿着 vj 向量方向上投影得到的,投影的尺度通过 dj 来控制.

所以,

  • X的主成分为 zj=ujdjj=1,...,p
  • 主成分应该是按照其方差由大到小排序的,根据下面公式可知,按照奇异值的大小排序即得可得到我们想要的排序.
    var(z)=1N(z0)2
    var(z)=1N(ud)2=1NdTuTud=d2N
    (因为已经中心化,所以均值为零)

7.1.3 主成分回归-principal components regression (PCR).

前面我们讲的PCA,是一种无监督学习方法,而PCR就是主成分与线性回归的结合,假设提取了M个主成分 z1,...,zm ,然后求

y=β1z1+...+...+βmzm

有时候,PCR的效果并不一定比第6章讲的方法要好,只不过PCA是一个很好的降维方法,在PCA的基础上衍生出来的PCR也是对高维样进行回归的一个重要的参考方向。

7.1.4 偏最小二乘回归-partial least squares (PLS).

偏最小二乘回归结合了多元线性回归、主成分分析以及典型相关分析。

偏最小二乘回归与主成分回归的不同之处在于,主成分回归产生的权重矩阵反映的是预测变量X之间的协方差,而偏最小二乘回归产生的权重矩阵反映的是预测变量X与响应变量Y之间的协方差。

之所以分解矩阵变为X与Y的协方差矩阵,是因为,主成分分析中,会忽略掉那些可能对Y起决定性作用的、但是与其他变量相关性又很小的变量。且主成分只能很好的解释了X,但是并不能保证一定与Y有关。相对的,PLS中分解得到的成分(潜变量),是抽取了与Y相关的X的主要信息。这点上,使得PLS可能比PCR得到更准确的回归。

(1) 典型相关分析

典型相关分析(Canonical Correlation Analysis),是考察一组X变量和一组Y变量(两个及以上Y变量)之间的线性关系的方法。

1936年,Hotelling提出典型相关分析。考虑两组变量的线性组合, 并研究它们之间的相关系数p(T,U).在所有的线性组合中, 找一对相关系数最大的线性组合, 用这个组合的单相关系数来表示两组变量的相关性, 叫做两组变量的典型相关系数, 而这两个线性组合叫做一对典型变量。在两组多变量的情形下, 需要用若干对典型变量才能完全反映出它们之间的相关性。下一步, 再在两组变量的与t1,u1不相关的线性组合中, 找一对相关系数最大的线性组合, 它就是第二对典型变量, 而且p(t2,u2)就是第二个典型相关系数。这样下去, 可以得到若干对典型变量, 从而提取出两组变量间的全部信息。

令,典型变量可被表示为如下形式:
t=a1x1+...+amxm;
u=b1x1+...+bnxn;

然后,我们可以求解t,u的相关系数: Cor(t,u)
最后,用线性规划的方法求解使得Cor(t,u)最大的参数a和b。

(2) 典型相关的思想下,如何求解PLS:

假设要对,因变量 Y=Y1,...,Yp
自变量 X=X1,...,Xm ,的样本对象进行建模。

PLS的做法是:

首先,在自变量集中提取第一成分 T1
T1=w11X1+...+w1mXm
同时,也在因变量集中提取第一成分 U1
U1=v11Y1+...+v1pYp

求解目标,为
max(T1)>max
max(U1)>max
Corr(T1,U1)>max
且, ||w1||=||v1||=1

然后,建立 Y T1 的,以及 X T1 的回归方程。如果回归方程的精度达到满意程度,则终止算法;否则继续提取第二成分…(假设直到 Tr 为止)。

X0=t1α1+E1
Y0=t1β1+F1
其中, t1 为n维向量,
α1=(α11,...,α1m),β1=(β11,...,β1p)
E1F1
如果精度没有满足,则继续用回归得到残差矩阵 E1,F1 继续回归,得到 t2,α1...

最后,PLS通过建立Y与 T1,...,Tr 的回归方程,进而表示为Y与原自变量X的回归方程,实现偏最小二乘回归方程。

关于PLS的R实现,可以阅读此书

7.2 线性判别分析LDA

LDA的全称是Linear Discriminant Analysis(线性判别分析),是一种supervised learning。有些资料上也称为是Fisher’s Linear Discriminant,因为Ronald Fisher在1936年发明了这个算。

LDA的原理是将带有类标签的数据投影到低维空间,投影后,使得统一类标签的样本数据”更近”,不同类之间”更远”。LDA算法涉及到了降维的思想,而且其本身也是一种分类方法。

具体实现步骤如下:
1. 样本的类别数为c,下面以c=2为例;
2. w是n维空间中任一向量,x在w上的投影为 wTx
3. mi 为所属c类的x的样本的质心,令
m1=1N1nc1wTxn ;
m2=1N2nc2wTxn ;
4. Fisher 判别准则,为
J(w)=(m2m1)2s21+s22
等价于:
J(w)=wtSBwwtSww
其中,
SB=(m2m1)(m2m1)T
表示类间离散度矩阵
SW
表示类内离散度矩阵

5,求解W
W是我们要求得的投影向量。我们通过W生成新的坐标轴,使不同类别的样本数据在新Y轴的投影中能最大程度的分离。

max: J(w)=wtSBwwtSww
s.t. WtW=I

在人脸识别中,Belhumeur等人用PCA将人脸图像投影到一个子空间,然后再实施LDA,得到最终的投影矩阵 U=UpcaUlda 命名为”Fisherfaces”

此外,基于LDA,还有许多衍生的判别模型:
Mixture Discriminant Analysis (MDA)
Gaussian Discriminant Analysis(GDA)
Quadratic Discriminant Analysis (QDA)
Flexible Discriminant Analysis (FDA)

7.3局部线性嵌入LLE

简单的讲,该方法是把高维空间数据点按维数映射到低维嵌入空间,即Xi→Yi。

整个问题最后被转化为两个二次规划问题。

LLE(ocal linear embedding)算法可以归结为三步:

  1. 寻找每个样本点 Xi 的k个近邻点;
  2. 由每个样本点 Xi 的近邻点计算出该样本点的局部重建权值矩阵 Wij ;
  3. 由该样本点的局部重建权值矩阵 Wij 和其近邻点计算出对应的低维向量 Yi .

E(W)=i|XijWijXj|2 - - - - - - - -Equation(1)
其中, Xj 表示 Xi 点的第j个近邻,且对于非近邻点 Wij=0 ,对于近邻点 jWij=1

在限制条件下,通过上述方程1,最小化重构错误E(W)得到的最优权值W,遵循如下对称特性,即对于特定的数据点,在其本身和其邻居数据点有旋转、缩放、平移操作时将保持其原有性质不变。

f(Y)=i|YijWijYj|2 - - - - - - - -Equation(2)
其中, Yi 是输出向量, Yj 表示 Yi 的第j个近邻,
且满足 yi=0 1Nyiyi=I

根据方程1得到权重W后,根据上述方程2,求解得到输出向量Y。将所有的样本点映射到低维空间,即在低维空间中,根据W的几何信息进行点的重建。

根据方程2的满足条件,求解:min(f(x))

在整个求解过程中,近邻K的个数是很重要的,但是其仅仅是个经验参数,并没有很好的办法进行确定,通常算法规定K必须大于样本输出的维数。

选取最优的K

应满足,在选取K条件下,应用LLE算法,使得输入点的相对位置与输出点的相对位置尽量保持一致。通常映射的好坏,可以通过输入点与输出点之间的偶合情况来表示。(输入点之间的距离矩阵和输出点之间的距离矩阵的关系系数衡量)

kopt=argmin(1ρDx,Dy)2

其中,ρ表示两个矩阵间的标准线性相关系数。
Dx 表示输入样本(高维)之间的距离矩阵, Dy 表示输出样本(低维)之间的距离矩阵。

7.4拉普拉斯特征映射LE

Laplacian Eigenmaps与LLE方法有一些共有的特性。都是对几何流行(manifold)进行降维方法。

拉普拉斯矩阵的一些特性已经被广泛用于聚类(如谱聚类)和划分问题。某种意义上讲,聚类和降维是一个问题的正反面,所以LE算法试图通过拉普拉斯矩阵的相关方法把问题从谱聚类中转向降维。

假设:
Rl 空间中,有 x1,...,xk ,k个点

我们的目标是
Rm (m远远小于l)空间中,找到 y1,...,yk
使得在低维空间中的 yi 可以”代表”高维空间中的 xi

LE算法:

1). 构建邻接图( Adjacency Graph)
计算两个近邻点 xi,xj 之间的距离,如果认为两个点是“相近”的,则在两点之间添加一条边。如何判断”相近”,有两种方法:

a). 根据阈值ε来判断 ||xixj||2<ε
凡是满足上述等式的就算作近邻
缺点:很难确定ε;优点:保留了几何上的对称性

b). 根据个数n来判断
通过计算n个最近的点作为近邻
缺点:非几何特性驱动,可能很远的第n个点也作为近邻
优点:很容易选择,不会出现断开的图

2). 计算边的权重
计算边的权重来描述两个点之间的“远近”程度,同样有两种方法来计算边的权重:

a). 利用热核函数,如果点i和点j是连接的(确定是近邻点),则
Wij=e||xixj||2t
如果不是近邻,则, Wij=0

b). 简单模式:t->∞ , 即有连接的时候 Wij=1 ,否则为0.

3). 特征映射(eigenmaps)

拉普拉斯矩阵的定义:
假定一个图G的邻接矩阵为A,度矩阵为D,则该图的拉普拉斯矩阵L为: L=DA
其中,D为度矩阵,是图中每个点的度(出度入度不重复计算),所以D是对称矩阵,且除了对角线其余位置元素均为零。

结合前两点,此处,我们定义:
Dii=jWji.

区别:
当权重的计算用的是热核函数(t≠∞),那么其权值可能为非整数,所以矩阵D中的元素可能是非整数的,这是与常规定义的度矩阵的差异。

所以,LE算法中的拉普拉斯矩阵定义为: L=DW

计算其特征值与特征向量: Lf=λDf
可以得到k个特征向值,并对其进行排序,得到
λ0,...,λk1 ,且
0=λ0λ1,......,λk2λk1

不考虑0值,我们取较大的特征值λ
xi>(f1(i),...,fm(i))
作为m维欧几里得空间

7.5局部切空间排列算法LTSA

LTSA算法的思想是找出每个数据点的邻近点,用邻域中低维切空间的坐标近似表示局部的非线性几何特征;再通过变换矩阵将各数据点邻域切空间的局部坐标映射到统一的全局坐标上;最后,经过一些列数学推导,将求解整体嵌入坐标问题转换为求解矩阵的特征值问题,从而实现高维数据的维度约简。

具体实现步骤如下:

  1. 选取邻域。
    对样本点 xi ,选取包含其自身在内的k个近邻点作为邻域; xij(j=1,..,k) 是其k个邻近点; x¯i 为上述k个邻近值的均值;
  2. 局部线性拟合。
    计算点 xi 处d维切空间的正交基 Qi 和每一个 xij 在切空间上的正交投影 θij=QTi(xijx¯i)
  3. 局部坐标整合
    根据n个局部投影 θi=[θi1,θi2,...,θik] ,计算全局坐标 T= {τi}ni=1
    τi=[τi1,τi2,...,τik]

7.6MDS

MDS是通过对样本数据的相似性矩阵(相关矩阵或距离矩阵)进行适当的谱分解,得到能够近似表示高维数据的相对构造的、在低维空间中的投影,进而对原数据进行降维的一种方法。其思想和主成分分析(PCA)非常相似。在欧氏距离之下,这种算法求得的主坐标(principal coordinates)相当于PCA中前t个主成分的得分。

假设输入矩阵为
X=x1,x2,...,xnRp

X的距离阵为 D=(dij)
d2ij=(xixj)T(xixj).

算法步骤:

1), 根据距离阵D计算矩阵B

定理: 令
A=(aij),aij=12d2ij ,
H=In1n1n1n 是中心化的变化矩阵
B=HAH
则, D 是欧式型的距离阵的充要条件:
B 是半正定矩阵,即 B0

必要性证明:

设D是欧式型的,则存在 xi ,使得两点的距离:
d2ij=(xixj)T(xixj)=2aij

由矩阵B的定义,得
B=HAH=A1nAJ1nJA+1n2JAJ
,其中 J=1n1n

可得,
bij=(aijai.a.j+a..)
其中,
ai.=1nnj=1aij
a.j=1nni=1aij
a..=1n2ni=1nj=1aij

再带入 2aij=(xixj)T(xixj)

得,
bij=(xix)T(xix)

可推得
B=(HX)(HX)T0

必要性证毕.

充分性证明:

当B≥0时,记Λ = diag( λ1,...,λk )
为B的特征根对角矩阵,
Γ 为对应的n*k 维特征向量矩阵

则, BΓΛΓT
定义 BΓΛ1/2 ,则 BZZT
这里写图片描述
这里写图片描述

2) 对矩阵B进行谱分解

7.7 ISOMAP

Isomap以MDS为计算工具,创新之处在于计算高维流形上数据点间距离时,不是用传统的欧式距离,而是采用微分几何中的测地线距离(或称为曲线距离),并且找到了一种用实际输入数据估计其测地线距离的算法(即图论中的最小路径逼近测地线距离)。

7.8 KPCA

入svm一样,KPCA运用了核方法对技巧,将原空间中的数据映射到高维空间.
K(xi,xj)=φ(xi)Tφ(xj)
利用核技巧,我们可以非线性空间 φ(xi) 使用pca方法

猜你喜欢

转载自blog.csdn.net/tongweiganglp/article/details/52036811