为什么将数据转换为类别可线性分离的高维特征空间会导致过拟合?


10

我在关于SVM和线性不可分数据的部分中读了我的书(Webb和Wiley进行的统计模式分类):

在许多现实世界中的实际问题中,将没有线性边界来分隔类别,并且寻找最佳的分隔超平面的问题是没有意义的。即使我们使用复杂的特征向量将数据转换为类别可以线性分离的高维特征空间,也会导致数据过拟合,从而导致泛化能力差。Φ(x)

为什么将数据转换为类别可以线性分离的高维特征空间会导致过度拟合和较差的泛化能力?

Answers:


8

@ffriend有一个很好的帖子,但是一般来说,如果您转换到高维特征空间并从那里进行训练,则学习算法将被“强制”考虑到高空间特征,即使它们可能没有任何特征与原始数据有关,并且没有提供预测质量。

这意味着您在训练时不会适当地概括学习规则。

举一个直观的例子:假设您要根据身高预测体重。您拥有所有这些数据,对应于人们的体重和身高。让我们说,通常,它们遵循线性关系。也就是说,您可以将体重(W)和身高(H)描述为:

W=mHb

,其中是线性方程式的斜率,是y轴截距,在这种情况下,是W轴截距。bmb

假设您是一位经验丰富的生物学家,并且您知道这种关系是线性的。您的数据看起来像一个散点图,呈上升趋势。如果将数据保留在二维空间中,则将使其适合一条线。它可能无法解决所有问题,但是没关系-您知道该关系是线性的,无论如何都需要一个很好的近似值。

现在,假设您获取了此二维数据并将其转换为更高维的空间。因此,您不仅增加了,还增加了5个维度:,,,和。ħ 2 ħ 3 ħ 4 ħ 5 HH2H3H4H5H2+H7

现在,您去寻找多项式的系数以适合此数据。也就是说,您要针对此“最适合”数据的多项式找到系数:ci

W=c1H+c2H2+c3H3+c4H4+c5H5+c6H2+H7

如果这样做的话,您会得到什么样的评价?您会得到一个看起来很像@ffriend最右图的图。您已经过度拟合了数据,因为您“强迫”学习算法要考虑与任何无关的高阶多项式。从生物学上讲,体重只是线性地取决于身高。它不依赖或任何更高阶的废话。H2+H7

这就是为什么如果您盲目地将数据转换为高阶维度,则可能会出现过度拟合而不是概括的非常糟糕的风险。


6

假设我们正在尝试使用线性回归(这实际上是SVM所做的事情)在平原上找到近似2D点集的函数。在下面的3张图像中,红叉标记是观测值(训练数据),而3条蓝线表示方程式,其中多项式的阶数不同,用于回归。

在此处输入图片说明

第一图像由线性方程生成。如您所见,它反映的点非常差。之所以称为欠拟合,是因为我们给学习算法的“自由度”太小(多项式太小)。二阶图像要好得多-我们使用了二阶多项式,看起来还不错。但是,如果我们进一步提高“自由度”,我们将获得第三张图像。蓝线恰好穿过十字架,但您认为这条线确实描述了依赖性吗?我不这么认为。是的,在训练集上,学习误差(十字和直线之间的距离)很小,但是如果我们再添加一个观察值(例如,来自真实数据),则其误差很可能比使用第二个方程式的误差大得多。图片。这种效应称为过拟合-我们试图太紧跟培训数据并遇到麻烦。使用单个变量的多项式是内核的一个简单示例- 我们使用多个(,,等)代替一维()。您会看到将数据转换为高维空间可能有助于克服欠拟合问题也可能导致过度拟合。真正的挑战是找到“正确的”。几个提示,供您进一步研究此主题。您可以使用称为交叉验证的过程来检测过度拟合x x 2 x 3xxx2x3。简而言之,您将数据分为10个部分,其中9个用于训练,1个用于验证。如果验证集上的错误比训练集上的错误高得多,则说明您过大了。大多数机器学习算法使用一些参数(例如SVM中的内核参数)来克服过度拟合的问题。另外,这里一个流行的关键字是正则化 -直接影响优化过程的算法修改,字面意思是“不要太紧跟训练数据”。

顺便说一句,我不确定DSP是否是解决此类问题的合适地点,也许您也将有兴趣访问CrossValidated


这是从安德鲁·伍(Andrew Ng)关于机器学习的视频讲座中偷来的。除非那是你吴医生 在这种情况下,您是否正在寻找实验室的博士生?(可以在coursera.com上为有兴趣的人找到这些讲座)
Cyber​​Men 2012年

@Cyber​​Men:它是从images.google.com中偷来的:)但是,是的,表示法与Ng的表示法非常相似。我肯定会建议他的课程(和其他论文)来介绍机器学习。
ffriend 2012年

我认为DSP至少在其他SE网站中是解决此类问题的合适地点。
Gigili 2012年

2

您进一步阅读了吗?

在6.3.10节的末尾:

“但是,通常必须设置内核的参数,选择不当会导致糟糕的泛化。针对给定问题的最佳内核选择仍未解决,并且针对特定问题(例如文档分类)也衍生了特殊内核。 ”

这使我们转到第6.3.3节:

可接受的内核必须在功能空间中表示为内部产品,这意味着它们必须满足Mercer的条件”

内核受其自身相当困难的区域影响,您可以拥有大量数据,其中不同部分应在其中应用不同的参数,例如平滑处理,但不知道确切的时间。因此,这样的事情很难一概而论。


我正在阅读“ 4.2.5支持向量机”,我不知道您在说第6节。由于我在问题中提到的那段没有任何内容,因此我认为最好在这里提出。
Gigili 2012年

抱歉,我也将它与Webb的统计模式识别混合使用,我现在正在寻找并且具有相同的章节。
sigrlami 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.