数据降维方法docxWord格式文档下载.docx
《数据降维方法docxWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据降维方法docxWord格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。
Ap>
0
我们取前上个特征值所对应的特征向量仏临…皿作为我们的投影方向.那么对于任何一个样本”,我们计算y、=十%$=1,2,…,上,那么我们可以用[妙1,!
/2,•…,班卩来表示样本©
这样可以将数据从n维降到上维。
当k=p=n,即C满秩,并且我们取n个基进行投影时,PCA就相当于对坐标系进行了正交变换。
在PCA中,C的特征值是有明确的物理意义的,它表示了将数据在此特征值対应的特征向量上投影后所得到的投影系数的方差,推导见下面。
Ai=v}XiVi=vfCvi=—£
(t^巧)(uf巧)T
J=1
式中uf巧表示了巧在"
上的投形,由于样本的中心己经被放到了原点,那么这些投影的中心也在零点,显然:
亡昭巧=0>
=1
所以,人的确代表了样本在"
上投影的方差.卜式椎昙田轲I了分衣甘丁.=1Cv=Xv那么,我们可以看到6c;
的主要宦想:
莓数据向使得投形方差较大的方向投影.这样可以尽可能的保留数据信息。
可以用图1来进行说明.
PCI
PC2
图1.PCA示意图(RandyJulian,LillyResearchLaboratories提供)
2-1.2LDA
LDA(LinearDiscriminateAnalysis)的主要思想介绍如卜。
LDA从数据分类的角度来考虑间题,它是监督的模式分类方法。
设有c类样本兀耘…,怒样本属于几维空间,第斤类有M个样本,所有样本的总和为N。
在介绍优化准则之前,我们先定义几个必娶的基本参量。
1.各类样本均值向量"
X
2•总样本均值向量m
3.样本类内离散度矩阵民
4•总类内离散度矩阵S辺
t=i
5.样本类间离散度矩阵:
有两种优化准则的定义,一种是为每类找到一个投影方向s,£
=1,2,・・・,0使得下式最大化:
心)=欝
w-biWi
另一种是为所有的类别找到同一投影方向◎使得下式最大化:
上面两个准则很类似,只不过前者要找C个投影方向.而后者只需要找1个投影方向。
下面通过求解下面的优化问题得到上述两个问趣的解.
求⑼便得
wTSbw
FM~WTSW
取值最大。
下面求使F(3)取极大值的UT.我们用Lagrange乘子法求解。
令分母等于非零常数,即令
wTSw=a/0
定义Lagrange函数为
L(w,A)=wTSf,w—X(wTSw—a)
式中X^JLagrange乘子。
将上式对w求偏导数,得OW
令偏导数为零,得
SfcW*—入Suf=0
即
SbE=ASw*
当样本足够多时,S—般是满秩的,由此可知
S-1SbW*=Awe
可见,3•是S-1S&
的特征向量•由此可知
叫・)-(〃)Tsa_(w-)Tsw-_
(}-(w-)TSw*■(w*)TSW-
可见,计是S"
Sb的最大的特征值所对应的特征向量。
我们回到原来的问题,如果需要为每一类都寻找一个投影向量型,那么如就是S「】Sb的最大的特征值所对应的特征向量;
如果需要为所有的类寻找同一个投形向量如那么“,就是的最大的特征值所对应的特征向量。
在分类时,我们将测试样本』分别向S上投畛得到投影5=叫计算它和第7类样本的投形中心间的距离19-那么样本所属的类别A•满
足如下条件
k=arginin\(x—m^Wi]
l<
i<
c
对于第二种优化准则.分类时只需将上式中的J换为3即可.
可用图2来说明LDA的思路。
图2.LDA示意图(S.Balakrishnama,A.Ganapathirajii提供)
2.1.3PCA和LDA的比较
PCA是从重构的观点进行数据降维的,即它最大化样本方差,尽量保留样本的信息;
而LDA从模式分类的观点出发.最大化样本类间距。
图3可以很好地说明PCA和LDA的区别•
正因为如此.一般认为.在分类时.LDA的效果婆好于PCAo但是,文献[7]中指出,当样本数较少或者样本并没有被均匀采样时.即样本不能很好地表现数据的真实分布时,PCA的分类效果有可能好于LDA,这可以用图4来说明。
°
下面分别介绍一下PCA和LDA的缺陷•
因为PCA是向使得投形方差最大的方向进行投形,那么在图5所示的情况下,PCA会破坏数据原来的信息。
LDA有如下缺陷:
1.隐含了数据是高斯分布的假设。
当数据不是高斯分布时,效果会很差,如图6所示。
2.样本中心是决定因素,而不是样本方差.如图7所示.
尽管PCA和LDA具有上述的缺陷,但是,由于它们易于实现,并且可以达到全局最优解.所有它们仍然是非常流行的数据降维的方法・
a/ae①tL
图3.PCA和LDA的区别(Wikipedia提供)
图4.有两类不同的类别分别代表两个不同的高斯分布。
然而,每类只选出两个样本来用PCA或LDA来进行处理。
直观上感觉.相对于LDA的分类结果.PCA的分类结果是我们更期望得到的。
Dpca和吐"
分别表示了用最近邻算法得到的决策面。
(A.M.MartinezandA.C.Kak提供:
图5.图中有三类呈棒状平行分布的数据。
此时用PCA降维会破坏数据的信息(Wikipedia提供)
图6・当数据不是高斯分布时.投影后混叠很严重(Wikipedia提供)
▲
X1
图7.PCA投影的决定因素是方差.而LDA投影的决定因素是中心(Wikipedia提供)
2.2基于核函数的非线性数据降维方法
核歯数的理论较为复杂,而核函数的思想却很简单。
这里只简要地介绍一下核函数的思想,然后介绍KPCA和KLDA。
假设我们有m个数据巧其中叭€0。
当这些数据在n维空间中线性不可分时,我希望通过一个映射①将数据从八维空间映射到N(N>切维空间中•使得数据在N维空间中是线性可分得•这样•当我们使用PCA或者LDA在N维空间中对数据进行降维时就可以得到较好的结果。
但是如何选取◎才能便得数据在N维空间中线性可分?
并且.即使我们找到了一个映射①,可能N太大以致于无法进行有效的计算。
然而,在实践中人们发现.当对数据处理时.经常会出现求两个向量点积的形式,即出现
①(叭)F(巧)
的形式,于是.我们可以用一个函数来代替这种点积计算,即寻找一个函数K(xi,xj^得
K(xi,xj)=①(叭卩哄巧)
这样可以把求点积的运算转化为求曲数值的问题。
这里的函数K(%,巧便称为核函数。
在k际应用中,我们往往是直接指定K(窃,习)的形式,我们无需知道①(毀)的具体形式。
所以,只要问题最后可以转化为向量Z间的点积问题•都可以用一个核歯数来代替点积.这样得到的方法就是基于核函数的方法.
常用的核函数有以下三种:
1.多项式核曲数
K(x.Xi)=[xTXi+l]d
2.径向基核函数
3.神经网络核函数
K(xyXi)=5[v(xTrt)+c]
S(u)是sigmoid函数。
2.2.1KPCA
假设我们有m个数据巧,工2,…,切,其中百€R”•我们定义一个映射G将数据映射到非线性持征空间F,定义如下:
①:
用TEHIX
我们对数据①街),软助),…,①(丽)用PCA进行处理。
我们希望找到入>
o和特征向量u€F\{0}满足局=g由此可知:
u=总丈①(巧)(①(巧旳=f卑严①(巧)
>
=1j=1
可见,存在一组系数Qi,---,使得
p=①(巧)
我们定义
Kij:
=软叼)
将"
和①的表达式代入下式,
A(^(Zi)Tv)=(❻(斑)丁気),k=1,2,…,m
可得
rnXKa=K2q
其中。
=[5,...,°
枷卩。
为了找到。
的解.我们求解如下的特征值问题
mXa=Ka
在求O的特征向量询L我们需要将"
归一化,即0。
=1。
于是可得
1=〉:
=aTKa=mAaTa
可见,我们需要对a规范化,使得aTa=^o
对于一个测试样本,我们要得到它在u上的投影,可用下面的表达式计算
^(x)Tv=£
ma迪(j:
)T©
(Hi)=y^ajK(xyXi)
t=lt=i
可见,所有的问题都转化为核函数KZ)的计算•
2.2.2KLDA
在前面提到的LDA算法中•我们需要求解
Si,w
现在,假设
w=①(斗)
t
那么上式可以变为
J(a)
其中
Sf=龙曲?
一kkt]
S^=K2-ZNc氐吧
他=歹刀Kijc<
€c
民=命工Kij
i
这样,我们将问题核函数化了,因为丿3)的形式与丿(他)的形式相似,所以a对应于(S蛊)的最大的特征值对应的特征向量.
当S畫奇异时,我们用S畫+0/代替究,选择一个合适的久我们可以保证S*+0/是非奇异的。
2.2.3核函数方法的讨论
任何可以形式化为向量点积的算法都可以采用核函数来代替点积,从而将这种算法核函数化.核函数可以让算法具有非线性分析能力,选用不同的核函数就可以分析不同的非线性特征,而这一切不会增加算法的复杂度,我们只需要对核函数进行计算,不需要显示地将数据映射到高维空间进行处理。
然而.对于一个给定的问题.如何选择核函数是一个缺乏理论指导的问题。
这需要通过经验和实验来确定。
2.3基于特征值的非线性数据降维方法
在本节中我们主要介绍MetricMDS算法、ISOMAP算法和LLE算法。
2.3.1MetricMDS
MetricMDS即Metricmultidimensionalscaling®
这个算法可以通过以下问题来阐述。
给定p维空间中的几个点巧卫2,…我们可以很容易地得到它们之间的距离矩阵DD的元素仏表示点孙和点巧之间的欧氏距离。
那么,如果给定nxn的距离矩阵我们能否恢复出这m个点的坐标呢?
显然,如果着个问题有解.那么解也是不唯一的。
因为对于任何一组满足条件的解,我们对它进行平移、旋转.翻转,序得到的点还是满足条件。
这是因为矩阵D只是限制了点之间的相对位置关系,而无法限定点的绝对位置。
经过研究发现,这个问题是有解的,下面我们就来求解这个问题。
在求解之前,我们先定义一个内积矩阵3,定义如下
=br9=xrx9
我们的思路如下:
先通过D求解B,然后通过3求点的坐标。
首先求8。
为了求解:
方便,我们增加一个约束条件,即令所有点的中心位于原点,有
n
J2rr»
=0(匚=1,…,p)
r=l
为了求B,我们将▲=(xr-x.)T(xr-如展开,得到:
必8=X^Xr+X^xa-2x^Xa
由此得到nn
—刀drs2=—刀x[xT+x^xa
r=lr=l
1n1n
穆工此=氓叫工氓
s=la=l
inon
Qu江氓
r=l3=1r=l
由以上几式,我们可以得到
11n1八I
xrXa=-㊁此-云刀此-齐龙此+庐£
刀此)=ara-ar-a,a-ia„
「=1•=】|*=10=1
T8
定义矩阵那么
B=HAH
H=I-^11T,1=(1丄…,炉
下面我们通过B来计算点的坐标.
因为3=XXJ其中X=[巧,…,如丁是nxp的点的坐标矩阵。
r(B)=R(XXt)=r(J)=p
因为〃是对称得半正定矩阵,那么它具有於正特征值和n-计零特征值。
将〃对角化,有
B=心厂
其中A=出ag(入1,入2,…,入几),V=…,如],并且评“=1。
为了方便起
见,不妨设入1>
An>
由于3有n-p^零转征值,那么B可写为
B=V1A1Vir
Ai=diag(入1,…,Ap),Vj=册,…,吟]
因为B=XXT,那么点的坐标矩阵X可写为X=V!
A扌,其中
Af=diag(#,…,汕)
这样我们就得到了点的坐标。
因为特征向量{"
}的符号是任意的,这就反映了解对于翻转具有不变性•
下面我们对上述问题进行进一步的推广。
在实际应用中.我么得到的是n个点之间的差异度矩阵卩“},而不是相点之间的距离这样简单。
设想我们用卩“}代替{必。
}来定义矩阵人我们按同样的表达式由虫计算〃,如果B是半正定的,那么令
B=VKVt=XXT
F面我们考察叭和叭的欧氏距离。
(叭-xs)T(xr-xs)=x[xT+x[x3-2x[
=brr+bss—2brs
=dvr+—2ars
=-2ar9=^rs
可见,我们得到的点r和点s之间的欧氏距离精确地等于给定的点「和点s之间的差异度值当然.这里的结论是在取=lr..,n的维数为"
时得到的。
因为P<
n-1,而在多数情况Tp=n-1,这样我们达不到数据降维的目的。
在实际中,我们希望zrir=l,...,n的维数为那么我们可以取
%=Af=出ag(入*,…,入*)
令1
X=血,…,Zn]T=hAf
这样,我们得到的zr,r=l,...,n的维数为仁不过此时点r和点8之间的欧氏距离已经不严格等于它们之间的差异度值|6“|。
因为这里的差异度矩阵已经不是距离矩阵了.所以我们不能保证B是半正定的。
这时,有以下两种处理方法
1.令6“=Srs+C(1一6rs)9当r=8时,6"
=b否则6"
=0。
即我们在矩阵{心}的非对角线元素上加一个常量c可以证明总存在一个合适的讹得B半正定.
2.另外一种解决方法是简单地忽略B的负的符征值,只取其正特征值及其对应的特征向量来进行降维。
2.3.2ISOMAP
ISOMAP即isometricfeaturemappings
图8显示TISOMAP的基本思想。
在图8(a)中,两点间的欧氏距离并不能真实地反映两点间的关系。
因为数据釆自一个蛋卷形的流形。
而两个点之间沿着蛋卷的最短距离即geodesic距离可以很好地反映两点之间的关系。
ISOMAP的思路就是首先构建一个图,图的顶点就是所有的数据点,当两个点互为邻域点时,连接这两点,并将这条边的权重设置为这两点的欧氏距离。
在图中计算顶点间的最短路径.得到所有数据点之间的距离矩阵,这样我们就得到了所有数据点之间的差异度矩阵,然后用前面提到的metricMDS算法对数据进行降维。
ISOMAP的全部算法分为三个步骤.详述如下:
图&
1SON1AP算法示意图
步骤1:
构建一个连接邻域点的图。
确定点巧是否是点⑰的邻域有两种方法:
一种是看点巧是否是点d的A:
个近邻中的一个,用这种方法判断近邻点得到的算法称为上-ISOMAP;
一种是判断窃和巧间的距离是否小于一个给定的常量€,用这种方法判断近邻点得到的算法称为€-ISOMAP.
步骤2:
计算任意两点巧和巧之间在图中的最短路径,由此得到矩阵Dg。
步骤3:
Dg描述了点之间在流形上的相对位置关系。
有了Dg,我们就可以用前面提到的metricMDS算法对数据进行降维,
下面我们看一下利用ISOMAP得到的试验结果。
图9展示了对698福人造人头图片用ISOMAP进行降维的结果。
这组图片是同一人头在不同的姿态和不同的光照方向下获得的。
图片的大小为64x64,需要在一个4096维的空间中来表示这些图像。
釆用ISOMAP,取K=6,将数据降到三维空间,图中给出了将三维特征中的两维投形到平面上的结果.从图中可以看出,沿着横坐标的正半轴方向,人脸的左右姿态有规律地变化;
沿着纵坐标的正半轴,人脸的上下姿态有规律地变化。
实际上降维结果的第三维表示了光照角度的变化.可见.ISOMAP可以从高维的空间中找到数据最本质的信息。
下面讨论一下ISOMAP一些很好的特性。
显然.当数据整体半移.旋转、翻转时.仕意两点之间的邻域关系不会改变,从而ISOMAP的降维结果也不会改变。
所以,ISOMAP的降维结果对于数据点整体平移、旋转.翻转具有不变性。
其次•ISOMAP的实现比较简单.只需求解一个最短路径问题和一个特征值问题.而这两个问题都有成熟的算法来解决,并且ISOMAP可以得到全局最优的结果。
2.3.3LLE
LLEBPLocallyLinearEmbeddingo
LLE的主要思路是将高维空间中的数据降到低维空间,同时保留数据之间局部的几何信息。
我们可以用图10做一个形象的说明.我们可以想欽用一把剪刀把高维空间中的蛋卷形的流形一块块剪碎,然后在低维空间中拼接起来.这样我们既达到了降维的目的,又保留了点之间的几何关系•
下面详述LLE算法的步骤.LLE的算法分为三个步骤:
确定点巧是否是点叭的邻域。
有两种方法:
一种是看点叼是否是点如的k个近邻中的一个;
一种是判断戎和巧间的距离是否小于一个给定的常量"
对于点刃.我们希望用它的邻域点来重构它,即用3的邻域点的加权来表示点刃,而这些加权系数就可以代表点日处数拯的局部儿何性质,这我们
■■Lightingdtrocbon
图9.ISOMAP的试验结果
图10・将高维空间中的数据降到低维空间中,同时保留点之间的局部儿何关系
稍后将说明。
我们用…,叱n]来表示对点叭的重构系数。
如果点巧不是点4的邻域.那么=00我们希望重构的误差最小.于是我们最小化下式
<
3
在最小化上式时,我们需要加一个约束条件
刀%=1
3
理由马上会讲到。
当数据点整体旋转或者翻转时,最小化上式得到的W是不变的。
由于增加了上面的权系数Z和为1的约束,W•对于数据的整体平移也具有不变性。
可见,w对数据整体的旋转、翻转耳平移具有不变性,所以闪具有很好的几何性质,所以它可以作为数据的局部几何性质的描述。
我们希望将巧,:
=】,•••,71降为1=1,•••,«
.同时保留数据点之间的局部几何信息。
于是,我们最小化以下表达式
①(丫)=刀加-2%沂
i3
于長.我们就可以得到数据在低维空间中的表示S,i=.
LLE的实现也比较简单,上面的两个优化问题最终都可以转化为矩阵求逆和矩阵求特征值问题,无须迭代就可以得到全局最优解。
图11和图12给出了LLE的一些实验结果。
2.3.4ISOMAP与LLE的讨论
ISOMAP和LLE是目前两种主要的用来通过对高维空间中复杂的流形进行降维,从而在统一的坐标系下得到低维的表示。
两种算法都町以得到全局最优解.并且实现都比较简单。
不过两种算法都要求数据能够被很好地采样以便反映流形的真丈构造,所以当样本数很少时,算法可能会得不到很好的结果V
下面从分别谈一从模式分类的角度对ISOMAP和LLE算法的扩展。
首先谈一下对ISOMAP的扩展。
ISOMAP从重构的角度来进行数据降维,所以对于模式分类来说它不是最优的。
有一种扩展是将ISOMAP和LDA结合起来,首先,通过和ISOMAP类似的思路.计算出任意两点之间的近似geodesic距离.得到距离矩阵£
•假设有m个数据,那么用点及与其它点的近似geodesic距离来作为点加的特征,即M的特征人表示为
=l^ij]
然后用LDA算法对这些特征向量进行处理。
其次谈一下对LLE的扩展•
在模式分类问题中,我们需要对新的数据进行映射。
如果采用LLE,那么我们需要将新的数据和原来的数据放到一起,用LLE算法重新计算-遍.才能得到新的数据在低维的映射.然而实际应用中是不能这么做的.因为这太耗费时间了。
为了解决此问题.我们提出两种解决方法:
图11・用LLE对图片序列进行降维的结果。
这组图片是由一个人脸图像在带有噪声的背景上平移形成的。
LLE提取得到的两维特征反映了人脸图片在背景中的不同位置
图12・用LLE对一组嘴唇图片进行降维的结果。
提取出的特征反映了唇型的有规律的变化
1-近似方法
假设我们新增加了一个点叭+1,我们只计算它的领域点对它的重构系数必+1几在这种方法中,我们假设新加入的点对于高维空间中的点和低维空间中的点的映射关系不会造成太大的影响。
2.神经网络方法
我们构建一个多层感知器来学习通过LLE算法得到的高维空间与低维空间的映射关系。
神经网络的输入是原始的高维空间中的数据.即卩维空间中的点劝,i=l,2r..,n;
神经网络的输出是通过LLE算法降维后的点,即g维空间中的点S,2=1,2,•…宀
3总结与讨论
数据降维的方法有很多种,有线性的、非线性的,有基于核函数的,有基于特征值的。
本文中只讨论了比较常用的几种降维的方法。
下面对这些方法做一个简要的总结。
1.PCA
PCA是一种线性的降维方法。
它基于重构的思想对数据进行降维,即它希望尽可能保留数据的信息。
它选择使得投影后方差最