降维专题(一):为什么要降维?

降维是为了处理高维度数据带来的问题,如样本量不足和噪声存在。在没有噪声时,高维度可能导致解的非唯一性和样本局部性的不确定性;在有噪声时,过高的维度会降低模型的因果分析解释性和预测能力。降维可以通过减少噪声影响,平衡模型的偏差和方差,提升模型稳定性和预测效果。
摘要由CSDN通过智能技术生成

降维概念

维度是一个相对于样本量的概念。维度很高的时候,如果样本量也满足一定的数量,问题也不大。一般来说,如果每增加一个维度,样本量增加至少10个左右,不降维对模型结果的影响也不大。问题就在于,样本有限,但描述样本的维度过多。如在面部识别中,一个可用的维度是像素点的数量。对于一个 112 × 92 112\times92 112×92像素的图像来说,对应 112 × 92 112\times92 112×92个像素点,有1万多个维度,而如果用于训练的样本只有几百个,那么这个维度就过大了。
那么,为什么要降维,不降维有什么影响?

我们也可以转换成一个对称的问题,即在维度一定的情况下,样本量较少会有什么样的影响。从本质上讲,不管我们构造什么模型,数据挖掘要解决的最重要问题都是找样本在维度空间中遵循的一个分布规律。直观上考虑,事物的“规律”需要通过观察较多的样本才能发现。具体分析,我们区分两种情况:样本中不存在噪声与存在噪声,并且试图证明对这两种情况,都需要足够的样本量才能发现较准确的“规律”。

情况1:样本中不存在噪声

下面从两个角度讨论这种情况下的样本-维度问题。

解的存在性角度

假设样本中没有噪声。我们先考虑样本严格遵循一个多元线性模型,则所有样本点都满足等式(以矩阵形式表示) X β = Y X\bm\beta=Y Xβ=Y。其中,X是 n × m n\times m n×m维的自变量矩阵,m为样本量,n为维度数,或者也可以用m个n维列向量的组合表示: X = ( x 1 , x 2 . . . , x m ) X =(x_1,x_2...,x_m) X=(x1,x2...,xm) β \bm\beta β m × 1 m\times 1 m×1维参数向量,即我们需要解的量; Y Y Y为一个也就是说,给定样本(X,Y),我们只要解这个方程就能得到参数矩阵A。但问题在于,这个方程是否有解,如果有,是否唯一。因此,引入以矩阵形式表述的解的存在性定理。当矩阵X的秩小于参数个数,方程有无穷个解。当矩阵X的秩等于参数个数,方程有唯一解;当矩阵X的秩大于参数个数,方程无解。因此,当样本量较小时同时维度较大时,首先,样本量小就直接限制了X的行数,也就限制了秩的上界;同时维度较大时很容易出现完全共线性(现实中很多特征间都有很强的相关性),从而进一步降低矩阵的秩。并且一般来说,参数个数和维度数正相关,因此,在这种情况下,一般会有矩阵X的秩小于参数个数,也就是说,我们可以得到无穷多的参数矩阵都满足 X β = Y X\bm\beta=Y Xβ=Y的关系。而显然真实的模型只是其中一个。

样本的局部性角度

样本是总体的一个局部表征。因此,我们不能期望总体的每个局部规律都与总体本身的规律相似,因此用小样本只能推断出局部的规律,但与全局的规律可能存在较大偏差。但当样本量更大且在定义域上更分散的话,对总体特征的表征更全面。举一个简单的例子,假设总体服从一个 y = 2 x y = 2x y=2x的规律。若我们只通过观察两个样本(1,2),(2,4)推断总体服从什么模型。这样,观察者可能得出总体服从 y = 2 x y =2^x y=2x这样的错误模型。而当我们观察到更多的样本,发现都在一条直线上,才能更准确判断出真实模型。
有的同学可能会说,这个不就是under-fit的问题吗?这两个问题表面上有点像,本质上恰恰相反。通常说的Under-fit指的是当样本量较大,但人为选取的模型维度较低,只能描述出样本的局部规律。所以,这个问题的解决方式是人为选取更多特征(维度)或者让机器来学习特征。而这里表述的问题正好相反,总体遵循的真实模型维度较高,而样本量过小,已有的信息量不足以用一个高维度的模型刻画全局规律。所以,这个问题的解决方式是降维或者增加样本量。

情况2:样本中存在噪声

实际的样本中还有噪声.。什么是噪声?简单的说,就是令实际值偏离模型预测值的那部分因素。这些因素中,有部分是通过一些手段可以消除的,如计量经济学中的“遗漏变量”;而还有一些部分是无法消除的,即完全随机的因素。现实世界中很多事件都相互关联,并且很多事件的发生都有一定随机性,这两个事实也解释了为什么噪声十分普遍。
因此,给定一个真实模型和自变量x,因变量(或者说标签值)y并不一定都能完全由这个模型给出,而是会离模型预测值有一定的误差。反过来说,在有噪声存在的情况下,如果一个模型能完全拟合所有的样本点(X,y),那么这个模型一定是有问题的,因为它把所有的噪声也纳入进去了。那么,纳入噪声有什么问题呢?这个问题可以从建模的两个目的考虑:

因果分析角度

首先,在因果分析中,发现变量之间的潜在关系是建模的最重要目的。在这个领域,建模的目的就在于排除noise的影响,抽象出y和x之间可解释的、“纯粹”的关系,也就是经济学中常说的缓解内生性。如果模型完全拟合了现实,这个模型在解释性上也就失去了意义。维度增加,模型的 R 2 R^2 R2也一定会越高,极端时候趋近1,亦即完全拟合所有样本点,这样的模型并没有抽象出y和X之间的理论关系,因而参数基本不具备解释性。这里可以分多种情况讨论。首先,若纳入一些可以影响原自变量的变量,或者因变量对其有影响的变量,就是Angrist大神在Mostly Harmless Econometrics中讨论的bad control的问题,会导致估计参数有偏。若纳入无关变量,即和因变量无关但和自变量有关,则会导致估计量方差较大,估计精度下降。如果纳入了和自变量、因变量均无关的变量,虽然理论上对估计不会产生什么影响,但会使计算复杂度上升,比如在梯度下降算参数的时候,多一个维度意味着每次循环都要多进行和样本数量成比例的操作。因此,综合这些因素,我们若要求模型有较高解释性&#x

  • 8
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值