Machine learning 圆的VC维,一种特例

Machine learning 圆的VC维,一种特例,machine-learning,Machine Learning,我读过一篇文章,一个圆可以打碎2D空间中的3个点,这实际上是圆的VC维度 假设我们有三个点(5,2)(5,4)和(5,6)。 我如何画一个圆圈,其中(5,2)和(5,6)包含在out(5,4)中?那是不可能的 如果它不能破碎,那么为什么一个圆的VC尺寸是3。或者我在VC维度的定义中假设错误;假设必须粉碎所有可能的空间子集的所有可能场景?VC维度是可以粉碎的最大点数。{(5,2)、(5,4)、(5,6)}不能被圆粉碎,但是{(5,2)、(5,4)、(6,6)}可以被圆粉碎,所以VC维数至少为3。证

我读过一篇文章,一个圆可以打碎2D空间中的3个点,这实际上是圆的VC维度

假设我们有三个点(5,2)(5,4)和(5,6)。 我如何画一个圆圈,其中(5,2)和(5,6)包含在out(5,4)中?那是不可能的

如果它不能破碎,那么为什么一个圆的VC尺寸是3。或者我在VC维度的定义中假设错误;假设必须粉碎所有可能的空间子集的所有可能场景?

VC维度是可以粉碎的最大点数。{(5,2)、(5,4)、(5,6)}不能被圆粉碎,但是{(5,2)、(5,4)、(6,6)}可以被圆粉碎,所以VC维数至少为3。证明它正好是3更难

这里有一个技术点与Qnan的答案有关。如果圆分类器总是将圆内的点分类为1,而将圆外的点分类为0,则{(5,2)、(5,4)、(5,6)}无法被粉碎。另一方面,如果圆分类器也可以将圆内的点分类为0,那么{(5,2)、(5,4)、(5,6)}可以像Qnan所解释的那样被粉碎

Qnan,关于你的评论,如果说n是具有属性p的点的最大数目,那么为了证明n>=m,只需找到具有属性p的m点的任何集合就足够了。如果你找到一组或一千组不具有属性p的m点,那么这并不能证明关于n的任何东西。(除非您列举了大小为m的所有可能点集。)


VC维度是可以被粉碎的最大点数。如果分类器的VC维度为100,仍然可以找到分类器无法粉碎的3个点。我们可以将VCB维度定义为最大的数字n,这样所有大小为n或更小的集合都可以被粉碎。渐近线的原始示例表明,笛卡尔平面上的圆形分类器(假设圆内为1,圆外为0)的VCB维数小于或等于2,因为这三个点不会被破坏;然而,渐近线的例子并没有显示VC维数小于3,因为还有其他大小为3的点集可以被粉碎

关键是可以绘制圆,使属于一个类别的所有点都位于内侧,而其余的点位于外侧。哪个类是哪个类并不重要,因为交换标签只需要反转分类器

在您的例子中,将(5,2)和(5,6)从(5,4)中分离出来,只需要将后者包含在圆中,这是非常简单的。对于分类器,“内部”和“外部”并不重要。重要的是它们可以用0错误进行分类

编辑
严格来说,参数化分类器定义了VC维,并且存在多个分类器,其边界将被描述为一个“圆”。例如,
f(x)=(x-x0)*(x-x0)
不能在一条线上粉碎一组三个点,但是
f(x)=a*(x-x0)*(x-x0)
可以,并且两个分类器都有圆形边界。第二个的VC维度实际上是3,而第一个的VC维度是2。

Hans,你说的有矛盾。“VC维度是可以被粉碎的最大点数,“{(5,2)、(5,4)、(5,6)}不能粉碎”意味着圆的VC维度小于3。这也是错误的。你是对的,找到一个点的配置就足够了,它可以被粉碎。然而,严格来说,VC维仅为参数化分类器定义,并且存在多个此类分类器,其边界将被描述为“圆”。例如,
f(x)=(x-x0)*(x-x0)
不能在一条线上粉碎一组三个点,但是
f(x)=a*(x-x0)*(x-x0)
可以,并且两个分类器都有圆形边界。