PCA和t-SNE

声明:以下内容来自多个作者的文章总结。参考:

1.主成分分析(PCA)与t-SNE_pca和t-sne-CSDN博客

2.https://juejin.cn/post/7315125212852928550

一. PCA(Principal Component Analysis)

(1)基本原理

PCA是一种线性降维技术,通过寻找数据中方差最大的方向来进行降维。其基本思路是将原始数据投影到一些互相正交的主成分上,这些主成分按解释数据方差的大小排序。

PCA的主要目标就是求解转换矩阵,我们需要预先定义目标函数,在PCA中,有以下两个优化目标:

(1)最小化重构误差   

(2)最大化投影后的方差。

注:最小化重构误差是指通过降维找到最优的低维空间,使得在该空间中重建原始数据时误差最小。

1.1 什么是中心化处理?

        中心化处理的核心是将数据集中的每个特征的均值变为零。对于一个数据集中的每个特征(变量),我们计算该特征在所有样本中的平均值,然后从每个样本的该特征值中减去这个平均值。这相当于将数据的原点平移到所有样本的均值位置。

1.2. 为什么需要进行中心化处理?

        中心化处理在PCA中非常重要,因为PCA的目标是通过线性变换找到最大化数据方差的主成分方向,而这些主成分是基于数据的协方差矩阵进行计算的。协方差矩阵衡量了数据中每对特征之间的线性相关性,而这些计算都依赖于特征的均值。

原因1:消除偏移

如果不对数据进行中心化处理,特征的均值不为零,PCA在计算协方差矩阵时会受特征的偏移影响。例如,假设某些特征有很大的均值(远离原点),这将导致主成分偏向这些特征,从而扭曲了数据的真实结构。中心化能够去除这种偏移,使得PCA能够仅关注数据的变化(即方差),而不考虑绝对值的大小。

原因2:优化主成分方向

PCA的目标是找到那些能解释数据方差最大的方向。如果数据没有经过中心化,主成分的方向可能会受到均值的影响,导致计算的主成分不能真实反映数据的变化趋势。通过中心化,我们确保主成分的方向是基于数据点相对于其均值的变化来确定的,这样主成分能够更好地表示数据的方差结构。

原因3:重构误差最小化

PCA通过最小化重构误差来降维,即找到最优的低维空间,使得降维后的数据能够尽可能准确地重构原始数据。未中心化的数据在重构时会包含均值的影响,从而使得重构误差不准确。中心化后,数据围绕均值对称,主成分更能捕捉数据的真实变化,使得重构误差更小。

1.3总结

中心化处理将每个特征的均值变为零,使数据围绕原点对称

作用消除特征的偏移,确保PCA捕捉数据的真实变化,优化主成分方向,从而最小化重构误差。

本质通过将数据中心化,使得PCA基于方差最大化的原理能够更准确地反映数据的结构。

2.最大化投影后的方差

它指的是在降维过程中,PCA选择数据中最重要的主成分方向,使得投影到这些方向的样本点的方差最大。

2.1. 什么是最大化投影后的方差?

PCA试图将高维数据投影到一个低维空间,同时尽量保留数据的主要信息。主要信息通常被定义为数据的方差,即数据的变化或分布的广度。方差大的方向意味着数据沿这个方向分布得更广,包含更多的信息,而方差小的方向则包含的信息较少。

因此,PCA的目标是找到一些正交的主成分(即方向),使得:

  • 每个主成分是数据方差最大的方向。
  • 投影到这些方向后,数据的方差最大化,即主成分解释尽可能多的原始数据变化。

3. 为什么最大化投影后的方差?

PCA假设方差大的方向包含更多的有用信息,因此希望将数据投影到这些方差最大的方向上。通过最大化投影后的方差,PCA能够:

1.保留信息量:投影到方差大的方向后,数据点之间的差异被最大化,这样可以在低维空间中尽量多地保留原始数据的信息。

2.数据压缩:通过选择前几个方差较大的主成分,PCA可以有效地将数据压缩成较低的维度,而不会丢失太多有用信息。

3.简化模型:在机器学习任务中,使用较低维度的特征往往可以提高模型的泛化能力,减少过拟合。

主要步骤包括:

(1) 计算数据的协方差矩阵。

(2) 对协方差矩阵进行特征值分解或奇异值分解(SVD)。

(3) 选择前几个最大特征值对应的特征向量作为主成分。

用这些主成分重构低维数据。

(2)优点

  1. 线性可解释性:PCA是基于线性变换的,结果易于解释。每个主成分是原始变量的线性组合。

数据压缩:能够通过选取前几个主成分实现数据压缩,同时保留大部分数据信息(方差)。

计算效率高:PCA的计算复杂度较低,适合大数据集。

(3)缺点

只处理线性关系:PCA只能捕捉数据中的线性关系,对于非线性结构效果较差。

方差解释:PCA假设最大方差的方向具有最多的信息,但这未必总是有用的假设。

(4)适用场景

PCA通常用于数据降维、特征提取、数据压缩等场景,尤其在数据的高维特征线性相关时表现出色。

二. t-SNE(t-distributed Stochastic Neighbor Embedding分布式随机邻域嵌入)

(1)基本原理

t-SNE是一种非线性降维技术,特别擅长将高维数据嵌入到二维或三维空间中进行可视化。它通过将高维空间中相似的数据点在低维空间中保持接近,而将不相似的点尽量远离。其核心步骤包括:

1.计算高维空间中每对数据点之间的相似性(基于条件概率)。

2.在低维空间中初始化点,并计算低维空间中数据点之间的相似性。

3.通过梯度下降优化低维空间中的位置,尽量保持高维空间和低维空间中的相似性一致。

算法原理

t-SNE的核心思想是通过对数据的高斯相似度和二维欧氏距离进行优化,从而将高维数据压缩为低维数据。具体步骤如下:

  1. 计算数据的均值向量。
  2. 计算数据的高斯相似度矩阵。
  3. 计算数据的欧氏距离矩阵。
  4. 通过优化目标函数,计算数据的低维坐标

(2)优点

处理非线性结构:t-SNE能捕捉高维数据中的复杂非线性关系。

优异的可视化效果:尤其适用于高维数据的二维或三维可视化,常用于展示数据的聚类结构。

(3)缺点

计算复杂度高:t-SNE的计算复杂度较高,尤其在处理大规模数据时速度较慢。

结果不稳定:t-SNE对超参数(如perplexity)敏感,且不同次运行的结果可能不同。

不保留全局结构:t-SNE更关注局部邻域的关系,可能丢失全局结构信息,因此不适合用于数据压缩或特征提取。

(4)适用场景

t-SNE主要用于高维数据的可视化,例如在机器学习中的特征可视化、降维后探索数据的聚类或分类趋势等。常用于图像、文本和基因数据的探索性分析。

总结表格

特性PCAt-SNE
类型线性降维非线性降维
目标最大化投影后的方差,保留全局结构保留数据局部邻域结构
计算复杂度低,适合大规模数据高,适合中小规模数据
结果的可解释性强,线性主成分弱,非线性嵌入
稳定性稳定对超参数敏感,结果不稳定
保留结构全局结构局部结构
应用场景降维、特征提取、数据压缩数据可视化,展示聚类趋势
超参数只需指定降维目标维度多个关键超参数需要调节
适用数据类型线性或接近线性数据高维复杂数据,可视化
  • PCA适合用于线性降维和解释数据的全局结构,特别是在特征提取、降维和数据压缩时表现良好。
  • t-SNE更适合高维复杂数据的可视化,尤其是展示数据的局部结构和聚类趋势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值