若干种降维方法的实现与比较(PCA、MDS)

本文详细探讨了降维在机器学习中的重要性,特别是PCA(主成分分析)和MDS(多维缩放)两种方法。通过原理介绍、代码实现和绘图分析,对比了这两种降维技术的异同。PCA寻找样本方差最大的投影方向,而MDS则旨在保持样本间的原始距离。实验结果显示,PCA在速度上优于MDS,但两者都能有效地实现数据降维。
摘要由CSDN通过智能技术生成

若干种降维方法的实现与比较(PCA、MDS)

新学到一种降维方式MDS,想到之前学过PCA但是也忘得差不多了,心想干脆这次来个包圆儿,一块再学习一遍,以后如果忘记还可以来这里再翻阅😁顺便编程给实现了,然后结合sklearn包里面提供的降维的方法进行了一些对比


1、降维


参考西瓜书里面的讲法,降维是从KNN算法这里引入的,如果大家对KNN算法还不太了解的话,其实就一句话,给定一个新样本,其类别是由原有样本中最接近的 k k k个样本决定的。然后当原有样本数量的维数比较高,可能相隔非常远才有样本,这样跟近邻的概念有些背道而驰了。所以会考虑降低样本的维度,以增加样本在样本空间的密度。

维数灾难,curse of dimensionality,是困扰机器学习在一些场景适用性的一大问题。有的场景中数据分布非常稀疏、维数特别高,会带来距离比较难计算,结果不好解释等问题。所以降维,dimension reduction,是一个有效的途径。

那么为什么可以降维呢,这跟图片压缩差不多的意思,用更加少而精炼的部分来代替整体。降维就是通过一些数学的变换,将原始高位的属性空间转变为一个低维的子空间。样本虽然在观察的时候是高维的,但是跟学习任务相关的也许仅仅是某个低微分布,即高维空间的一个低维“嵌入”(embedding)。


2、MDS降维

2.1、原理介绍

MDS,多维缩放,Multiple Dimensional Scaling,一种经典的降维算法。

主要的特点是能够保持原始样本空间中样本之间的距离和降维后空间相等(或者十分近似)

由于自己也是第一次学习这个概念,还是把推导的过程给敲一遍吧,加深印象。

m m m个样本在原始空间的距离矩阵为 D ∈ R m × m D\in \R^{m×m} DRm×m,第 i i i j j j列元素 d i s t i j dist_{ij} distij是样本 x i x_i xi x j x_j xj之间的距离。MDS的目的是获取样本在 d 1 d_1 d1维空间的表示 Z ∈ R d 1 × m Z\in \R^{d_1×m} ZRd1×m,且任意两个距离在 d 1 d_1 d1维空间的欧氏距离等于原始空间的距离,即 ∥ z i − z j ∥ = d i s t i j \|z_i-z_j\|=dist_{ij} zizj=distij

B = Z T Z ∈ R m × m B=Z^TZ\in \R^{m×m} B=ZTZRm×m为降维后样本的内积矩阵, b i j = z i T z j b_{ij}=z^T_iz_j bij=ziTzj,有 d i s t i j 2 = ∥ z i ∥ 2 + ∥ z j ∥ 2 − 2 z i T z j = b i i + b j j − 2 b i j dist_{ij}^2=\|z_i\|^2+\|z_j\|^2-2z^T_iz_j=b_{ii}+b_{jj}-2b_{ij} distij2=zi2+

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值