本篇主要介绍很好的降维方法t-SNE的原理

  • 详细介绍了困惑度perplexity对有效点的影响
  • 首先介绍了SNE
  • 然后在SNE的基础上进行改进:1.使用对称式。2.低维空间概率计算使用t分布

t-SNE(t分布和SNE的组合)

  • 以前的方法有个问题:只考虑相近的点在降维后应该接近,但没有考虑不相近的点在降维后应该比较远
  • t-SNE主要原理为:

    其中 S(xi,xj)S(x^i , x^j)S(xi,xj) 代表 xix^ixi 与 xjx^jxj 之间的相似度

SNE

原理:

这里可以看做高斯函数,∣∣xi−xj∣∣2{||x_i - x_j||}^2∣∣xi​−xj​∣∣2 是自变量 , 也就是横坐标,高斯函数的值是纵坐标。方差越大,高斯函数越平滑,概率高的点就比较多。方差越小,函数越尖锐,概率大的点就比较少。可以认为,当我们在寻找一个点的邻近点时,方差可以调节我们寻找的主要邻近点的个数

特点

  • 考虑计算原始空间中,其他所有点 j 与点 i 之间的距离,并转换为概率,代表相似程度

  • 用指数,距离一拉开,相似度会迅速下降

  • 我们的目标就是在目标空间中找其他所有点 j 与点 i 之间的距离,并转换为概率,且这个概率和原始空间的概率越接近越好

    • 接近就代表着分布类似
    • 保证了离得近的点还离得近,离得远的点还离得远
      • 这是该算法的很重要的优点
      • 以前的算法要么只考虑距离远的点还要距离远,要么只考虑距离近的点还要距离近
    • 计算量很大,因为每个点都要算 P 和 Q

困惑度(perplexity):

  • 困惑度可以解释为有效邻居(其他点也考虑,只不过占比重太小了,不是有效邻居)的平滑方法

  • H(Pi)H(P_i)H(Pi​) 是 Shannon Entropy 。

    • 用来解释混乱度,怎么理解混乱度呢?

      • 比如一个分类任务,将一个物体分为两个类
      • H=−∑(pi)log⁡(pi)H = -\sum(p_i)\log(p_i)H=−∑(pi​)log(pi​)
      • 如果分为第一个类的概率 p1=1p_1 = 1p1​=1 , 显然 p2=0p_2 = 0p2​=0 , 这时的H=0+0=0H = 0 + 0 = 0H=0+0=0 , 这时H小,意味着混乱度低,因为我们可以明确如何进行分类,所以不混乱
      • 如果分为第一个类的概率 p1=0.5p_1 = 0.5p1​=0.5 , 显然 p2=0.5p_2 = 0.5p2​=0.5 , 这时 H=−(0.5log⁡0.5+0.5log⁡0.5=−log⁡0.5)H = -(0.5\log0.5 \quad + \quad0.5\log0.5 = -\log0.5 )H=−(0.5log0.5+0.5log0.5=−log0.5) 这时 , H的值达到最大。意味着混乱度高,因为我们无法确定如何分类
      • 对应到混乱度函数的图像中,就是 ppp 的值越接近中间,混乱度越大,越接近两边,混乱度越小。
      • 上面我们讨论的是两个 ppp 的情况 , 扩展到多个 ppp 也一样。各个 ppp 越靠近中间,混乱度越大(也就是 H 大)
    • 如图,当 ppp 分布在两端时,函数的值比较小。如果 HHH 的值增大,则意味着,有更多的 ppp 往中间分布了(左边的往右移动,右边的往左移动),也就是我们在大 ppp 和小 ppp 之间做了一个均衡 ,小的 ppp 变大了 , 大的ppp 变小了,各个 ppp 更接近了。这时候就代表着,我们在寻找一个点的邻近点时,考虑了更多的有效点(以前有些离得太远的点没有认定为有效点

    • 将 ppp 的值放到下面的高斯函数图像中观察,这就对应 σ\sigmaσ 更大。也就是高斯分布更平滑了。因为,高斯分布越平滑,能获得比较大的值的点越多,也就是距离稍远的点也有不错的高斯函数值。这些点对应的 ppp 也就变大了,对loss的影响也变大,成为有效点。


也就是说,我们可以通过调节困惑度 perplexity 来调节 H , 进而调节 σ\sigmaσ

  • 困惑度越大 , H就越大 , σ\sigmaσ 就越大 , 我们在寻找一个点的邻近点的时候就会考率更多的有效点
  • 困惑度越大,越考虑全局(考虑的点更多,更远),困惑度越小,越考虑局部(考虑的点更少,更近)

评价标准:K-L散度

C=∑iKL(Pi∥Qi)=∑i∑jpj∣ilog⁡pj∣iqj∣iC=\sum_{i} K L\left(P_{i} \| Q_{i}\right)=\sum_{i} \sum_{j} p_{j \mid i} \log \frac{p_{j \mid i}}{q_{j \mid i}}C=∑i​KL(Pi​∥Qi​)=∑i​∑j​pj∣i​logqj∣i​pj∣i​​

  • pj∣ip_{j|i}pj∣i​ 越大 , qj∣iq_{j|i}qj∣i​ 越小时 , 此时的Cost越高。即高维空间的点越接近,映射到低维空间时反而越远,此时的惩罚是很大的,这是正确的情况。

  • pj∣ip_{j|i}pj∣i​ 越小 , qj∣iq_{j|i}qj∣i​ 越大时 , 此时的Cost越小。即高维空间的点距离远时,映射到低维空间的点接近时,此时的惩罚却很小,这时跟我们想要的结果正好相反。
    这个问题也是t-SNE的一个缺点。

    因此SNE倾向于保留局部特征,即让高维离得近的点尽可能在低维时聚在一起,但是不考虑不同类间的间隔,直观理解为:整个降维后的图像会比较“拥挤”(原因就是上面这个,导致长程斥力不够)

t-SNE

优化:相较于SNE,有两方面优化:

  • 优化了 p 和 q 的对称性
  • 使用 t 分布优化了 q

对称性:

注意到,概率函数具有不对称性,即Pi∣j≠Pj∣iP_{i|j} \ne P_{j|i}Pi∣j​​=Pj∣i​ 且 Qi∣j≠Qj∣iQ_{i|j} \ne Q_{j|i}Qi∣j​​=Qj∣i​ ,因为分母不一样。这与我们的直觉不符,无论 xix_ixi​ 和 xjx_jxj​ 谁作为中心,其出现在对方附近的概率应该是相同的

当然我们也可以在原空间(高维空间)中定义

但是这样会带来问题:假设点 xix_ixi​ 是一个噪声点,那么∣xi−xj∣|x_i - x_j|∣xi​−xj​∣ 的平方会很大,那么对于所有的 j,pijp_{ij}pij​ 的值都会很小,导致在低维映射下的 yiy_iyi​ 对整个损失函数的影响很小,但对于异常值,我们显然需要得到一个更大的惩罚

于是我们定义: pij=pi∣j+pj∣i2np_{ij} = \frac{p_{i|j} + p_{j|i}}{2n}pij​=2npi∣j​+pj∣i​​

这样既保证了对称,又不会导致概率值像上面一样小(因为如果 iii 是噪声 , 那么 Pi∣jP_{i|j}Pi∣j​ 就会比 Pj∣iP_{j|i}Pj∣i​ 大得多)

t分布优化q

t分布优化后的q
qij=(1+∥yi−yj∥2)−1∑k≠l(1+∥yi−yj∥2)−1q_{i j}=\frac{\left(1+\left\|y_{i}-y_{j}\right\|^{2}\right)^{-1}}{\sum_{k \neq l}\left(1+\left\|y_{i}-y_{j}\right\|^{2}\right)^{-1}}qij​=∑k​=l​(1+∥yi​−yj​∥2)−1(1+∥yi​−yj​∥2)−1​
梯度
δCδyi=4∑j(pij−qij)(yi−yj)(1+∥yi−yj∥2)−1\frac{\delta C}{\delta y_{i}}=4 \sum_{j}\left(p_{i j}-q_{i j}\right)\left(y_{i}-y_{j}\right)\left(1+\left\|y_{i}-y_{j}\right\|^{2}\right)^{-1}δyi​δC​=4∑j​(pij​−qij​)(yi​−yj​)(1+∥yi​−yj​∥2)−1

当 qijq_{ij}qij​ 太大或者太小时,也就是 (yi−yj)(y_i - y_j)(yi​−yj​) 太大或者太小,都会导致梯度趋近于0 , 这不利于更新点 iii 的坐标,这是目前的一个问题。不过一般情况下,这种情况出现比较少,而且其他点的的更新也会影响点 iii 的梯度
映射后的样本相似度采用 t-分布的一种是对SNE的改进,这里改变的是 q , 且 q 已经经过对称优化了


横轴表示距离,纵轴表示相似度, 可以看到,对于较大相似度的点,t分布在低维空间中的距离需要稍小一点;而对于低相似度的点,t分布在低维空间中的距离需要更远。这恰好满足了我们的需求,即同一簇内的点(距离较近)聚合的更紧密,不同簇之间的点(距离较远)更加疏远。
一句话来说:因为我们的目的是令 qijq_{ij}qij​ 与 pijp_{ij}pij​ 相等。若达成这个目标,在低维空间中,近的点会更近,远的点会更远

可视化降维方法 t-SNE相关推荐

  1. MachineLearning 12. 机器学习之降维方法t-SNE及可视化 (Rtsne)

    点击关注,桓峰基因 桓峰基因公众号推出机器学习应用于临床预测的方法,跟着教程轻松学习,每个文本教程配有视频教程大家都可以自由免费学习,目前已有的机器学习教程整理出来如下: MachineLearnin ...

  2. 降维方法小结和理解:PCA、LDA、MDS、ISOMAP、SNE、T-SNE、AutoEncoder

    PCA:Principle component analysis 主成分分析 百度百科:它是一个线性变换.这个变换把数据变换到一个新的坐标系统中,使得任何数据投影的第一大方差在第一个坐标(称为第一主成 ...

  3. MachineLearning 13. 机器学习之降维方法UMAP及可视化 (umap)

    点击关注,桓峰基因 桓峰基因公众号推出机器学习应用于临床预测的方法,跟着教程轻松学习,每个文本教程配有视频教程大家都可以自由免费学习,目前已有的机器学习教程整理出来如下: MachineLearnin ...

  4. t-SNE:最好的降维方法之一

    引言 本期由来自哈工大的同样热爱科普的潮汐之子为我们带来t-SNE的全方位普及,作者的研究方向为自然语言处理 说明 本文目的是做成一个60分钟t-SNE闪电入门简介,可能无法详细讲解原理,学术帝还请阅 ...

  5. 【Python学习系列二十三】Scikit_Learn库降维方法(矩阵分解)-PCAFA

    1主成分分析PCA 1.1 精确PCA和似然估计 PCA基于最大方差的正交变量分解多维数据集.在scikit-learn库中,PCA的实现是先通过fit方法计算n维的特征值和特征向量,然后通过tran ...

  6. 【深度学习】数据降维方法总结

    引言: 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中.降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达,目前最多使用向量表达 ...

  7. 传统的线性降维方法效果不佳。_10分钟数据降维入门

    1. 前言 在硕士期间学习研究了数据降维相关的知识,阅读了一些相关文章,也断断续续在知乎上写了 一些数据降维的入门级文章,收获了一些小伙伴的赞同,并在GitHub上开源了一些特征抽取算 法的源代码,获 ...

  8. python降维可视化 自编码_如何使用自动编码器可视化降维? (Python | TensorFlow)...

    我正在尝试调整Aymeric Damien's code来可视化由 TensorFlow 中实现的自动编码器执行的降维 . 我看到的所有示例都在 mnist digits数据集上工作,但我想使用此方法 ...

  9. 两种降维方法的总结——LLE(局部线性嵌入),ISOMAP(等度量映射)

    简介 流形学习是一类借鉴了拓扑流形概念的降维方法.流形是在局部与欧式空间同胚的空间,换言之,它在局部具有欧式空间的性质,能用欧式距离来进行距离计算.若低维流形嵌入到高维空间中,则数据样本在高维空间的分 ...

最新文章

  1. MAYA 2022基础入门学习教程
  2. VScode 插件、配置记录
  3. Elasticsearch之Mapping
  4. 什么是Activity、生命周期
  5. requests模块的入门使用
  6. 步步为营 .NET 代码重构学习笔记 三、内联方法(Inline Method)
  7. HBase 名称空间namespace的创建/建表/删除
  8. cxTreeList交换当前两个节点的的位置
  9. 开源改变世界概括_为什么任何开源社区都很难改变
  10. java mysql 连接测试_java连接mysql数据库及测试是否连接成功的方法
  11. MagicHouse- 智能家居管理机器人 在线演示
  12. SQL注入***的种类和防范手段
  13. java开发工程师简历模板
  14. linux下udp调试工具,linux tcp udp 调试工具
  15. solidity教程(四)僵尸作战系统
  16. [转载]大数据入门 - 董飞
  17. [JS]Tue Feb 01 2022 00:00:00 GMT+0800 (中国标准时间) 日期格式化
  18. java定时器Scheduled,可动态设置定时器执行时间
  19. 颗粒归仓水稻总体产量5500吨 国稻种芯-洪江:怀化水稻秋收
  20. VS2010/VS 2008 代码界面设置护眼色豆沙绿

热门文章

  1. 巴特沃夫 c语言,全相位滤波器在人工耳蜗CIS方案中的应用
  2. Nginx配置信息损毁又无备份时如何恢复
  3. 重磅 | 美国前财长、哈佛大学前校长Larry Summers加入e代理全球顾问
  4. 刚刚拿下「中国AI最高奖」的语音技术,能给我们带来什么?
  5. 2012年1月,拥有131年历史的柯达申请破产
  6. 华为鸿蒙操作系统有哪些特点和优势?余承东《全场景时代 新体验与新生态》演讲全文
  7. 2021年G1工业锅炉司炉多少分及格及G1工业锅炉司炉模拟考试题
  8. PS初学——基本图像模式与调整(二)
  9. 刷脸支付凭什么这么火 ? 开启你的智慧生活 !
  10. mysql配置主从复制和mysql多实例配置主从复制