我无法理解维数的诅咒。具体来说,我scikit-learn
在用python编写教程时遇到了它。有人可以以更简单的方式解释以下内容吗?抱歉,我一直在试图理解最长的时间,无法理解他们是如何提出训练样本数量的计算以实现高效KNN估算器的?
这里是解释:
为了使估算器有效,您需要相邻点之间的距离小于某个值d,这取决于问题。在一个维度上,这平均需要n〜1 / d个点。在上述KNN示例的上下文中,如果仅由一个值在0到1之间且具有n个训练观测值的特征描述数据,则新数据的距离不会超过1 / n。因此,与类间特征变化的规模相比,只要1 / n小,最近的邻居决策规则将非常有效。
如果特征数量为p,则现在需要n〜1 / d ^ p个点。假设我们在一维中需要10个点:现在在p维中需要10 ^ p个点才能铺平[0,1]空间。随着p变大,一个好的估计量所需的训练点数呈指数增长。
编辑:~
在该示例中,波浪号()是否也应表示近似值?还是python波浪号运算符?