The Curse of Dimensionality
E-mail: sunxiangguodut@qq.com
1. 三个问题
在开始本文的讲解之前,我想问大家几个很简单的问题,简单到我们平日工作中似乎根本没有任何的考虑而当成了理所应当。
在实际工作中,我们似乎都认同这样一个事实:如果你增加数据提取的特征维度,或者说如果你的模型需要更高维度的输入,那么相应的,你也需要增加你的训练数据。例如在我们人工提取特征的时候,如果你结合了多个特征,最后的求解模型的训练往往也需要更多的数据。又如在深度神经网络中,由于输入维度过高,我们往往需要增加大量的训练数据,否则模型会“喂不饱”。
我的第一个问题是:为什么会“喂不饱”?
这个问题你有仔细认真的想过吗?或者说,你能给我一个有理有据的解释吗?
第二个事实是: 如果你了解SVM(支持向量机)的话,你就会知道,SVM是通过核函数,把低纬度样本映射到高维空间里的,从而获得更好的分类效果。然而,于此相反的是,绝大多数深度神经网络是把高维的输入映射到低纬度空间,最后把几百万,几千万维的输入压缩成了一个几百维的向量,却也获得了更好的分类效果。这是什么原因呢?
我的第二个问题是:为什么我们不可以仿照SVM,把深度神经网络的输入映射到更高伟的空间?
有人说SVM适用于低维度数据,深度神经网络使用于大规模数据,SVM与深度神经网络的本质区别又是什么呢,你能解释清楚吗?
第三个事实是:我们见到的几乎所有的深度神经网络,最后的分类层往往都是softmax(罗辑思特回归适应于多分类的变种)。似乎没有人把最后的分类器换成带有核变换的SVM。尽管有一些论文似乎确实是把SVM作为了后端,但是这个SVM往往也不是带有核函数的SVM,本质上仍是一个线性分类器,与softmax在性能上差不多。
因此,我的第三个问题:既然深度网络具有很强的表示能力,SVM具有很强的分类能力,为什么我们看到的绝大多数深度网络后面的分类层都是softmax而不是SVM?
以上三个问题,在看完我们接下来的关于维度诅咒的讲解后,相信你会有更好的认识。
2. n维空间的膨胀
理想情况下,我们如果把一些样本映射到n维空间,这n维空间的n个坐标轴是相互正交的(线性无关),那么我们就需要考察一下,样本数据在n维空间究竟是如何分布的呢?
首先,我们不加证明的给出n-1维球面所包围的体积(n维超球体体积)公式:
接下来我们可以用这个公式考察一下n维空间单位超球体(即从原点出发,半径为1的超球)的体积:
但是当n趋向于无穷大时, VnRn V n R n 趋向于0,即随着维度的增加,单位超球体的体积在缩水(shrink)。
关于单位超球体的体积缩水,我们也可以这样看:
单位n维球面的外切超正方体的边长为2,因此体积为 2n 2 n ;当维度增加时,n维球面的体积与外切于它的超正方体的体积之比单调减少。
单位超球体体积缩水,与此等价的一段表述是:随着维度的增加,想要维护同样的体积,单位空间的半径必须增大。这样的一个直观现象就是:当维度增加时,n维空间的体积极速膨胀,以至于已有的样本数据变得稀疏了。
我们把这一现象,叫做维度诅咒(The curse of dimensionality)
3. 问题的解答
现有的统计模型,本质上是在n维空间里检索一个区域,这个区域的样本具有相似的性质。然而,到了高维空间后,由于体积膨胀,样本分布变得极其稀疏,所有的样本在各种度量方案上都不在具有相似性,这就阻碍了数据高校的组织与处理。
由上所述相国在这里问大家的前两个问题其实是等价的:
- 由于高纬度空间膨胀,原来样本变得稀疏,原来距离相近的一些样本也都变得距离极远。此时相似性没有意义,需要添加数据使得样本稠密。
- SVM通过核函数把低纬度输入映射到高纬度,取得了更好的分类效果。这是因为在低维空间下,原有的样本聚在了一起,线性不可分,因此需要映射到高维度,将样本分布拉伸,从而更好的分类。因此,带有核的SVM处理的数据一般是低纬度的数据,即便通过核函数映射到高维空间也是有限的,需要更多的数据进行训练。而深度神经网络的输入一般是高维的数据。例如一个单词如果定义为300维的词向量,我们把一段1000个单词的文本作为一个样本,这就是一个拥有 300×1000=300,000 300 × 1000 = 300 , 000 个entries的矩阵,这么高维度的空间里,样本之间的相似性难以被挖掘,因此我们使用深度网络对维度进行压缩,使得样本分布更加稠密,便于下游分类器分类。
由此可见,SVM和深度神经网络一个是“拉”,一个是“压”,“拉压”结合,体现了自然哲学的辩证法。使用哪一种方法取决于你对于样本数据的了解情况。
既然如此,第三个问题就好解释了。深度网络加上带有核变换的SVM,这说明前端深度网络压缩过度。实际上使用softmax就足够了。从一些论文中我们也可以看到,有些论文后端使用的是SVM,但是仅仅是简单的SVM,没有假如核变换,这个时候其性能与softmax相比差不多。当然,这里还有其他的一些考虑,读者可以查阅相关文献做进一步的阅读(知乎)
写这篇博文用了很多时间和精力,如果这篇博文对你有帮助,希望您可以打赏给博主相国大人。哪怕只捐1毛钱,也是一种心意。通过这样的方式,也可以培养整个行业的知识产权意识。我可以和您建立更多的联系,并且在相关领域提供给您更多的资料和技术支持。
赏金将用于拉萨儿童图书公益募捐
All donation will be used to the library of charity for children in Lhasa.
《 春天里,我们的拉萨儿童图书馆,需要大家的帮助》