当前位置 : 主页 > 网络编程 > 其它编程 >

PCA,KPCA)

来源:互联网 收集:自由互联 发布时间:2023-07-02
机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的原因,在周志华《机器学习》中用最近邻分类器给了一个解释——数据集
机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的原因,在周志华《机器学习》中用最近邻分类器给了一个解释——数据集需要满足密采样条件,以及高维计

机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的原因,在周志华《机器学习》中用最近邻分类器给了一个解释——数据集需要满足密采样条件,以及高维计算下会有很多麻烦,甚至在尾数特别高的时候连计算内积都变的复杂,这种计算阻碍称为“维数灾难”。其他的原因还有过滤噪音等。

多维缩放(MIDS)

假设样本数m( X∈Rd∗m X∈Rd∗m),样本间的距离矩阵 D∈Rm∗m D∈Rm∗m,其第i行第j列的元素为 distij distij是 xi xi到 xj xj的距离。

这里降维的目标是得到样本在 d′≤d d′≤d的 d′ d′维空间里的表示: Z∈Rd′∗m Z∈Rd′∗m且任意两个样本之间的欧氏距离不变。即( ||zi−zj||=distij ||zi−zj||=distij)

令内积矩阵 B=ZTZ∈Rm∗m B=ZTZ∈Rm∗m, bij=zTizj bij=ziTzj有

dist2ij=||zi||2+||zj||2−2zTizj distij2=||zi||2+||zj||2−2ziTzj

=bii+bjj−2bij =bii+bjj−2bij

为便于计算,令Z被中心化,即质心在原点,则 ∑mi=1zi=0 ∑i=1mzi=0,则:

∑i=1mdist2ij=∑i=1mbii+mbjj−2∑i=1mbij ∑i=1mdistij2=∑i=1mbii+mbjj−2∑i=1mbij

=tr(B)+mbjj =tr(B)+mbjj

∑j=1mdist2ij=tr(B)+mbii ∑j=1mdistij2=tr(B)+mbii

∑i=1m∑j=1mdist2ij=mtr(B)+m∑j=1mbjj=2mtr(B) ∑i=1m∑j=1mdistij2=mtr(B)+m∑j=1mbjj=2mtr(B)

我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,马上就要抢光了。

dist2i.=1m∑i=1mdist2ij disti.2=1m∑i=1mdistij2

dist2.j=1m∑j=1mdist2ij dist.j2=1m∑j=1mdistij2

dist2..=1m2∑i=1m∑j=1mdist2ij dist..2=1m2∑i=1m∑j=1mdistij2

则可以由上式得:

bij=−12(dist2ij−dist2i.−dist2.j+dist2..) bij=−12(distij2−disti.2−dist.j2+dist..2)

由此就可以在保持样本距离矩阵不变并求出内积矩阵B。

接下来求矩阵Z:

可以把B特征值分解为 B=VΛVT,Λ=diag(λ1,λ2,...,λd) B=VΛVT,Λ=diag(λ1,λ2,...,λd)(这是写到现在为止学了线代唯一还记得的:))

原文链接

上一篇:数据结构(java版)
下一篇:没有了
网友评论