美文网首页每天写1000字互联网科技程序员
机器学习笔记032 | 维数约减(Dimensionality

机器学习笔记032 | 维数约减(Dimensionality

作者: 止一量化养家 | 来源:发表于2017-10-15 09:44 被阅读61次

有时候,我们可能收集到上百或者上千的特征变量,我们很难理清楚各个特征之间的关系。

也就常常容易出现这样的情况,两个特征是强相关的,但是却都用来训练。

例如厘米和英尺,都是长度的度量,两者具有强相关关系,如果存在大量这样的冗余特征,就非常影响机器学习的效率。

这时候我们就需要进行维数约减(Dimensionality Reduction)

去掉这些冗余特征,对于内存容量、对于算法运算速度来说,都会有所改善。

1 维数约减的方法

可是问题在于,成百上千个特征变量,甚至是更多的特征变量,我们不可能人工逐一去辨识和剔除。

而有些方法可以自动做到这一点:

主成分分析(PCA)
线性判别分别(LDA)
自组织特征映射(Self-organizing maps,SOM)
主曲线(Principal Curves)
等距映射(Isometric Feature Mapping,ISOMAP)
局部线性嵌入(Locally Linear Embedding,LLE)
拉普拉斯特征值映射(Laplacian Eigenmaps,LE)
局部保持投影(Locality Preserving Projections,LPP)
近邻保持嵌入(Neighborhood Preserving Embedding,NPE)
……

2 维数约减的直观印象

也许上面说的还是有点抽象,我们通过几个图形理解一下,维数约减是怎么运行的。

就以刚刚所说的厘米和英寸为例:

我们可以将这些落点,用一根直线串起来:

出于一些误差的原因,所以落点没有在一根直线上。

对于这样的情况,我们可以将它从二维压缩到一维:

类似的,如果我们有一些三维的数据:

在打印的时候我们发现,这些数据几乎落在了一个平面上:

这也说明其存在一些强相关关系,我们可以将数据从三维降到二维:

通过降维将数据映射到二维或者三维,我们可以绘画出图形,更好地理解这些数据。

3 维数约减的应用

一个图片其实是每一个像素亮度的数据矩阵:

我们处理的时候将它展开成一个向量,一个像素 100 × 100 的照片,也才几KB,却有 10000 个特征维度。

而对于像素更大的图片来说,其特征维度就更多了。

直接对这样的数据进行处理,巨大的运算量是我们无法忍受的。

并且图片像素中可能有很多冗余的内容,没有能反映出图片的本质特征。

而进行维数约减,压缩特征数据,就能很好地解决运算量的问题,并且因为只保留了最本质的特征,也能很好地去除噪声的影响。

文章转载自公众号:止一之路

相关文章

网友评论

    本文标题:机器学习笔记032 | 维数约减(Dimensionality

    本文链接:https://www.haomeiwen.com/subject/ppjpyxtx.html