标签:k近邻算法中常见的问题
第一个问题就是k值的选取问题?
怎么快速找到k个邻居,尤其是在特征空间维数大及训练数据容量大时尤其必要。
(1)k值的问题:当k值很小的时候,就相当于在较小的领域中训练实例进行预测,学习的近似误差会减小,只有与输入实例较近的训练实例才会对预测结果起作用(反过来想,离的越近,肯定越相似,离得越远,相似度就差很大)。但缺点是学习的估计误差会增大,预测结果会对近邻的实例点非常敏感,如果近邻的实例点恰巧是噪声,预测就会出错。(有噪声,就比较复杂),模型越复杂,越容易发生过拟合
如果选择较大,就相当于用较大领域中的训练实例进行预测。其优点是可以减少学习的估计误差
k越大,这时与输入实例较远的训练实例也会对 (可以降低噪声)就意味着整体模型变得简单
一般来说k值是通过交差验证法来获得的。一般取k值小于sqrt(n)
(2)如何快速的搜索K个邻居?
KD树是一种很好的办法
本文出自 “简答生活” 博客,谢绝转载!
标签:k近邻算法中常见的问题
原文地址:http://1464490021.blog.51cto.com/4467028/1974040