首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【人工智能机器学习基础篇】深入详解无监督学习之降维:PCA与t-SNE的关键概念与核心原理

    在当今数据驱动的世界中,数据维度的增多带来了计算复杂性和存储挑战,同时也可能导致模型性能下降,这一现象被称为“维度诅咒”(Curse of Dimensionality)。降维作为一种重要的特征提取和数据预处理技术,旨在通过减少数据的维度,保留其主要信息,从而简化数据处理过程,并提升模型的性能。本文将深入探讨两种广泛应用于无监督学习中的降维方法——主成分分析(PCA)和t-分布随机邻域嵌入(t-SNE),并详细解析其关键概念与核心原理。

目录

1. 降维概述

什么是降维?

降维是将高维数据映射到低维空间的过程,旨在减少数据的特征数量,同时尽量保留其原有的结构和信息。降维不仅有助于数据的可视化,还能提高机器学习算法的效率,减少计算资源的消耗,并降低模型过拟合的风险。

降维的类型

本文重点讨论特征提取方法,尤其是PCA和t-SNE。

2. 主成分分析(PCA)

核心概念

主成分分析(Principal Component Analysis, PCA)是一种经典的线性降维方法,旨在通过寻找数据中方差最大的方向(即主成分),将高维数据投影到这些方向上,实现维度的压缩。PCA不仅简化了数据结构,还能揭示数据中潜在的模式和关系。

数学原理

PCA的目标是找到一组新的坐标轴(主成分),这些坐标轴是原始特征的线性组合,且彼此正交(不相关)。具体来说:

数学表达式:

设原始数据矩阵为 X(维度为 n×p),经过中心化后的数据矩阵为 X′,其协方差

矩阵为:

C=1n−1X′TX′

对协方差矩阵 C 进行特征值分解:

C=VΛVT

其中,Λ 是对角特征值矩阵,V 是特征向量矩阵。选择前K个最大的特征值对应的特征向量,构成降维后的基。

关键步骤

优缺点分析优点:

简洁高效:计算简便,适用于大规模数据集。

降噪能力:通过保留主要成分,减少数据中的噪声影响。

解读性强:主成分具有明确的方差解释意义。

缺点:

线性假设:仅能捕捉线性关系,无法处理复杂的非线性结构。

信息损失:降维过程中可能丢失部分信息,尤其在保留成分较少时。

敏感性:对异常值敏感,可能影响主成分的选择。

应用实例

在图像处理领域,PCA常用于图像压缩。通过PCA提取图像的主要特征,可以显著减少图像的存储空间,同时尽量保留视觉信息。

3. t-分布随机邻域嵌入(t-SNE)

核心概念

**t-分布随机邻域嵌入(t-Distributed Stochastic Neighbor Embedding, t-SNE)**是一种非线性降维方法,主要用于高维数据的可视化。t-SNE通过保持高维数据中局部邻域的结构,将数据映射到二维或三维空间,揭示数据的潜在聚类和模式。

数学原理

t-SNE的核心思想是将高维空间中的数据点关系转化为低维空间中的概率分布,通过最小化高低维概率分布之间的差异,实现数据的降维。

具体步骤:

1. 高维空间相似度计算:

  对于每对高维数据点 xi 和 xj,计算其相似度 pj|i。

  使用高斯核函数,定义 pj|i 为在以 xi 为均值、方差为 σ2i 的高斯分布下,xj 的概率。

2. 对称化相似度:

  计算对称概率 pij=pj|i+pi|j2n,其中 n 是是数据点总数。

3. 低维空间相似度计算:

  在低维空间(通常为二维)中,定义低维数据点 yi 和 yj 的相似度 qij。

  使用Student t分布(自由度为1,即Cauchy分布),定义 qij 为 yj 在 yi 为均值的t分布下的概率。

4. 优化目标:

最小化高低维分布之间的Kullback-Leibler散度(KL散度):

 KL(P||Q)=∑i≠jpijlogpijqij

  通过梯度下降更新低维数据点的位置,使KL散度最小化。

关键步骤

优缺点分析

优点:

非线性降维:能够捕捉数据中的复杂非线性结构。

优秀的可视化效果:在二维或三维空间中清晰展示数据的聚类和分布。

保持局部邻域关系:有助于揭示数据的内在结构。

缺点:

计算复杂度高:对大规模数据集计算成本较高,时间和内存消耗大。

参数敏感:Perplexity、学习率等参数选择对结果影响显著,需反复调试。

难以保持全局结构:主要关注局部邻域关系,可能忽略全局数据结构。

应用实例

在自然语言处理领域,t-SNE常用于可视化词向量,通过将高维词嵌入降至二维,展示词语之间的语义关系和聚类结构。此外,在图像识别中,t-SNE可用于展示高维图像特征的分布,帮助理解模型的特征提取效果。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OI_j0r9SiKuUh8710nzwt1Qw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券