小夕:hi,路人~你知道机器学习中数据的维度太高会带来什么问题吗?

路人己:此时,如果样本量不足,会容易过拟合啊~

小夕:为什么呢?

路人己:这还有为什么?

小夕:( ̄∇ ̄)



路人己:不对啊,你的标题不是深度学习与大数据吗?怎么问起这个来了?

小夕:不要急哦,在小夕带你深度解析“为什么高维数据会带来灾难?”后,一切将迎刃而解啦。


深度学习可以与大数据分手吗?_样本集

对于一些已经实践过机器学习算法的同学,一般都会知道上面路人己的说法。但是有没有同学去探究过这个现象背后的原因呢?也就是说,为什么训练样本(数据)的维度太高的情况下,会导致很难训练出满意的机器学习模型呢?

 

简洁来说,两大原因:Bellman的维数灾难和Hadamard的不适定问题。

Bellman的维数灾难

我们知道,从概率统计的观点来看,数据的每个特征都可以认为是一个服从某种分布的随机变量。(因此一个具有m个样本、每个样本有n维的数据集就可以认为是一个n维随机变量的m个采样点)

 

基于上述理解,小夕以该n维随机变量服从高斯分布为例进行讲解。(高斯分布就是正态分布)

 

高中时,我们接触的高斯分布的形状一般是这样的(偷了个懒,从《模式分类》上找了个图:

 

深度学习可以与大数据分手吗?_机器学习_02

 这是两个一维高斯分布的情况(请自行删去一个...),可以看到,大部分数据都集中在某点的两侧(该点即该随机变量的期望μ,99.7%的数据集中在(μ-3σ, μ+3σ)的范围内)

 

容易想象到,二维的时候是这样的(两个二维高斯分布):

深度学习可以与大数据分手吗?_样本集_03

  

也就是立体的看,是座尖峰。如果投影到二维平面上,也就是从上往下看的话,是一个圆(上图的底部已画出)。可以看到,大部分数据都集中在圆心的不远处。

 

而三维呢?可以想象到,比圆升高一维,那就是球啦。

 

深度学习可以与大数据分手吗?_数据_04

 大部分数据依然很集中!集中在球心不远处。

 

四维呢?甚至五维呢?看二维和三维的情况,到了四、五维的时候也应该是一个圆圆的、球球的东西,这个东西被称为“超球”。(同样的道理,直线->平面->超平面;二次曲线(双曲线)->二次曲面->超二次曲面)

 

如果100维呢?依然是这样吗???出!问!题!了!

 

当维数足够高时,会产生空空间现象(empty space phenomenon),即高维空间的本质是稀疏空间。

 

因此,当维数显著增加时,样本集的分布会越来越多的向高斯函数的边界(也就是3σ以外)移动!而不再是集中在中间了!换句话说,对于高维的样本集,大部分数据将分布在超球的外壳,而不是超球的球心!

 

显然,这就导致高维情况下,我们的机器学习模型很难去描述该空间的“形状”和“各个点的密度”(本来在低维情况下通过期望μ和标准差σ很好描述的高密度区域,到了高维情况却可能完全没有了样本!而本来密度很低的辽阔区域却散布着样本集的大部分!你让我如何去描述嘛!没有描述就没法分类和识别啊喂)

 

所以,还抱有一丝幻想的话,就要大量增加数据样本!才有可能去描述如此空虚的空间!以怎样的速率增加呢?以指数数量级!但是,仅仅是大量增加样本就可以吗?问题真的如此简单?

 

还有更加严重的灾难!

 

Hadamard的不适定问题

这部分讲解会用到一点点泛函分析中的知识。泛函分析可以简单理解为在无限维空间上,研究函数的函数的数学学科。但是没有学过的同学也不用担心,下面小夕会将其强扯到我们熟悉的机器学习问题上。

 

Hadamard提出在某些情况下,求解线性算子方程Af=F,f∈F的问题(接地气的类比:这里的A可以认为是手头的样本集,F可以认为是我们要拟合的自然模型,也就是数据的真实分布模型,而f可以认为是我们要根据样本集来训练的机器学习模型),即使方程存在唯一解,如果方程右边有一个微小变动,也会导致解有很大的变化!即导致不适定问题。而我们根据高维数据集来估计机器学习模型的场景正符合这个场景!也就是会产生不适定问题!

 

这意味着什么呢?意味着如果我们手头的样本集的规模并没有大到可以描述自然模型,也就是并没有满足大数据的定义(精确的定义见这篇文章),那么,哪怕我们的数据集只是跟自然模型差一点点了,就差一点点就可以完全描述自然模型了,那!也!不!行!这将导致解有很大的变化!也就是将导致我们训练出的机器学习模型f将会有很大的变化!或者说有很大的误差!也就是说训练出的模型对于未知数据的表现会很差劲!即攻城狮口中的过拟合了!

结论

高维情况下,Bellman维数灾难中提到的空空间问题使得高维空间非常难以描述,哪怕使用非常多的样本勉强描述了,Hadamard提到的不适定问题依然将导致高维数据训练出的机器学习模型效果很差(即泛化能力很弱),出现所谓的过拟合。

 

所以在高维情形下的唯一解是?


严格意义上的大数据。(注意不是媒体口中的假大数据,严格意义上的大数据,其规模和复杂度必须达到可以描述自然模型的程度)

所以

深度学习意味着什么呢?意味着作为机器学习模型的神经网络很深很复杂。

神经网络很深很复杂意味着什么呢?意味着要训练的参数很多。

参数很多意味着什么呢?意味着数据的维度很高。

维度很高意味着什么呢?意味着本文所讲的结论。

 

参考文献:

毕华, 梁洪力, 王珏. 重采样方法与机器学习[J]. 计算机学报, 2009,32(5): 862-877.

Duda R O, 杜达, Hart P E, et al. 模式分类[M]. 机械工业出版社, 2003.

Bellman R. Adaptive control processes: a guided tour[J]. 1961.