在这种情况下如何计算H的* VC维*?

时间:2017-04-28 18:47:03

标签: machine-learning dimensions dimension

  • 设H表示Rn中的轴平行矩形的集合。每 rectangle定义了一个二进制分类器,用于为点分配标签+1 在矩形内部,并将-1标记为矩形外的点。 每个矩形由每个维度1中的间隔[ai,bi]定义 ≤i≤n。如果ai≤xi≤bi,则pointx =(x1,...,xn)∈Rn在矩形中 for1≤i≤n。 H的VC维度是多少?证明你的答案。

使用LaTex输入;这是original text

根据我的理解,VC维度是一个最大的整数d,这样就存在一个大小为d的样本可以被假设集H破坏,但在这种情况下,如果H是矩形,我们怎么能计算出来呢?

1 个答案:

答案 0 :(得分:1)

对于Rn中的轴对齐矩形,VC维度(至少)为2 * n。

首先考虑R1中的一个矩形,它只是沿x1轴(实际上不是矩形)的一对最小/最大值(a1,b1)。这对值的VC维度为2,因为对于R1中的任何两个点,您可以设置(a1,b1)使得两个点中的一个,两个或两个都不在它们之间。但是当你沿着那个轴添加第三个点时,你无法在范围(a1,b1)中包含两个外部点而不包括中间点。

为了更容易想象,假设两点分别位于x1 = -2x1 = 2。您可以通过将矩形边界(a1,b1)定义为

来破碎集合
(-3, 3) -> both points included
(-3, 1) -> first point only
(-1, 3) -> second point only
(-1, 1) -> neither point included

现在假设您添加了一个额外的维度,因此您的空间位于R2中(即,现在它是一个真正的矩形区域)。再添加两个点,让新点的x1坐标为0,这样它们将始终包含在第一维(对于上面定义的矩形)中,并将新点的x2坐标分别设置为-2和2。另外,将前两个点的x2坐标设置为0。

当您将(a1,b1,a2,b2)设置为(-3,3,-3,3)时,您将包含所有4个点。你可以通过简单地将4个边界之一的大小从3减少到1来排除任何点。因为你可以通过改变R2矩形的相应边界来包括4个点的任何子集,VC的维度R2矩形至少为4.

很明显,您可以针对任意数量的维度重复此过程。每次添加新尺寸xi时,将所有点的xi坐标设置为0,除了为该尺寸添加的两个新点(它们分别位于xi = -2xi = 2)。 / p>

由于您可以为每个维度粉碎2个额外的点,因此对于Rn中的轴对齐矩形,VC维度将至少为2 * n。