我遇到了一些事实,使我感到困惑。
对于k-NN分类器:
I)为什么在k较大的情况下分类精度不会更好。
II)较小的k值,决策边界不平滑。
III)为什么决策边界不是线性的?
IV)为什么k-NN不需要显式训练步骤?
总之,有任何例子或想法可以让我很高兴了解到这一事实,或者为什么这些都是真的?
最佳答案
I)为什么在k较大的情况下分类精度不会更好。
因为kNN的想法是,一个看不见的数据实例将与其最近的邻居具有相同的标签(或在回归情况下具有相似的标签)。如果您有很多邻居,那么对于k
较大的值,您将选择相距甚远的邻居,这无关紧要。
例如,假设您想告诉某人是住在房屋还是公寓楼中,正确的答案是他们住在房屋中。如果您选择较小的k
,则将查看该人附近的建筑物,这些建筑物也可能是房屋。如果您使用大型k
,则还将考虑附近的建筑物,这些建筑物也可以是摩天大楼。
kNN有一个变体,它考虑所有实例/邻居,无论距离多远,但权重越大的实例/邻居就越小。这称为距离加权knn。
II)较小的k值,决策边界不平滑。
为什么具有较少顶点的多边形通常不比具有大量顶点的多边形更平滑?考虑更多的邻居可以帮助简化决策边界,因为这可能导致对更多的点进行类似的分类,但这也取决于您的数据。
III)为什么决策边界不是线性的?
因为用于查找k
最近邻居的距离函数不是线性的,所以它通常不会导致线性决策边界。
IV)为什么k-NN不需要显式训练步骤?
因为没有什么可训练的。 kNN不会建立您的数据模型,它只是假设在空间上靠在一起的实例是相似的。您不需要为此进行任何培训,因为实例在空间中的位置就是您作为输入给出的位置。
关于machine-learning - k-NN和有关k值和决策边界的一些问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29339834/