百科问答小站 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应该比较适合可视化,了解和验证数据或者模型。至于降维的话,还有很多局限性有待解决。遇到复杂数据,选用非线性的分类器可能效果更好。




  

相关话题

  为什么deep lab v3起,输出不再接 DenseCRF了? 
  相比于时下流行的机器学习方法(联接主义),传统的人工智能方法(符号主义)有什么独一无二的优势? 
  计量经济学是不是过时了? 
  皮尔逊系数为什么要中心化?中心化之后有什么好处? 
  正负样本极不平衡的问题? 
  深度学习应用在哪些领域让你觉得「我去,这也能行!」? 
  如何分析找出知乎的潜在的热门问题? 
  未来五年,数据科学家(Data Scientist)的岗位需求会如何变化? 
  有哪些网站用爬虫爬取能得到很有价值的数据? 
  如何把梯度传递过Argmax? 

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





© 2025-04-05 - tinynew.org. All Rights Reserved.
© 2025-04-05 - tinynew.org. 保留所有权利