KNN 什么时候进行拟合?

数据挖掘 机器学习模型
2022-02-28 21:16:01

在训练过程中,模型拟合恰好减少了错误。但是KNN会这样做吗?

减少错误只发生在改变 K 值和特征数量的情况下,不是吗?

所以训练集和测试集只是为了做下面的事情,对吧?

  1. 使用训练集训练模型
  2. 给定测试样本,模型在训练集中找到 K 近邻
  3. 对测试样本进行分类或回归
  4. 使用 MSE 或 RMSE 查找精度
1个回答

简短版本:这只是术语,但可以说 K-NN 实际上并不适合模型。

从概念上讲,K-NN 是一种惰性学习模型这意味着,从某种意义上说,在新实例到达进行分类或必须预测值之前没有拟合(取决于您是使用 K-NN 进行分类还是回归,两者都是可能的)。即便如此,在我看来,使用“拟合模型”这个词还是有点不合时宜。

我认为您的困惑在于“模型拟合恰好可以减少错误”这句话。不,不是的。模型拟合只是获取一个模型(例如,一系列数据分布)并通过找到更好地描述数据的参数来拟合模型(从而从该家族中选择一个成员)。

也许你认为神经网络的时代是“合适的”?那里发生的是一系列可能的模型(网络中每个权重的所有可能值),拟合模型只是找到最佳可能值。神经网络以迭代方式这样做的事实并不意味着拟合是一个迭代过程,拟合是最终结果。

所以训练集和测试集只是为了做下面的事情,对吧?

嗯,对每个模型都是如此,是的。训练和测试集分离的唯一目的是根据所选指标评估模型。归根结底,您选择部署的最终模型,无论是懒惰的还是急切的,都将使用所有可用数据(或在某些情况下,它的一部分/转换),而不仅仅是训练集。