可视化 | (四)可视化降维

文章目录

  • 📚降维的重要性
  • 📚MDS、PCA
    • 🐇MDS
    • 🐇PCA
  • 📚SNE
    • 🐇总述
    • 🐇SNE
    • 🐇Symmetric-SNE
    • 🐇T-SNE

📚降维的重要性

  • 降维在数据分析和可视化领域中扮演着重要的角色。当面对高维数据时,我们往往面临着难以理解、分析和可视化的问题。高维数据不仅难以可视化,而且在某些机器学习算法中,高维度数据也可能导致过拟合问题。因此,降维可以帮助我们减少数据的维度,提高数据的可视化和分析能力,同时减少计算的复杂性。
    在这里插入图片描述

在这里插入图片描述

📚MDS、PCA

  • MDS (多维尺度变换) 和 PCA (主成分分析) 算法是常用的降维技术。

🐇MDS

  • MDS算法的基本思想是通过计算数据点之间的距离矩阵,并尝试在低维空间中重新构建数据点之间的距离矩阵。具体来说,MDS算法首先计算原始数据点之间的距离,然后通过优化算法在低维空间中找到合适的投影,使得在低维空间中的距离与原始距离最接近。
    在这里插入图片描述

  • 多维尺度分析MDS详解

  • 数据降维-MDS

  • 各种降维算法资源

🐇PCA

  • PCA算法的基本思想使用特征值分解来寻找数据中具有最大方差的主成分。PCA将高维数据通过线性变换映射到低维空间,并保留了最重要的特征。具体来说,PCA算法首先创建一个数据矩阵,然后通过减去均值来将数据中心化。接下来,它计算数据的协方差矩阵,并找到该矩阵的特征向量和特征值。最后,PCA算法根据特征向量将数据映射到新的低维空间。
  • PCA主成分分析

📚SNE

🐇总述

  • SNE、Symmetric-SNE和T-SNE的基本思想都是通过测量数据点之间的相似性并在低位空间中重建这种相似性来进行降维。
  • SNE (Stochastic Neighbor Embedding) 是一种降维算法,通过使用高维空间中数据点之间的相似性来在低维空间中表示数据。SNE算法基于两个关键思想:首先,相似的数据点在高维空间中应该保持相似的距离。其次,不相似的数据点在高维空间中应该保持不相似的距离。SNE通过最小化两个分布之间的KL散度来实现这些目标
  • Symmetric-SNE是对SNE算法的改进,通过在SNE映射中使用对称的条件概率来解决了SNE算法的对称性问题。这可以确保所得到的低维表示不会受到原始数据点的顺序变化的影响。
  • T-SNE (t-Distributed Stochastic Neighbor Embedding) 是在SNE基础上发展而来的一种流行的降维算法。T-SNE使用t分布来替代SNE中的高斯分布,使得T-SNE能够更好地保留数据之间的局部结构。T-SNE通过优化KL散度来最小化高维和低维概率分布之间的差异。与SNE相比,T-SNE能够更好地处理非线性关系,并在可视化高维数据时提供更好的效果。

🐇SNE

  • SNE算法的基本思想是通过最小化KL散度来在低维空间中表示高维数据的相似性。

  1. 计算高维空间中数据点之间的条件概率: P j ∣ i = exp ⁡ ( − ∣ ∣ x i − x j ∣ ∣ 2 / 2 σ i 2 ) ∑ k ≠ l exp ⁡ ( − ∣ ∣ x i − x k ∣ ∣ 2 / 2 σ i 2 ) P_{j|i} = \frac{{\exp(-||\mathbf{x}_i - \mathbf{x}_j||^2 / 2\sigma_i^2)}}{{\sum_{k \neq l}{\exp(-||\mathbf{x}_i - \mathbf{x}_k||^2 / 2\sigma_i^2)}}} Pji=k=lexp(∣∣xixk2/2σi2)exp(∣∣xixj2/2σi2)
    在这里插入图片描述

  2. 在低维空间中计算数据点之间的条件概率: Q j ∣ i = exp ⁡ ( − ∣ ∣ y i − y j ∣ ∣ 2 ) ∑ k ≠ l exp ⁡ ( − ∣ ∣ y i − y k ∣ ∣ 2 ) Q_{j|i} = \frac{{\exp(-||\mathbf{y}_i - \mathbf{y}_j||^2)}}{{\sum_{k \neq l}{\exp(-||\mathbf{y}_i - \mathbf{y}_k||^2)}}} Qji=k=lexp(∣∣yiyk2)exp(∣∣yiyj2)
    在这里插入图片描述

  3. 最小化KL散度: C o s t = K L ( P ∣ ∣ Q ) = ∑ i ∑ j P j ∣ i log ⁡ P j ∣ i Q j ∣ i Cost = KL(P||Q) = \sum_i{\sum_j{P_{j|i} \log{\frac{{P_{j|i}}}{{Q_{j|i}}}}}} Cost=KL(P∣∣Q)=ijPjilogQjiPji
    在这里插入图片描述


算法步骤

  1. 初始化低维空间中的数据点坐标
  2. 计算高维空间中数据点之间的距离和条件概率
  3. 在低维空间中计算数据点之间的条件概率
  4. 最小化KL散度,通过梯度下降法更新低维空间中的数据点坐标
  5. 重复步骤3和4,直到满足停止条件

🐇Symmetric-SNE

  • Symmetric SNE是SNE(Stochastic Neighbor Embedding)的一个简化版本,工作方式大致相同。
    • 对于高维空间中的每一点i,都有一个条件概率选取其他的每一点j作为其邻居。此条件分布基于高维空间中的成对距离。

    • 要得到i和j之间的对称概率,我们可以将两个条件概率相加并除以总的点数(点不能选择自己)。 这样可以确保所有的成对概率之和为1,所以它们可以被视为概率。
      在这里插入图片描述

    • 如果 p j ∣ i p_{j|i} pji 表示 i 选择 j 的条件概率,那么对称概率 p i j p_{ij} pij 可以计算为 p i j = ( p j ∣ i + p i ∣ j ) / 2 N p_{ij} = (p_{j|i} + p_{i|j}) / 2N pij=(pji+pij)/2N,其中N是总的点数。

    • 给每个数据点在低维空间中一个位置。在低维空间中对概率进行对称的定义。
      在这里插入图片描述

    • 在低维空间中评估点的布局,检查低维空间的概率模型如何符合高维空间的相似性。
      在这里插入图片描述

🐇T-SNE

在这里插入图片描述

  • Code and implementation for different languages
  • Sigma is crucial a good example on how sigma affect mapping
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/151873.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++多态(超级详细版)

目录 一、什么是多态 二、多态的定义及实现 1.多态构成条件 2.虚函数的重写和协变 虚函数重写的两个例外: 2.1协变 2.2析构函数的重写 (析构函数名统一处理成destructor) 3.重载、覆盖(重写)、隐藏(重定义)的对比 4.final 和 overr…

提升演讲口才,助青少年踏上成功之路

提升演讲口才,助青少年踏上成功之路 引言: 青少年时期是一个人成长发展的关键阶段,而演讲口才的培养不仅可以帮助他们在学业和职业上取得成功,还能帮助他们塑造自信、提升沟通能力,并在社交场合中脱颖而出。本文将探讨…

Transformers实战(二)快速入门文本相似度、检索式对话机器人

Transformers实战(二)快速入门文本相似度、检索式对话机器人 1、文本相似度 1.1 文本相似度简介 文本匹配是一个较为宽泛的概念,基本上只要涉及到两段文本之间关系的,都可以被看作是一种文本匹配的任务, 只是在具体…

EfficientViT:高分辨率密集预测的多尺度线性关注

标题:EfficientViT: Multi-Scale Linear Attention for High-Resolution Dense Prediction 论文:https://arxiv.org/abs/2205.14756 中文版:【读点论文】EfficientViT: Enhanced Linear Attention for High-Resolution Low-Computation将soft…

conda 实践

1. 环境部署 1.1. 下载 anaconda 安装包 下面这个网址查找自己需要的版本 https://repo.anaconda.com/archive/ 或者手动下载。 wget https://repo.anaconda.com/archive/Anaconda3-5.3.0-Linux-x86_64.sh 1.2. 执行安装程序 #安装依赖: sudo yum install bzip2…

ce从初阶到大牛(两台主机免密登录)

一、配置ssh远程连接 实现两台linux主机之间通过公钥验证能够互相实现免密登陆 1.确认服务程序是否安装 rpm -qa | grep ssh 2.是否启动 ps -aux | grep ssh 3.生成非对称公钥 ssh-keygen -t rsa 4.公钥发送到客户端 cd /root/.ssh/ ssh-copy-id root192.168.170.134 因为…

Fabric.js 讲解官方demo:Stickman

本文简介 戴尬猴,我是德育处主任 Fabric.js 官网有很多有趣的Demo,不仅可以帮助我们了解其功能,还可以为我们提供创意灵感。其中,Stickman是一个非常有趣的例子。 先看看效果图 从上图可以看出,在拖拽圆形时&#xf…

【排序】js简单实现前端数组排序,多字段数组对象排序,字符串排序,数字排序等

数组对象排序(多字段排序) 排序前: 排序后: data() {return {list: [{ks: 外科,child_ks: 泌尿外科,xz: 外科一组,doctor: 小明,num: 18,num2: 19,num3: 20},{ks: 中医科,child_ks: 中医男科,xz: 外科一组,doctor: 小红,num: …

GZ035 5G组网与运维赛题第4套

2023年全国职业院校技能大赛 GZ035 5G组网与运维赛项(高职组) 赛题第4套 一、竞赛须知 1.竞赛内容分布 竞赛模块1--5G公共网络规划部署与开通(35分) 子任务1:5G公共网络部署与调试(15分) 子…

DTI-ALPS处理笔记

DTI-ALPS处理笔记 前言: 前段时间刚好学习了一下DTI-ALPS处理(diffusion tensor image analysis along the perivascular space ),记录一下,以便后续学习。ALPS是2017年发表在《Japanese Journal of Radiology》的一篇文章首次提出的 (文章地址),主要用于无创评估脑内淋…

Istio 运行错误 failed to update resource with server-side apply for obj 问题解决

Istio 环境 kubernetes version: v1.18.2 istio version: v1.10.0运行之后 istio-operator 的日志就抛出下面错误,而且会一直重启 # kubectl get iop -A NAMESPACE NAME REVISION STATUS AGE istio-system iop-pro-cluster…

设计模式(18)桥接模式

一、介绍: 1、定义:桥接(Bridge)模式属于结构型设计模式。通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展…