2026/3/16 21:45:34
网站建设
项目流程
上海永灿网站建设,沈阳网页设计方案,上海网站建设运营站霸网络,网站建设管理是目录一、 核心思想概述二、 数学原理推导1. 第一阶段#xff1a;从距离到概率(SNE)2. 目标函数#xff1a;KL 散度3. 第二阶段#xff1a;对称 SNE (Symmetric SNE)4. 第三阶段#xff1a;引入 t 分布(解决“拥挤问题”)三、 优化过程(梯度下降)四、 关键超参数#xff1a…目录一、 核心思想概述二、 数学原理推导1. 第一阶段从距离到概率(SNE)2. 目标函数KL 散度3. 第二阶段对称 SNE (Symmetric SNE)4. 第三阶段引入 t 分布(解决“拥挤问题”)三、 优化过程(梯度下降)四、 关键超参数Perplexity (困惑度)五、 FAQ为什么这里要使用概率这个概念呢我的意思是高维数据点不都是已经确定了吗那谁是谁的邻居不也确定了吗是不是t-SNE只是想定义一种不是距离度量的新的相似度判定标准呢既然有密度适应性那么t-SNE需不需要归一化欧氏距离那么t-SNE相比于其他降维方法他的优势是什么t-SNE(t-Distributed Stochastic Neighbor Embeddingt-分布随机邻域嵌入)是一种用于高维数据降维和可视化的非线性机器学习算法。由 Laurens van der Maaten 和 Geoffrey Hinton 于 2008 年提出。它最主要的应用场景是将高维数据(如图像、文本向量)映射到 2D 或 3D 空间中进行可视化以便观察数据的聚类结构。以下是对 t-SNE 的详细介绍重点阐述其数学原理。一、 核心思想概述传统的线性降维算法(如 PCA)通过保留最大方差来降维往往无法很好地保留复杂的非线性流形结构。t-SNE 的核心思想是不再关注点与点之间的绝对距离而是另外定义一种度量策略(下称概率)。在高维空间中如果两个点距离很近那么它们互为邻居的概率就很高。在低维空间中我们希望移动这些点使得它们互为邻居的概率分布尽可能与高维空间中的分布一致。二、 数学原理推导t-SNE 的推导过程可以分为三个阶段SNE(随机邻域嵌入)、对称 SNE 和 t-SNE(引入 t 分布)。1. 第一阶段从距离到概率(SNE)假设我们要将高维数据\(X \{x_1, x_2, \dots, x_N\}\)降维到低维数据\(Y \{y_1, y_2, \dots, y_N\}\)。在高维空间(High-dimensional space)我们使用高斯分布将欧氏距离转化为条件概率。对于数据点\(x_i\)其选择\(x_j\)作为邻居的条件概率\(p_{j|i}\)定义为\[p_{j|i} \frac{\exp(-\|x_i - x_j\|^2 / 2\sigma_i^2)}{\sum_{k \neq i} \exp(-\|x_i - x_k\|^2 / 2\sigma_i^2)} \]物理意义如果\(x_j\)离\(x_i\)越近概率\(p_{j|i}\)越大。\(\sigma_i\)是什么这是以\(x_i\)为中心的高斯分布的方差。t-SNE 不会对所有点使用相同的方差因为数据的密度不同。在稠密区域\(\sigma_i\)应该小在稀疏区域\(\sigma_i\)应该大。算法通过用户设定的Perplexity(困惑度)来二分搜索确定每个点的\(\sigma_i\)。这是因为指数衰减非常快假设最近一个点的距离是\(10\)另一个点的距离是\(10.1\)按理来说这两个点应该差不多但是从分母的组成项看来\(\exp(-10^2)\)和\(\exp(-(10.1)^2)\)相差非常大于是第一个点所占的比例就大得多最后得到的概率就大得多于是从概率的角度去看第一个点是邻居但是第二个点不是所以我们要使用\(\sigma_i\)去进行缩放在低维空间(Low-dimensional space)最初的 SNE 在低维空间也使用高斯分布。设定低维点\(y_i\)选择\(y_j\)作为邻居的概率\(q_{j|i}\)为(方差设为固定值\(\frac{1}{\sqrt{2}}\))\[q_{j|i} \frac{\exp(-\|y_i - y_j\|^2)}{\sum_{k \neq i} \exp(-\|y_i - y_k\|^2)} \]2. 目标函数KL 散度我们的目标是让低维分布\(Q\)尽可能接近高维分布\(P\)。衡量两个概率分布差异的标准方法是 Kullback-Leibler (KL) 散度。\[C \sum_i KL(P_i \| Q_i) \sum_i \sum_j p_{j|i} \log \frac{p_{j|i}}{q_{j|i}} \]我们要通过梯度下降法最小化这个代价函数\(C\)从而找到最佳的\(Y\)。3. 第二阶段对称 SNE (Symmetric SNE)原始 SNE 的条件概率是不对称的(即\(p_{j|i} \neq p_{i|j}\))这使得梯度计算变得复杂。t-SNE 采用了联合概率分布来简化计算。我们定义对称的高维概率\(p_{ij}\)\[p_{ij} \frac{p_{j|i} p_{i|j}}{2N} \]这里的\(N\)是数据点总数。这样保证了\(p_{ij} p_{ji}\)并且\(\sum_{i,j} p_{ij} 1\)。同理低维空间的\(q_{ij}\)也可以写成对称形式。4. 第三阶段引入 t 分布(解决“拥挤问题”)这是 t-SNE 最关键的改进。问题拥挤问题 (The Crowding Problem)在高维空间中点周围的“容积”比低维空间大得多。例如在高维空间中一个点可以有很多个距离相等的邻居但在 2D 空间中你很难把这些邻居都安排在离中心点等距并且彼此之间的局部结构仍然保持的位置最终导致这些点在低维空间被迫挤在一起破坏了局部结构。解决方案长尾分布为了解决这个问题t-SNE 在低维空间中不再使用高斯分布而是使用自由度为 1 的学生 t 分布(Students t-distribution)也就是柯西分布(Cauchy distribution)。为什么有效t 分布比高斯分布由更“重”的尾部(Heavy-tailed)。这意味着为了在低维空间表示相同的高维概率(相似度)低维点之间的距离需要比使用高斯分布时更远一点。 这就人为地把原本要挤在一起的点“撑开”了。最终的低维概率\(q_{ij}\)公式\[q_{ij} \frac{(1 \|y_i - y_j\|^2)^{-1}}{\sum_{k \neq l} (1 \|y_k - y_l\|^2)^{-1}} \]注意这里没有了指数函数\(\exp\)运算速度也更快。三、 优化过程(梯度下降)最终的代价函数(基于对称概率和 t 分布)为\[C KL(P\|Q) \sum_{i \neq j} p_{ij} \log \frac{p_{ij}}{q_{ij}} \]对\(y_i\)求导得到的梯度公式非常优雅\[\frac{\partial C}{\partial y_i} 4 \sum_j (p_{ij} - q_{ij})(y_i - y_j)(1 \|y_i - y_j\|^2)^{-1} \]物理直观解释这可以看作是一个弹簧系统\(p_{ij}\)(高维相似度) 代表弹簧的“目标”拉力。\(q_{ij}\)(低维相似度) 代表当前的拉力。如果\(p_{ij} q_{ij}\)(高维很近低维很远)则产生吸引力拉近\(y_i\)和\(y_j\)。如果\(p_{ij} q_{ij}\)(高维很远低维很近)则产生排斥力推开\(y_i\)和\(y_j\)。四、 关键超参数Perplexity (困惑度)在使用 t-SNE 时最重要的参数是 Perplexity。定义Perplexity 是\(2\)的香农熵次幂。直观理解它可以被看作是每个点这种算法认为的“有效邻居”的数量。影响太小算法只关注极局部的结构数据可能碎成很多小团簇。太大算法关注全局结构可能导致所有点混在一起失去局部细节。典型值通常在 5 到 50 之间。对于大数据集通常设置得大一些。五、 FAQ为什么这里要使用概率这个概念呢我的意思是高维数据点不都是已经确定了吗那谁是谁的邻居不也确定了吗是不是t-SNE只是想定义一种不是距离度量的新的相似度判定标准呢数据点是确定的邻居关系也是确定的。这里的“概率”并不是指物理世界中的随机性而是一种数学上的“归一化手段”和“加权方式”。简单直接地回答你的疑问你是对的t-SNE 本质上就是定义了一种新的、非线性的相似度判定标准而使用“概率分布”的形式主要是为了解决“不同区域密度不一致”和“维度不匹配”这两个难题。下面详细解释为什么非要套一层“概率”的外壳而不是直接用距离如果直接用低维空间的欧氏距离去拟合高维空间的欧氏距离会出现一个问题长距离的权重过大。假设高维空间中点 A 和点 B 很远(比如距离是 100)点 A 和点 C 更远(距离是 1000)。在降维时如果算法试图保持“距离比例”它会拼命想把 A 和 C 拉得比 A 和 B 远 10 倍。但实际上对于我们来说100 和 1000 都属于“我不关心的路人”。这就是t-SNE只关注局部结构而忽略全局结构的体现直接优化距离会把大量计算资源浪费在保持这些“遥远点的相对距离”上导致局部结构(邻居关系)被破坏。这就是“不同区域密度不一致”那么可以为每个点引入一个\(sigma_i\)来对欧氏距离做缩放但是由于这里是线性衰减而不是指数衰减衰减速度不够快所以效果不好于是引入指数函数但是现在我们需要找到一个能够自动找到\(\sigma_i\)的算法我们可以利用信息论里面的“熵”所以引入概率既然有密度适应性那么t-SNE需不需要归一化欧氏距离直接回答是的非常需要。即使 t-SNE 拥有强大的“密度适应性”(通过调整\(\sigma_i\))在将数据输入 t-SNE 之前你仍然必须对数据进行归一化(Normalization)或标准化(Standardization)。为了解释清楚为什么我们需要区分两个概念“点与点的疏密” 和 “特征与特征的尺度”。t-SNE 解决的是“点与点的疏密” (Row-wise)t-SNE 的\(\sigma_i\)机制处理的是样本(行)层面的不均匀。场景样本 A 住在市中心(周围有 100 个邻居距离都在 0.1 以内)。样本 B 住在郊区(周围只有 1 个邻居距离是 100)。t-SNE 的作用它会自动给样本 A 一个小的\(\sigma\)给样本 B 一个大的\(\sigma\)。结果它让市中心和郊区在概率图上看起来“差不多热闹”。归一化解决的是“特征与特征的尺度” (Column-wise)归一化(如 Min-Max)或标准化(如 Z-score)处理的是特征(列)层面的不均匀。如果不做归一化会发生什么t-SNE 的第一步是计算欧氏距离。欧氏距离对特征的数值范围非常敏感。如果数据未归一化你的 t-SNE 其实只是在对“数值最大的那个特征”进行降维其他特征都变成了无效的噪声。这时在高维空间中只考虑数值最大的特征和考虑所有特征的概率分布相似所以如果对两种情形都做t-SNE的话得到的低维分布也应该很相似就是忽略了其他特征那么t-SNE相比于其他降维方法他的优势是什么我们将它与三类主要的竞争对手进行对比线性方法(如 PCA)、其他流形学习方法(如 LLE, Isomap) 以及 现代竞争对手(如 UMAP)。相比于 PCA(主成分分析)—— 非线性结构 vs. 线性投影PCA 是线性的它像是一个“投影仪”把物体影子投在墙上。t-SNE 是非线性的它像是一个“拓扑学家”把卷曲的物体展开。处理复杂流形的能力(Swiss Roll 例子)场景假设数据像一个“瑞士卷”蛋糕卷在一起。PCA它只能“压扁”这个蛋糕。原本在蛋糕里隔了好几层的点(直线距离近但实际在卷面上很远)会被 PCA 误认为是邻居。PCA 无法解开卷曲的结构。t-SNE它关注局部的邻居关系。它会发现“虽然点 A 和点 B 空间距离近但它们在‘流形’上不相连”。于是 t-SNE 能把这个瑞士卷像铺地毯一样展开。关注点的差异(局部 vs 全局)PCA致力于保留最大方差(全局结构)。它会让相距很远的点在低维依然很远但往往会牺牲局部细节导致不同的簇混在一起。t-SNE致力于保留局部邻域。它不惜扭曲全局形状也要保证“本来就是一伙的”点紧紧抱在一起。这使得 t-SNE 在区分簇(Clustering)方面完胜 PCA。相比于其他流形学习方法(LLE, Isomap)—— 解决“拥挤”与“短路”问题在 t-SNE 出现之前LLE 和 Isomap 是主流但它们效果往往不够好。解决“拥挤问题”(The Crowding Problem)LLE / Isomap它们没有使用 t 分布这种长尾分布的技巧。当把高维数据硬塞进 2D 时为了保持距离所有点往往会向中心坍缩重叠在一起变成一团乱麻。t-SNE正是因为引入了 t 分布(你的“不同形状尺子”概念)它强制把低维的点推开。这使得 t-SNE 产生的图像中簇与簇之间有清晰的空白间隔非常易于人类观察。对噪声的鲁棒性(Isomap 的短路问题)Isomap基于“测地距离”(Geodesic distance类似在高维曲面上走迷宫的最短路径)。如果数据中有几个噪点(Shortcut)Isomap 会以为这是一条捷径导致整个流形结构的判断出错(短路)。t-SNE基于“概率”。因为是加权求和个别噪点的影响会被概率平滑掉不会因为一两个坏点就破坏整体结构。独特的“密度适应性”(Density Adaptation)—— 这一点很多算法都做不到这得益于你之前理解的\(\sigma_i\)(方差)的动态调整。场景数据集中有一个“超高密度簇”和一个“超稀疏簇”。其他算法(如 PCA, MDS)稀疏簇在图上会占巨大面积稠密簇会缩成一个不可见的点。t-SNE因为它根据 Perplexity 自动调整每个点的\(\sigma\)它实际上对稀疏区域进行了“压缩”对稠密区域进行了“放大”。优势它能让你在一张图上同时看清稠密簇内部的细节和稀疏簇的结构。 这种“视觉上的归一化”对于探索性数据分析(EDA)简直是神器。相比于 UMAP(Uniform Manifold Approximation and Projection)—— 纯粹的视觉分离度UMAP 是 t-SNE 最强劲的现代对手(2018年提出)速度更快且保留更多全局结构。但 t-SNE 依然有其独特优势视觉分离感t-SNE 产生的图像簇与簇之间的分离通常比 UMAP 更“夸张”、更彻底。优势如果你只是想向老板或客户展示“看这些数据分成了明显的几类”t-SNE 往往能画出更漂亮、更黑白分明的图(虽然这种距离有时是人为撑大的)。