为什么VC尺寸很重要?


12

维基百科说:

VC维是算法可以打破的最大点集的基数。

例如,线性分类器的基数为n + 1。我的问题是为什么我们要关心?进行线性分类的大多数数据集往往非常大并包含很多点。

Answers:


4

什么是VC维度

如@CPerkins所述,VC维是衡量模型复杂性的指标。也可以定义破碎数据点的能力,就像您提到的Wikipedia一样。

基本问题

  • 我们想要一个模型(例如一些分类器),可以很好地概括未见数据。
  • 我们限于特定数量的样本数据。

下图(从此处获取)显示了复杂度(VC维度)不同的一些模型(至),在x轴上显示为。S1Skh

偏差-偏差权衡

图像显示较高的VC维可以降低较低的经验风险(模型对样本数据造成的误差),但也会引入较高的置信区间。这个间隔可以看作是模型泛化能力的置信度。

低VC尺寸(高偏置)

如果我们使用低复杂度的模型,则会引入关于数据集的某种假设(偏差),例如,当使用线性分类器时,我们假设可以使用线性模型来描述数据。如果不是这种情况,则无法通过线性模型解决我们给定的问题,例如,因为该问题具有非线性性质。我们最终将获得一个性能不好的模型,该模型将无法学习数据的结构。因此,我们应避免产生强烈的偏见。

高VC尺寸(更大的置信区间)

在x轴的另一侧,我们看到了复杂性更高的模型,这些模型的功能可能非常强大,以至于它会记住数据而不是学习数据的一般基础结构(即模型过拟合)。在意识到这个问题之后,我们似乎应该避免使用复杂的模型。

这似乎是有争议的,因为我们不会引入偏差,即VC尺寸较低,但VC尺寸也不应较高。这个问题在统计学习理论中有很深的渊源,被称为偏差方差折衷。在这种情况下,我们应该做的就是尽可能地复杂,并尽可能地简化。因此,在比较两个最终得出相同经验误差的模型时,我们应该使用不太复杂的模型。

我希望可以向您展示VC维度的概念还有更多。


1

VC维是在一组对象(函数)中查找特定对象(函数)所需的信息(样本)位数N

VC维度来自信息理论中的类似概念。信息论从香农对以下方面的观察开始:

如果您有对象,并且在这对象中,您正在寻找一个特定的对象。您需要多少位信息才能找到该对象?您可以将一组对象分成两半,然后问“我要寻找的对象位于哪一半?” 。如果在上半部分,您会收到“是”;如果在下半部分中,您会收到“否”。换句话说,您收到1位信息。之后,您问相同的问题并一次又一次地拆分集合,直到最终找到所需的对象。您需要多少位信息(是/否答案)?显然是NNlog2(N) 位信息-与排序数组的二进制搜索问题类似。

Vapnik和Chernovenkis在模式识别问题中也提出了类似的问题。假设在给定输入有一组函数,每个函数输出yesno(监督二进制分类问题),并且您正在寻找这函数中的特定函数,从而为给定的数据集提供正确的结果yes / no。您可以提出以下问题:“ 对于给定的哪个函数确实返回no,哪些函数返回yes?NxND={(x1,y1),(x2,y2),...,(xl,yl)}xi从您的数据集中。由于您从训练数据中知道真正的答案是什么,因此您可以放弃所有给错误答案的函数。您需要多少位信息?或者换句话说:您需要删除几个错误的功能的培训示例?。这与香农在信息论中的观察结果相差很小。您并没有将函数集精确地拆分为一半(也许只有个函数中的一个给您一些错误答案),也许您的函数集非常大,足以找到一个满足以下条件的函数: epsilon-接近您想要的功能,并且您要确保此功能是xiNxiϵϵ -close概率( - PAC框架),信息比特的数量(样本数),则需要将。1δ(ϵ,δ)log2N/δϵ

现在假设在函数集中没有不发生错误的函数。和以前一样,找到概率为 -close 函数就足够了。您需要的样本数量为。Nϵ1δlog2N/δϵ2

请注意,两种情况下的结果都与成正比-与二进制搜索问题类似。log2N

现在假设您有无限个函数集,并且在这些函数中,您想要找到 epsilon-最接近概率为的最佳函数的函数。为了简化说明,假设函数是仿射连续(SVM),并且发现函数接近最佳函数。如果稍微移动一下函数不会改变分类的结果,您将拥有一个不同的函数,该函数的分类结果与第一个函数相同。您可以采用所有给您相同分类结果(分类错误)的函数,并将它们作为一个函数进行计数,因为它们对数据进行完全相同的损失(图中的一行)。ϵ1δϵ

在此处输入图片说明

___________________两条线(函数)都将对点进行分类,并获得相同的成功______

您需要从一组这样的函数集中找到一个特定的函数多少个样本(回想一下,我们已经将函数划分为函数集,其中每个函数针对给定的点集给出相同的分类结果)?这就是维说明的内容被取代,因为您有无限多个连续函数,这些连续函数被划分为具有特定点相同分类错误的一组函数。如果您具有可以完美识别的函数,则需要的样本数量为,而VClog2NVCVClog(δ)ϵVClog(δ)ϵ2 如果您在原始功能集中没有完美的功能。

也就是说,维为您需要的一些样本提供了一个上限(不能一并改善),以便以概率实现误差。VCϵ1δ


0

VC维是模型复杂度的度量。例如,在给定VC维Dvc的情况下,一个好的经验法则是,鉴于模型的复杂性,您应该拥有n = 10xDvc数据点。

您也可以使用它来创建测试错误的上限。

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.