我碰到了一些让我困惑的事实。
对于k-NN分类器:
(1) k值较大时,分类精度不高的原因。 (2) k值较小时,决策边界不光滑。 (三)为什么决策边界不是线性的? (四)为什么k-NN不需要明确的训练步骤?
任何一个例子或想法都会让我非常感激,简单地告诉我这个事实,或者为什么这些都是真的?
发布于 2015-03-30 09:26:42
(1) k值较大时,分类精度不高的原因。
因为kNN的思想是,一个看不见的数据实例将具有与其最近的邻居相同的标签(或者在回归的情况下具有相同的标签)。如果你有很多邻居,你就会选择那些距离很远的邻居,因为k的值很大,这是不相关的。
例如,考虑到你想知道某人是住在房子里还是住在公寓楼里,正确的答案是他们住在房子里。如果你拿一个小k,你会看到靠近那个人的建筑物,这些建筑物也很可能是房子。如果你拿一个大的k,你也会考虑附近的建筑物,也可以是摩天大楼。
kNN有一个变体,它考虑所有的实例/邻居,不管它们离得多远,但距离越远的实例/邻居的权重越小。这被称为距离加权knn。
(2) k值较小时,决策边界不光滑。
为什么具有较小顶点的多边形通常不比具有大量顶点的多边形更平滑?考虑更多的邻居可以帮助平滑决策边界,因为它可能导致更多的点类似地被分类,但它也取决于您的数据。
(三)为什么决策边界不是线性的?
由于用于寻找k最近邻的距离函数不是线性的,所以通常不会导致线性决策边界。
(四)为什么k-NN不需要明确的训练步骤?
因为没什么可训练的。kNN并不构建数据模型,它只是假设空间中的实例是相似的。您不需要为此进行任何培训,因为空间中实例的位置是作为输入提供的。
https://stackoverflow.com/questions/29339834
复制相似问题