Knn算法三个要素包括什么?
一 三大要素
KNN算法三大要素:K值的选择,距离向量,以及分类规则。
KNN属于懒惰学习算法,不需要训练过程。既可以分类,也可以进行回归分析。
(1)K值的选择会对算法的结果产生重大影响。K值较小意味着只有与输入实例较近的训练实例才会对预测结果起作用,但容易发生过拟合;如果 K 值较大,优点是可以减少学习的估计误差,但缺点是学习的近似误差增大,这时与输入实例较远的训练实例也会对预测起作用,是预测发生错误。在实际应用中,K 值一般选择一个较小的数值,通常采用交叉验证的方法来选择最有的 K值。随着训练实例数目趋向于无穷和 K=1 时,误差率不会超过贝叶斯误差率的2倍,如果K也趋向于无穷,则误差率趋向于贝叶斯误差率。
(2)该算法中的分类决策规则往往是多数表决,即由输入实例的 K 个最临近的训练实例中的多数类决定输入实例的类别,对应于经验风险最小化。
(3)距离度量一般采用 Lp 距离,当p=2时,即为欧氏距离,在度量之前,应该将每个属性的值规范化,这样有助于防止具有较大初始值域的属性比具有较小初始值域的属性的权重过大。
二 优化方法
实现K近邻,主要考虑的问题是如何对训练数据进行快速K近邻搜索。这点在特征空间维数大以及训练数据量大的时候,尤其重要。一种解决方式就是KD树。
KD树是一种对K维空间中的实例点进行存储以便对其进行快速检索的树形数据结构,KD树是一颗二叉树,表示对K维空间的一个划分。时间复杂度为O(logn)。
KNN是基于准确率的,不需要训练过程。
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有