【第二章:机器学习与神经网络概述】02.降维算法理论与实践-(3)多维尺度分析(Multidimensional Scaling, MDS)

第二章: 机器学习与神经网络概述

第二部分:降维算法理论与实践

第三节:多维尺度分析(MDS)

内容:距离矩阵、嵌入空间维数选择


一、什么是 MDS?

多维尺度分析(MDS) 是一种以“保留样本之间距离关系”为核心的非监督降维方法。它将高维数据投影到低维空间,同时尽量保留样本间的“几何距离(相似性)”。

适用于:

  • 数据没有明确标签;

  • 你关心的是“样本之间的相似关系”。


二、核心思想与数学原理
输入:距离矩阵(Distance Matrix)

假设有 n 个样本,原始维度为 d,你先计算任意两个样本之间的“距离”,形成一个 n×n 的距离矩阵 D。

  • 常用距离:欧几里得距离、曼哈顿距离、余弦距离等。

输出:嵌入空间坐标

MDS 找出 n 个样本在一个低维空间(如 2D、3D)中的坐标,使得样本间的几何距离与原始距离矩阵尽可能一致。


三、MDS 主要步骤

  1. 计算样本之间的距离矩阵 D

  2. 使用中心化和特征分解,重构样本在新坐标系下的表示

  3. 选择前 k 个最大特征值对应的特征向量,作为降维后的坐标


四、Python 示例

from sklearn.datasets import load_iris
from sklearn.manifold import MDS
import matplotlib.pyplot as plt

# 加载数据
iris = load_iris()
X = iris.data
y = iris.target

# MDS 降维
mds = MDS(n_components=2, dissimilarity='euclidean', random_state=42)
X_mds = mds.fit_transform(X)

# 可视化
plt.figure(figsize=(7, 5))
plt.scatter(X_mds[:, 0], X_mds[:, 1], c=y, cmap='Accent', edgecolor='k', s=60)
plt.title("MDS: Iris 数据集二维表示")
plt.xlabel("MDS 1")
plt.ylabel("MDS 2")
plt.grid(True)
plt.show()

 


五、与 PCA/LDA 的对比
方法类型是否监督优化目标
PCA线性无监督最大化方差
LDA线性有监督增大类间距、减小类内距
MDS非线性可选无监督保留原始样本间的距离结构

六、嵌入空间维数选择
  • 通常选择 2 或 3 维用于可视化;

  • 若用于后续建模,可选择解释误差最小的维度;

  • 应结合目标和误差权衡:维度越多越准确,但不利于解释和计算。


七、总结
  • MDS 不依赖标签,适合探索数据之间的“相似关系”;

  • 可作为可视化工具前置降维步骤

  • 与 t-SNE、Isomap 一起归类为流形学习方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值