首页 > 其他分享 >TSNE vs PCA:比较高维数据降维的两大巨头

TSNE vs PCA:比较高维数据降维的两大巨头

时间:2024-01-01 12:04:34浏览次数:34  
标签:SNE TSNE data 矩阵 降维 vs 计算 PCA 数据


1.背景介绍

随着数据量的增加,高维数据的处理和可视化变得越来越困难。高维数据降维技术成为了处理和可视化高维数据的重要方法。PCA(Principal Component Analysis)和t-SNE(t-distributed Stochastic Neighbor Embedding)是两种非常常用的高维数据降维方法,本文将对这两种方法进行比较和分析。

2.核心概念与联系

2.1 PCA

PCA(Principal Component Analysis),主成分分析,是一种用于降维的统计方法,它的核心思想是将数据的高维空间投影到低维空间,使得低维空间中的数据保留了原始数据的最大信息量。PCA的核心步骤包括:数据标准化、协方差矩阵的计算、特征值和特征向量的计算以及降维。

2.2 t-SNE

t-SNE(t-distributed Stochastic Neighbor Embedding),随机拓扑分布法,是一种用于降维的机器学习方法,它的核心思想是通过随机拓扑分布来保留数据点之间的局部结构,从而实现高维数据的降维。t-SNE的核心步骤包括:数据标准化、同心距的计算、概率矩阵的计算、拓扑分布的计算以及降维。

3.核心算法原理和具体操作步骤以及数学模型公式详细讲解

3.1 PCA

3.1.1 数据标准化

数据标准化是PCA的第一步,它的目的是将数据的单位变成相同的,以便于后续的计算。数据标准化可以通过以下公式实现:
TSNE vs PCA:比较高维数据降维的两大巨头_语言模型
其中,TSNE vs PCA:比较高维数据降维的两大巨头_人工智能_02 是标准化后的数据,TSNE vs PCA:比较高维数据降维的两大巨头_语言模型_03 是原始数据,TSNE vs PCA:比较高维数据降维的两大巨头_人工智能_04 是数据的均值,TSNE vs PCA:比较高维数据降维的两大巨头_LLM_05

3.1.2 协方差矩阵的计算

协方差矩阵是PCA的关键步骤,它用于计算各个特征之间的相关性。协方差矩阵可以通过以下公式计算:
TSNE vs PCA:比较高维数据降维的两大巨头_语言模型_06
其中,TSNE vs PCA:比较高维数据降维的两大巨头_人工智能_07 是协方差矩阵,TSNE vs PCA:比较高维数据降维的两大巨头_AI_08 是数据矩阵,TSNE vs PCA:比较高维数据降维的两大巨头_LLM_09 是数据的个数,TSNE vs PCA:比较高维数据降维的两大巨头_人工智能_04 是数据的均值,TSNE vs PCA:比较高维数据降维的两大巨头_人工智能_11

3.1.3 特征值和特征向量的计算

特征值和特征向量是PCA的核心步骤,它们可以通过以下公式计算:
TSNE vs PCA:比较高维数据降维的两大巨头_大数据_12
TSNE vs PCA:比较高维数据降维的两大巨头_AI_13
其中,TSNE vs PCA:比较高维数据降维的两大巨头_大数据_14 是第TSNE vs PCA:比较高维数据降维的两大巨头_人工智能_15个特征值,TSNE vs PCA:比较高维数据降维的两大巨头_大数据_16 是第TSNE vs PCA:比较高维数据降维的两大巨头_人工智能_15个特征向量,TSNE vs PCA:比较高维数据降维的两大巨头_语言模型_18 是第TSNE vs PCA:比较高维数据降维的两大巨头_大数据_19个样本的第TSNE vs PCA:比较高维数据降维的两大巨头_人工智能_15个特征值,TSNE vs PCA:比较高维数据降维的两大巨头_人工智能_21 是第TSNE vs PCA:比较高维数据降维的两大巨头_人工智能_15个特征的均值。

3.1.4 降维

降维是PCA的最后一步,它通过选择最大的特征值和特征向量来实现数据的降维。降维后的数据可以通过以下公式计算:
TSNE vs PCA:比较高维数据降维的两大巨头_LLM_23
其中,TSNE vs PCA:比较高维数据降维的两大巨头_大数据_24 是降维后的数据矩阵,TSNE vs PCA:比较高维数据降维的两大巨头_AI_08 是原始数据矩阵,TSNE vs PCA:比较高维数据降维的两大巨头_AI_26

3.2 t-SNE

3.2.1 数据标准化

数据标准化是t-SNE的第一步,它的目的是将数据的单位变成相同的,以便于后续的计算。数据标准化可以通过以下公式实现:
TSNE vs PCA:比较高维数据降维的两大巨头_语言模型
其中,TSNE vs PCA:比较高维数据降维的两大巨头_人工智能_02 是标准化后的数据,TSNE vs PCA:比较高维数据降维的两大巨头_语言模型_03 是原始数据,TSNE vs PCA:比较高维数据降维的两大巨头_人工智能_04 是数据的均值,TSNE vs PCA:比较高维数据降维的两大巨头_LLM_05

3.2.2 同心距的计算

同心距是t-SNE的关键步骤,它用于计算数据点之间的距离。同心距可以通过以下公式计算:
TSNE vs PCA:比较高维数据降维的两大巨头_人工智能_32
其中,TSNE vs PCA:比较高维数据降维的两大巨头_LLM_33 是同心距,TSNE vs PCA:比较高维数据降维的两大巨头_LLM_34 是数据点TSNE vs PCA:比较高维数据降维的两大巨头_LLM_35TSNE vs PCA:比较高维数据降维的两大巨头_AI_36之间的相似度,TSNE vs PCA:比较高维数据降维的两大巨头_LLM_05

3.2.3 概率矩阵的计算

概率矩阵是t-SNE的核心步骤,它用于计算数据点之间的概率关系。概率矩阵可以通过以下公式计算:
TSNE vs PCA:比较高维数据降维的两大巨头_大数据_38
其中,TSNE vs PCA:比较高维数据降维的两大巨头_大数据_39 是概率矩阵的元素,TSNE vs PCA:比较高维数据降维的两大巨头_LLM_33 是同心距,TSNE vs PCA:比较高维数据降维的两大巨头_LLM_05

3.2.4 拓扑分布的计算

拓扑分布是t-SNE的关键步骤,它用于计算数据点在低维空间中的位置。拓扑分布可以通过以下公式计算:
TSNE vs PCA:比较高维数据降维的两大巨头_语言模型_42
其中,TSNE vs PCA:比较高维数据降维的两大巨头_LLM_43 是拓扑分布后的数据,TSNE vs PCA:比较高维数据降维的两大巨头_语言模型_44 是拓扑分布前的数据,TSNE vs PCA:比较高维数据降维的两大巨头_语言模型_45

3.2.5 降维

降维是t-SNE的最后一步,它通过迭代计算拓扑分布来实现数据的降维。降维后的数据可以通过以下公式计算:
TSNE vs PCA:比较高维数据降维的两大巨头_大数据_46
其中,TSNE vs PCA:比较高维数据降维的两大巨头_大数据_24 是降维后的数据矩阵,TSNE vs PCA:比较高维数据降维的两大巨头_AI_48 是第TSNE vs PCA:比较高维数据降维的两大巨头_人工智能_15个数据点在低维空间中的位置。

4.具体代码实例和详细解释说明

4.1 PCA

import numpy as np
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler

# 数据加载
data = np.loadtxt('data.txt')

# 数据标准化
scaler = StandardScaler()
data_std = scaler.fit_transform(data)

# PCA
pca = PCA(n_components=2)
data_pca = pca.fit_transform(data_std)

# 可视化
import matplotlib.pyplot as plt
plt.scatter(data_pca[:, 0], data_pca[:, 1])
plt.show()

4.2 t-SNE

import numpy as np
from sklearn.manifold import TSNE
from sklearn.preprocessing import StandardScaler

# 数据加载
data = np.loadtxt('data.txt')

# 数据标准化
scaler = StandardScaler()
data_std = scaler.fit_transform(data)

# t-SNE
tsne = TSNE(n_components=2, perplexity=30, n_iter=3000, random_state=42)
data_tsne = tsne.fit_transform(data_std)

# 可视化
import matplotlib.pyplot as plt
plt.scatter(data_tsne[:, 0], data_tsne[:, 1])
plt.show()

5.未来发展趋势与挑战

PCA和t-SNE都是非常常用的高维数据降维方法,但是它们也存在一些局限性。PCA的局限性主要在于它需要计算协方差矩阵,这会导致计算量很大,而t-SNE的局限性主要在于它需要迭代计算,这会导致计算时间很长。未来的研究趋势可能是在于寻找更高效的高维数据降维方法,同时保证降维后的数据的质量。

6.附录常见问题与解答

6.1 PCA常见问题与解答

6.1.1 PCA的主成分是什么?

PCA的主成分是数据中的主要方向,它们可以通过计算协方差矩阵的特征值和特征向量来得到。主成分是数据中最大方差的方向,它们可以用来保留数据的最大信息量。

6.1.2 PCA的缺点是什么?

PCA的缺点主要在于它需要计算协方差矩阵,这会导致计算量很大,而且它只能保留数据的线性关系,不能保留非线性关系。

6.2 t-SNE常见问题与解答

6.2.1 t-SNE的同心距是什么?

t-SNE的同心距是数据点之间的距离,它用于计算数据点之间的相似度。同心距可以通过计算数据点之间的欧氏距离来得到。

6.2.2 t-SNE的超参数是什么?

t-SNE的超参数主要有两个,一个是同心距的超参数TSNE vs PCA:比较高维数据降维的两大巨头_LLM_05,另一个是迭代次数的超参数TSNE vs PCA:比较高维数据降维的两大巨头_语言模型_45。这两个超参数会影响t-SNE的结果,需要通过实验来选择合适的值。


标签:SNE,TSNE,data,矩阵,降维,vs,计算,PCA,数据
From: https://blog.51cto.com/universsky/9056881

相关文章

  • VMware vSphere Replication 8.7 (for vSphere 8.0U1) - 虚拟机复制和数据保护
    作者主页:sysin.org新增功能vSphereReplication8.7|2023年4月18日|内部版本21591677vSphereReplication配置导入/导出工具8.7|2023年4月18日|内部版本21403189VMwarevSphereReplication8.7与VMwarevSphere8.0Update1兼容。数据网格用户界面增强......
  • 文心一言 VS 讯飞星火 VS chatgpt (169)-- 算法导论13.2 2题
    二、用go语言,证明:在任何一棵有n个结点的二叉搜索树中,恰有n-1种可能的旋转。文心一言:要证明在任何一棵有n个结点的二叉搜索树中,恰有n-1种可能的旋转,我们可以按照以下步骤逐步推导:二叉搜索树的性质:在二叉搜索树中,任意一个结点的左子树上的所有结点值都小于该结点值,而右子......
  • 解决方案 | VS2022 + AutoCAD2024 + ObjectARX2024环境搭建过程
    一、准备工具1.vs2022自行网络搜索,各种版本均可(比如专业版、社区版),注意使用社区版必须使用最新版,目前是17.8版本,否则最终会无法使用样板。2.cad2024 自行网络搜索3.ObjectARX2024SDK和 ObjectARX2024 Wizard  3.1给出 ObjectARX2024SDK的下载地址:https://damasset......
  • 文心一言 VS 讯飞星火 VS chatgpt (168)-- 算法导论13.2 1题
    一、用go语言,写出RIGHT-ROTATE的伪代码。文心一言:在计算机科学中,右旋转(RIGHT-ROTATE)是一种常见的操作,通常用于数组或链表。以下是一个使用Go语言实现右旋转的伪代码:funcrightRotate(arr[]int,kint)[]int{n:=len(arr)k%=n//防止k大于n的情况rev......
  • 文心一言 VS 讯飞星火 VS chatgpt (168)-- 算法导论13.2 1题
    一、用go语言,写出RIGHT-ROTATE的伪代码。文心一言:在计算机科学中,右旋转(RIGHT-ROTATE)是一种常见的操作,通常用于数组或链表。以下是一个使用Go语言实现右旋转的伪代码:funcrightRotate(arr[]int,kint)[]int{n:=len(arr)k%=n//防止k大于n的情况......
  • 【环境配置】vscode配置C C++开发和调试环境
    【环境配置】vscode配置CC++开发和调试环境首先区分一些基本概念,其中部分内容可能有所出入,同时本文截至2023/12/31,更多的详细区别,请查阅官方文档MinGW,MinimalistGNUforWindows,前身为mingw32,是一个用于创建MicrosoftWindows应用程序的免费开源软件开发环境。包括GNU编译器......
  • vscode调试
           1{2//使用IntelliSense了解相关属性。3//悬停以查看现有属性的描述。4//欲了解更多信息,请访问:https://go.microsoft.com/fwlink/?linkid=8303875"version":"0.2.0",6"configurations":[7{8......
  • VS Code 之 15个跨平台的VS Code插件
    介绍15个必备的VSCode插件。开发人员依赖于强大的工具来简化工作流程并提高生产力。在可扩展性和多功能性方面,VisualStudioCode(VSCode)成为了开发人员的热门选择。本文将介绍一系列必备的VSCode插件,适用于各个平台的开发。这些插件可以增强代码编辑、版本控制、调试和协作功......
  • 04VS+QT PCIE测速软件
    软件版本:vitis2021.1(vivado2021.1)操作系统:WIN1064bit硬件平台:适用XILINXA7/K7/Z7/ZU/KU系列FPGA登录"米联客"FPGA社区-www.uisrc.com视频课程、答疑解惑!4.1概述经过前面章节的学习,如果读者应该已经掌握了PCIEXDMA方案的使用,那么我们知道QT可以设计出华丽的界面,那么本章......
  • 我是怎么从0开始,开发一款VSCode插件
    在当今的软件开发世界中,VisualStudioCode(VSCode)已经成为了一个非常流行的代码编辑器。其强大的扩展性和定制性,使得开发者们可以轻松地为其添加各种功能。作为一名热衷于编程和插件开发的开发者,我深受VSCode的启发,决定从零开始开发一款属于自己的VSCode插件。一、确定需求在开始开......