机器学习方法篇(28)------降维和度量学习

● 每周一言

不亲身经历,不妄加评论。

导语

在特征提取过程中,有时候会遇到特征维数非常大(维数灾难)的情况,这种情况会带来两个主要问题:一是样本稀疏,会极大削弱特征的表达能力;二是高维数所带来的庞大计算量。降维和度量学习便是维数灾难的解决之法。那么,究竟什么是降维和度量学习?

降维和度量学习

我们先来讲讲这个“维数灾难”。当特征维数变大之后,为什么会出现“灾难”?

fig1

不妨举个例子直观感受一下:比如一个分类问题,一开始只有一个特征A,特征值有100个,我们最少需要100个样本才能拟合出特征A。现新增一个特征B,特征值同样有100个,并假设特征之间正交独立,问最少需要多少个样本才能完整拟合A和B?没错,答案是100 × 100 = 10000个。

由此推之,当特征维数为n时,我们至少需要100的n次方个样本才能完整拟合特征空间。显然,这样指数级的样本数量是不可获取的,也是不可计算的,这便是所谓的“维数灾难”。

fig2

降维,顾名思义就是降低特征维数,通过某种数学变换将原始特征从高维空间转变到低维空间。降维在直观意义上降低了特征数据的稀疏性,一定程度达到了提炼低维优质属性或降噪的效果。

通常情况下,降维的基本要求是,经过高低维空间变换后的低维空间中各个样本之间的相对距离,尽量与原高维空间中的相对距离等价。

fig3

降维的实现方法分为 线性降维非线性降维 两大类。

线性降维算法主要有 主成分分析(Principal components analysis,PCA)线性判别分析(Linear Discriminant Analysis,LDA)两种;非线性降维算法主要有 多维缩放(Multidimensional Scaling,MDS)局部线性嵌入(Locally Linear Embedding,LLE)拉普拉斯映射(Laplacian Eigenmaps,LE)等。

fig4

降维的目的是寻找一个合适的低维空间,而每一个空间都对应一个合适的距离度量进行特征计算。

度量学习 则是在原特征空间上直接“学习”出一个合适的距离度量,来等效降维的效果。

由于在解决维数灾难问题上,一般倾向于使用更为直观的降维来解决,因此在这里对度量学习不做展开描述,有兴趣的读者可自行查阅资料。

以上便是降维和度量学习的介绍,敬请期待下节内容。

结语

感谢各位的耐心阅读,后续文章于每周日奉上,敬请期待。欢迎大家关注小斗公众号 对半独白

face

猜你喜欢

转载自blog.csdn.net/cherrylvlei/article/details/80469662