知识卡片

KNN的k值决定过拟合与欠拟合的走向

普通读书笔记卡 · 1070.f

内容

[[KNN是懒惰学习只能做局部解释]]的效果高度依赖k的取值:k太小时模型只参考极少数近邻,训练误差小但容易被噪声带偏、鲁棒性差(过拟合);k太大时参考的近邻范围过宽、丢失局部细节,导致欠拟合。没有一个固定公式能算出最优k,通常做法是从较小的值出发,结合交叉验证按业务更看重的指标(精确率还是召回率)挑一个折衷值。

参考来源

- 位置:《数据科学工程实践》第11章《机器学习模型可解释性》"11.2.3 KNN"一节(源文件:_epub-src/OEBPS/Text/part0062.xhtml) - 结论依据:原文明确"若k值过小,模型训练的误差虽然会小,但模型的鲁棒性会较弱,容易导致过拟合;反之,若k值过大,泛化误差减小,会导致模型欠拟合……没有一个固定的方法,一般是根据样本的分布,选择一个较小的值,再通过交叉验证选择一个合适的k值",并举例"若用户希望获得一个精准率高的模型,建议k取值15;如果更倾向于得到一个召回率更高的模型,则建议k取值45"。 - 原始内容:对于k值的选择,没有一个固定的方法,一般是根据样本的分布,选择一个较小的值,再通过交叉验证选择一个合适的k值。若k值过小,模型训练的误差虽然会小,但模型的鲁棒性会较弱,容易导致过拟合;反之,若k值过大,泛化误差减小,会导致模型欠拟合……若用户希望获得一个精准率高的模型,建议k取值15;如果更倾向于得到一个召回率更高的模型,则建议k取值45。