为什么 N/k 是 k-NN 中的有效参数个数?

机器算法验证 k-最近邻 自由程度
2022-03-23 07:56:55

为了完整起见,最近邻的标签上的平均值进行比较来对空间中的点进行分类。kk0.5

《统计学习要素》一书指出[删除了不相关的文字]

似乎最近邻拟合有一个参数,即邻居数量最近邻有效参数数量并且随着的增加而减少。要了解原因,请注意,如果邻域不重叠,则会有个邻域,我们将在每个邻域中拟合一个参数(平均值)。kkkN/kkN/k

通过固定,空间中的每个点都有一个固定的分类。没有更多的参数需要学习。类似的论点如下,对于每个不重叠的邻域,均值是固定的。k=k

那么如何有参数呢?N/k

1个回答

要回答这个问题,您需要问自己什么是模型。例如,一个简单的单变量线性模型,其中您有 2 个参数和输入数据您可以通过将新数据引入并利用由线性关系和 2 个参数组成的知识来预测值。预测不需要其他知识,所以可以说线性模型的参数为2。没有训练数据值包含在参数中,它们被升华为回归模型参数。y=β0+β1xβ0,β1xx

现在考虑 k 最近邻。哪个是型号?您有类似输入 x 邻居的最大计数的类索引。现在继续,如果我们进一步假设区域不重叠(这在某种程度上是一个强有力的假设,但不会影响主要思想),那么您可以得出结论,通常您将有个区域,并且在每个区域中您使用目标变量的最大计数进行预测。此最大计数用于预测,不需要其他信息。您的模型(考虑非重叠区域)类似于,其中是指示函数等于如果 ,n/ky=r=1n/kargmaxk(count(yj))1jregionr11jregionr0否则。

从该形式化中,您可以看到对于每个区域,您都有一个拟合为的参数,因此您可以说您有参数,因为这些参数仅用于预测(其他输入不是参数) .argmaxkn/kx

这可能会更进一步,例如考虑在这种情况下,我们有一个区域,对于该区域,我们将单个参数拟合为多数类别的 argmax 索引。k=n

非重叠区域的假设看起来相当强,但使用它是为了简化计算。