Machine learning k-NN分类器的预测方差和模型偏差

Machine learning k-NN分类器的预测方差和模型偏差,machine-learning,artificial-intelligence,classification,knn,Machine Learning,Artificial Intelligence,Classification,Knn,我相信很多人都在研究K-NN算法,我就是其中之一 我刚刚遇到过这样一句话:“对于任何给定的问题,k的一个小值将导致预测的巨大差异。或者,将k设置为一个大值可能导致一个大的模型偏差。”我认为这对很多人来说是直截了当的,但对我来说不是 如果您已经知道它的意思,请帮助我理解它是什么。好的,让我们从头开始 1。k-NN是如何工作的? 你有n个基点(k比n小得多),你知道你想要的答案——你可能从甲骨文那里得到了它。该集合称为训练集,因为您将其提供给虚拟实体(k-NN分类器),以便它可以学习期望的结果。我们

我相信很多人都在研究K-NN算法,我就是其中之一

我刚刚遇到过这样一句话:“对于任何给定的问题,k的一个小值将导致预测的巨大差异。或者,将k设置为一个大值可能导致一个大的模型偏差。”我认为这对很多人来说是直截了当的,但对我来说不是


如果您已经知道它的意思,请帮助我理解它是什么。

好的,让我们从头开始

1。k-NN是如何工作的?

你有n个基点(k比n小得多),你知道你想要的答案——你可能从甲骨文那里得到了它。该集合称为训练集,因为您将其提供给虚拟实体(k-NN分类器),以便它可以学习期望的结果。我们所说的“点”是指单个示例,其中描述了一些空间中允许我们计算距离的特征

当要求对新点进行分类(识别)时,您将在n个点中搜索与新点最接近的k个实例。“最近”是指“特征向量之间的距离最短”。 然后,您将根据这些k点的投票选择答案。例如,如果k=5,3个点表示新的一个属于A类,2个点表示新的一个属于B类,则假设新的一个属于A类。您必须指定一些绘制策略-可能返回到1-NN并返回最近点的类

2。“对于任何给定的问题,较小的k值将导致预测的较大差异。”

我假设作者所说的“预测中的巨大差异”是指“对大量数据进行分类时出现的许多错误”

为什么会这样

因为k-NN非常幼稚。直觉上,接近点可能属于同一类,但并非总是如此。例如,请参见下图中的A点。如果我们使用k=1,那么最近的点将是红色的,即使答案应该是绿色的。对于k=2,我们在红色和绿色之间画一个平局,然后选择红色,因为红色更接近

资料来源:,稍加手工修改

最后,这句话的意思是“如果k很小,你可能会得到很多错误的结果”

3。“将k设置为较大的值可能会导致较大的模型偏差。”

“偏见”是一种倾向,即即使问题分布均匀,给出一个答案的频率也高于另一个。可能会出现大k,但问题是“何时”

“何时”的答案是“当你的训练集有偏见时”。这里的“偏颇”意味着一些类比其他类用更多的点来表示

考虑一个训练集,你有5分的课+和更多的课*,如下图所示

它可能不代表类之间的真实关系,但这就是所有的数据。在下面的图片上,类可能是线性可分的,点标记为红色?可能是+

如果你使用k=10,你几乎总能得到答案*。最佳情况是用红色标记的点?-您将获得所有五个+点,再获得5个*点,并使用+解决1-NN的平局,因此答案是正确的

无论如何,在大多数情况下,您的分类器将提供一个特定的答案,这正是偏差-一个类将更频繁地返回

但在前面的例子中,情况并非如此——正如句子所述,它可能会导致很大的偏见,但并非必须如此

最后,这句话的意思是,如果你的数据集有偏差,那么你的分类器对大k的偏差比对小k的偏差更大

资料来源:我自己的

4。总结和进一步阅读。

我希望这将向你们澄清一些事情


如果您需要更多信息,请参阅。

但这里的问题与编码相关在哪里?此问题涉及特定的软件算法。它本身并没有被问到,带有问号等,但我认为这是一个恰当的交换。谢谢“FilipMalczak”的善意解释。这澄清了我的问题。