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

news2024/9/24 1:22:09

文章目录

  • 📚降维的重要性
  • 📚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.coloradmin.cn/o/1141186.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

19、Python -- 关键字参数 与 参数默认值,参数收集 与 逆向参数收集

目录 关键字参数位置参数:关键字参数位置参数和关键字参数的混合使用关键字参数注意点 参数默认值使用参数默认值 普通参数收集(*xxx)注意点 关键字参数收集(**xxx)逆向参数收集注意点: dict(字典)的逆向参…

J2EE项目部署与发布(Windows版本)

目录 一.会议OA单体项目Windows部署 1.实操 二.spa前后端分离项目Windows部署 1.部署后端 2.部署前端 配置node.js 3.从实施的角度 4.从开发的角度 ​编辑 一.会议OA单体项目Windows部署 我们从实施的角度来看,拿到项目之后一定要问开发人员提供数据库脚…

SpringCloud复习:(8)Zuul内置过滤器

过滤器的执行顺序:根据filterOrder方法的返回值,返回值(包含负数)越小,越早执行 。 FilterProcessor类中会调用filter的runFilter方法 ZuulFilter中的runFilter方法会调用run方法:

在ffmpeg中,网络视频流h264为什么默认的转为YUV而不是其他格式

在做网络视频的时候,有些视频的编程概念,早点知道,早点弄清楚会少走很多的弯路。对应视频的转码,传输,一开始如果直接跟着代码跑的话,很容易觉得自己都明白了,但是为什么这样做,好像…

使用WebStorm创建和配置TypeScript项目

创建 这里我用的是WebStorm 2019.2.2版本 首先,创建一个空项目 File -> New -> Project->Empty Project生成配置文件 自动配置: 打开终端输入tsc --init,即可自动生成tsconfig.json文件 手动配置: 在项目根目录下新建一…

第四章 文件管理 八、文件保护

目录 一、口令保护 1、定义: 2、优点: 3、缺点: 二、加密保护 1、定义: 2、例子: 2、优点: 3、缺点: 三、访问控制 1、定义: 2、精简的访问控制表: (1)定义&a…

海南海口大型钢结构件3D扫描全尺寸三维测量平面度平行度检测-CASAIM中科广电

高精度三维扫描技术已经在大型工件制造领域发挥着重要作用,特别是在质量检测环节,高效、高精度,可以轻松实现全尺寸三维测量。本期,CASAIM要分享的应用是在大型钢结构件的关键部位尺寸及形位公差检测。 钢结构件,是将…

38 深度学习(二):tensorflow基础介绍

文章目录 tensorflow基础介绍基础张量自定义损失函数自定义模型和激活函数图函数(略)自动求导机制自定义fit tensorflow基础介绍 基础张量 import tensorflow as tf import numpy as np import pandas as pd# constant是常量张量 不能进行再次assign改…

【ETL工具】Datax-ETL-SqlServerToHDFS

🦄 个人主页——🎐个人主页 🎐✨🍁 🪁🍁🪁🍁🪁🍁🪁🍁 感谢点赞和关注 ,每天进步一点点!加油!&…

lazada获得lazada商品详情 API 返回值说明

item_get-获得lazada商品详情 lazada.item_get 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)获取key和secret接入secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_sear…

德思特新闻 | 走进德思特——通过创新帮助客户成功

文章来源:德思特测试测量 阅读原文:德思特新闻 | 走进德思特——通过创新帮助客户成功 走进德思特 2023年上半年,ChatGPT红遍全球,人工智能、B5G/6G、物联网、云计算、软件自动化等新兴技术的快速发展进一步推动科技行业的复苏…

vue核心面试题汇总【查缺补漏】

给大家推荐一个实用面试题库 1、前端面试题库 (面试必备) 推荐:★★★★★ 地址:web前端面试题库 很喜欢‘万变不离其宗’这句话,希望在不断的思考和总结中找到Vue中的宗,来解答面试官抛出的…

gd32部分映射1/2,完全映射,备用功能选择等

一、重映射与部分映射问题 参考相应用户手册; 打开:I/O 重映射功能和调试配置; AFIO 端口配置寄存器 0(AFIO_PCF0); AFIO 端口配置寄存器 1(AFIO_PCF1); 【e.g】以定时器…

Java练习题2021-4

"某游戏公司设计了一个奖励活动,给N个用户(1≤N≤10^7)连续编号为1到N,依据用户的编号S发放奖励。 发放奖励规则为: 公司随机设定三个非零正整数x,y,z。 如果S同时是x、y的倍数,奖励2张卡片&#xff1…

QCI利用量子计算为飞行汽车提供优化飞行路径和改进设计的功能

​(图片来源:网络) 长期以来,飞行汽车和量子计算机一直是“未来技术”的简写,它们将彻底改变交通世界。预计到2032年,量子计算的市场价值将达到1700亿美元,当前有很多实际用例已经证明了它的价…

如何用 Zabbix 监控 Radius 服务?

网管小贾 / sysadm.cc Radius 对于搞系统的小伙伴们来说应该并不陌生,它是提供身份认证的服务程序。 Radius 应用广泛,最简单的场景之一就是无线连接,使用用户名密码或者证书等方式通过它的验证后无线网络连接就可以建立起来。 如此重要的一…

1496. 判断路径是否相交

1496. 判断路径是否相交 java代码&#xff1a; class Solution {public boolean isPathCrossing(String path) {int x 0;int y 0;HashSet<String> hashSet new HashSet<>();hashSet.add("0-0");for (int i 0; i < path.length(); i) {switch (pa…

Vue-cli 搭建 SPA 项目,Vue 项目结构说明,开发示例,以及如何修改端口号,install 命令中的 -g,-S,-D 参数,嵌套路由,package.json 详解

目录 1. vue-cli安装 1.1 安装前提 1.2 什么是vue-cli 1.3 安装vue-cli 2. 使用vue-cli构建项目 2.1 使用脚手架创建项目骨架 2.2 到新建项目目录&#xff0c;安装需要的模块 2.3 如何修改端口号 2.4 添加element-ui模块 2.5 package.json详解 3. install命令中的-g…

FLStudio21完整版编曲软件多少钱?要不要购买

水果&#xff0c;全称Fruity Loop Studio&#xff0c;简称FL Studio。是一款全能的音乐制作软件&#xff0c;经过二十多年的演化更迭&#xff0c;其各项功能非常的先进。其开创性的Pat\song模式&#xff0c;也为初学者的学习提供了便利。那么水果音乐制作软件需要多少钱呢&…

修复VS2015没有代码提示的问题【已解决】

问题描述 在Visual Studio 中编写代码时&#xff0c;发现使用库函数的时候&#xff0c;在类对象后输入点后&#xff0c;并没有出现类对应的成员信息的提示。 解决过程 1&#xff09;方法1&#xff1a; 百度“vs 没有代码提示”&#xff0c;搜索解决方案。 方案1&#xff1…