【机器学习】必会降维算法之:多维缩放(MDS)

1、引言

小鱼:最近小屌丝 在休假,难得的清闲, 我这也闲言少叙,书归正传,
咱就聊一聊 降为算法之:多维缩放(MDS)

在机器学习和数据科学领域,多维缩放(Multidimensional Scaling,简称MDS)是一种常用的降维技术。

它能够在尽可能保留原始数据点间距离的前提下,将高维数据映射到低维空间中。

2、多维缩放(MDS)

2.1 定义

多维缩放(MDS)是一种统计学方法,用于分析相似度或距离的数据。

它的目标是在低维空间中定位一组对象,使得这些对象之间的距离尽可能地与原始高维空间中的距离相匹配。

2.2 应用场景

MDS在多个领域都有广泛的应用,包括但不限于:

  • 市场研究:分析消费者对不同产品或服务的感知和偏好,帮助企业进行市场定位和产品差异化策略的制定。
  • 品牌管理:通过降维后的二维或三维空间图展示不同品牌之间的相似性和差异性,优化品牌组合和提升品牌价值。
  • 消费者行为分析:分析消费者的购买行为和偏好,识别消费者群体,制定个性化的营销策略。
  • 聚类分析:在聚类分析中,MDS可以帮助我们更好地理解不同类别之间的关系和差异。
  • 可视化:对于高维数据的可视化,MDS是一种非常有效的工具,它可以将数据映射到二维或三维空间中进行展示。

2.3 核心原理

MDS的核心原理是通过优化目标函数来实现高维到低维的映射。
这个目标函数通常包含两个部分:

  • 一是保持原始数据中对象间距离的近似度(stress函数)
  • 二是映射到低维空间的约束条件

MDS试图找到一个低维空间中的点阵P,使得P中各点之间的距离与原始数据中对应对象间的相似性或距离度量尽可能接近。

2.4 实现方式

MDS算法通常分为两大类:度量MDS(Metric MDS, MMDS)非度量MDS(Non-metric MDS, NMDS)

  • 度量MDS:它假设原始数据中的距离度量(如欧氏距离)在低维空间中仍然有效。度量MDS试图找到一个低维空间中的点阵,使得该空间中的距离度量与原始数据中的距离度量尽可能一致。
  • 非度量MDS:它放松了度量MDS的假设,即原始数据中的距离度量在低维空间中可能不再有效。非度量MDS只关注对象间距离的排序关系,而不是具体的距离值。

在这里插入图片描述

2.5 算法公式

MDS算法的具体实现涉及优化一个目标函数,该目标函数通常是一个称为“应力”(stress)的量。应力是布局中距离与相似性矩阵中值的偏差平方和,用于量化低维空间中数据点之间的距离与原始高维空间中数据点之间的距离之间的差异。

目标函数(stress函数)可以表示为

[ S ( P ) = ∑ i < j ( d i j − δ i j ( P ) ) 2 ∑ i < j d i j 2 ] [ S(P) = \sqrt{\frac{\sum_{i<j} (d_{ij} - \delta_{ij}(P))^2}{\sum_{i<j} d_{ij}^2}} ] [S(P)=i<jdij2i<j(dijδij(P))2 ]

其中, ( d i j ) (d_{ij}) (dij) 是原始数据中对象i和j之间的距离或相似性度量, ( δ i j ( P ) ) (\delta_{ij}(P)) (δij(P)) 是它们在低维空间中的距离或相似性度量,P是低维空间中的点阵。

2.6 代码示例

# -*- coding:utf-8 -*-
# @Time   : 2024-05-22
# @Author : Carl_DJ

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

# 假设X是一个(n_samples, n_features)的数据矩阵
X = ...  # 高维数据矩阵

# 初始化MDS模型
mds = MDS(n_components=2)  # n_components是目标低维空间的维数

# 在低维空间中重构数据
X_transformed = mds.fit_transform(X)

# 可视化
plt.scatter(X_transformed[:, 0], X_transformed[:, 1])
plt.xlabel('MDS1')
plt.ylabel('MDS2')
plt.title('MDS Visualization')
plt.show()


在这里插入图片描述

3、总结

多维缩放(MDS)是一种强大的降维技术,它通过尽可能保持数据点间的相对距离,将高维数据映射到低维空间。

MDS不仅适用于心理学和市场研究,还广泛应用于生物信息学和社会网络分析等领域。

理解和掌握MDS及其实现,对于处理和分析高维数据具有重要意义。

我是小鱼

  • CSDN 博客专家
  • 阿里云 专家博主
  • 51CTO博客专家
  • 企业认证金牌面试官
  • 多个名企认证&特邀讲师等
  • 名企签约职场面试培训、职场规划师
  • 多个国内主流技术社区的认证专家博主
  • 多款主流产品(阿里云等)评测一等奖获得者

关注小鱼,学习【机器学习】&【深度学习】领域的知识。

  • 11
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Carl_奕然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值