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




  

相关话题

  为什么读论文最好打印出来读? 
  t-sne数据可视化算法的作用是啥?为了降维还是认识数据? 
  自动化的控制与检测领域中,有没有像机器学习、图像处理领域一样经典巧妙的算法? 
  未来 3~5 年内,哪个方向的机器学习人才最紧缺? 
  如何评价通信工程很多导师都研究机器学习人工智能而不是传统的天线电磁场等方向? 
  如何解读「量子计算应对大数据挑战:中国科大首次实现量子机器学习算法」? 
  如何看待 Larrabee 之父 Tom Forsyth 重加入 Intel?英特尔为何下注独立显卡? 
  机器学习算法进行分类时,样本极度不平衡,评估模型要看哪些指标? 
  未来 3~5 年内,哪个方向的机器学习人才最紧缺? 
  CVPR 2015 有什么值得关注的亮点? 

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





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利