machine-learning - 为什么训练误差随 KNN 中的 K 值变化?
问题描述
为什么在 KNN 算法中训练误差随着 K 值的增加而增加?
对于 k=1,训练误差为零,因为如果我们取一个点并确定第一个最近邻,它将是训练数据集中的同一点,因此误差为零。对于 k=2, 3....,同样的概念应该是正确的。那么训练误差怎么会随着 K 值的增加而增加呢?
解决方案
当k=1时,算法会选择一个最接近测试样本的训练样本,因为训练样本中有测试样本,它会自己选择,误差为零,也是过拟合的模型。而当 k = 2,k=3 或更大时,它将寻找可以属于不同组的许多邻居,因此错误率增加。
推荐阅读
- python - 我对 Python 全局有疑问
- c++ - 设置对象相对于其他对象的位置
- android - 适用于 Android 的互动媒体广告 SDK 中的自定义参数
- c# - 使用 Azure 消息中心的 Xamarin 表单推送通知在发布模式下不工作
- python-3.x - 如何解码 Adobe Capture 生成的 PDF?
- django - 为什么 ExtractIsoYear 注释不能正确过滤?
- azerothcore - 如何解决我探索世界时随机发生的崩溃问题?
- dns - 为不熟悉的注册商添加 dns 记录
- java - 删除java中圆括号中的字符串中的所有单词?
- android - 640x360(360p) 相机分辨率