我遇到了一些令我困惑的事实。
对于k-NN分类器:
I)为什么分类精度在k值较大时效果不佳。
II)较小的k值决策边界不平滑。
III)为什么决策边界不是线性的?
IV)为什么k-NN不需要明确训练步骤?
任何一个例子或想法都会非常感谢我简要了解这个事实,或者为什么这些都是真的?
答案 0 :(得分:2)
I)为什么分类精度在k值较大时效果不佳。
因为kNN的想法是一个看不见的数据实例将具有与其最近邻居相同的标签(或在回归的情况下的类似标签)。如果你带走了很多邻居,那么你会选择相距很远的邻居k
,这些邻居是无关紧要的。
例如,考虑一下你是想告诉某人住在房子或公寓楼里,而正确的答案是他们住在一所房子里。如果你选择一个小的k
,你会看到靠近那个人的建筑物,这些建筑物也可能是房屋。如果您选择较大的k
,您还可以考虑附近的建筑物,也可以是摩天大楼。
有一种kNN的变体可以考虑所有实例/邻居,无论距离多远,但是那些距离越远的权重越小。这称为距离加权knn 。
II)较小的k值决策边界不平滑。
为什么具有较少顶点数的多边形通常不比具有大量顶点的多边形更平滑?考虑更多的邻居可以帮助平滑决策边界,因为它可能会导致更多的点被分类,但它也取决于您的数据。
III)为什么决策边界不是线性的?
因为用于查找k
最近邻居的距离函数不是线性的,所以它通常不会导致线性决策边界。
IV)为什么k-NN不需要明确训练步骤?
因为没有什么可以训练的。 kNN不构建数据模型,它只是假设在空间中靠近在一起的实例是相似的。您不需要对此进行任何培训,因为实例在空间中的位置就是您输入的内容。