前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >降维技术 (Dimensionality Reduction)

降维技术 (Dimensionality Reduction)

作者头像
double
发布2020-02-21 18:02:09
9020
发布2020-02-21 18:02:09
举报
文章被收录于专栏:算法channel算法channel

降维是一个去掉冗余的不重要的变量,而只留下主要的可以保持信息的变量的过程。通常通过两种途径来实现:

  • 一个是特征选择(Feature Selection)
  • 一种是特征提取(Feature Extraction)

在我们实际的工作中,往往会遇到大数据。这些大数据不仅仅是样本量大,往往有时候变量很多,可能会有成千上万个变量,或者称之为特征。而有时候有些特征根本就不重要,也提供不了重要的信息,它们只是一些噪音。在这种情况下,降低特征个数就非常重要。

比如在图像处理分析中,通常会有很多幅图像,比如图像是从不同角度,不同位置得到的一组庞大的图像集,而每一幅图像又包含太多的像素,这时候降维就很重要,尤其是你的任务不是需要检测每一幅图像里的每一个像素的时候。

降维的一个很流行的方法就是主成分分析(Principal Component Analysis (PCA))方法,这也是我最开始学到的第一个降维方法。PCA是一种映射法, 它会把原来的特征映射到新的空间,新的空间中的特征表示成原来特征的线性组合。而在新的主成分空间中,特征的个数会极大的减少,而研究表明PCA可以很好的保持原来特征所提供的信息,也就是说虽然维数大大降低了,但是PCA仍然可以最大程度的保留着原来的信息量。

PCA是一种成功的降维方法,当然也可以用它来Visualize高维空间的数据。但是它也有一些局限的地方,比如有些研究称它是一种映射方法,映射后新的特征就变成了原来特征的线性组合,这样它的解释性就没有那么强。比如,你跟医生合作,如果你说线性组合,他们可能根本不关心,他们更想知道的是原来的特征。

所以,鉴于上面的局限性, 于2002年,Isabelle Guyon等人发表了一篇文章,题目是 “Gene Selection for Cancer Classification using Support Vector Machines“。他们提出了一种新的降维方法,那就是 Recursive feature elimination(RFE)。这种方法没有像PCA那样做了线性变换,而是保持了原始的特征,而且它还考虑了原始特征之间的关系(interactions)。这个方法出来之后,变得非常流行,从它的引用率就可以看出来。

当时的SVM-RFE是很流行的,后来又有了别的模型的RFE,比如 Random forest-RFE 等等。你自己也可以搜搜看看。如果感兴趣的话,也建议自己运行一遍试试,看看他的输出到底是什么,自然你就会一目了然了。

另外一种特别流行的, 不得不说的降维方法就是t-Stochastic Neighbor Embedding (tSNE),它是一种非线性的降维方法。我们可以这种方法来降低特征的个数,也就是可以用它来做特征选择,从而把选择后的特征作为机器学习模型的出入。通常情况下,我们经常使用tSNE来做数据的可视化(data visualization).

图片来自这里(http://www.nlpca.org/pca-principal-component-analysis-matlab.html)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员郭震zhenguo 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档