百科问答小站 logo
百科问答小站 font logo



t-sne数据可视化算法的作用是啥?为了降维还是认识数据? 第1页

  

user avatar   breaknever 网友的相关建议: 
      

拿我比较了解的无监督学习来说,t-SNE的一个用处是:通过视觉直观验证算法有效性,或者说是算法评估。因为在这种情况下数据没有标签,无法很好的验证结果。比如下面两幅图中,作者都使用了t-SNE来把高维数据压缩到2维空间上来证明算法的有效性。值得一提的是,t-SNE是少数可以同时考虑数据全局局部关系的算法,在很多聚类问题上的效果都不错。

而将tSNE直接用于降维,并后接分类器比较少见,我认为原因有:

  • 当我们意识到需要降维时,一般是发现了特征间的高度线性相关,而t-SNE主打的是非线性降维。如果我们发现了线性相关,可能用PCA处理就可以了。即使发现了“非线性相关性”,我们也不会尝试用t-SNE降维再搭配一个线性分类模型,而会直接选择非线性的分类模型去处理。复杂的非线性关系不适合强行降维再做分类,而应该用非线性模型直接处理。如果是高度稀疏的矩阵,也有适合的分类器直接用,也没必要降维。
  • 其次t-SNE的t指的是Student-t distribution,而一般t-SNE最多就是用于2维或者3维上可视化。我们知道一般的降维不仅仅是降维到2或者3个特征,而可能是从100降到20个特征之类的,在这种情况下可能要用更大的自由度(degree of freedom),效果还未知。
  • 其次是t-SNE的运算开销比较大 非线性,经过了优化的话可以达到 。同时t-SNE的代价函数非凸,可能得到局部最优。
  • t-SNE的核心思想就是保证在低维上数据的分布与原始特征空间的分布相似性高。而相似性度量是依赖于KL散度以及计算欧式距离并概率化。换句话说,它依然受到维度灾难的影响,如果在低维空间上本身不存在区分度或者高维空间中欧式距离差别很小的话,效果也不好。什么是维度灾难可以参考:微调:怎样理解 Curse of Dimensionality(维数灾难)?
  • t-SNE的调参比较复杂,尤其是perplexity这个参数的影响还是比较明显的,所以依赖于t-SNE来进行维度压缩并不容易有稳定结果。调参可以看:How to Use t-SNE Effectively

总体而言,t-SNE应该比较适合可视化,了解和验证数据或者模型。至于降维的话,还有很多局限性有待解决。遇到复杂数据,选用非线性的分类器可能效果更好。




  

相关话题

  数据分析方法论、流程和框架? 
  如何将某个分布作为机器学习的特征? 
  二分类问题,应该选择sigmoid还是softmax? 
  在你做推荐系统的过程中都遇到过什么坑? 
  如何通俗易懂地介绍 Gaussian Process? 
  PRML为何是机器学习的经典书籍中的经典? 
  机器学习小白来提问:关于联邦学习FedAVG和FedSGD的问题? 
  机器学习以及贝叶斯统计里,关于近似intractable integral,大家都偏爱什么算法? 
  如何证明对任意给定的正数e,存在M上的矩阵范数||A||,满足不等式||A||<=谱半径+e? 
  南京大学LAMDA(周志华)组的实力如何? 

前一个讨论
在实现科技自立的路上,如何营造有利于科技创新的环境?
下一个讨论
如何看待「去到另一个城市的酒店吃外卖」这种旅行方式?





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利