您的位置:首页 > 其它

机器学习之K近邻简介

2017-04-26 12:48 120 查看

描述

KNN是常见的监督学习算法,输入是实例的特征向量,输出是实例对应的类别。

给定测试样本,基于某种距离计算方法,计算出与其距离最近的K个训练样本,根据多数表决方法判定属于哪个类别。

典型的懒惰学习算法,不具有显示的学习过程。在接受数据时,不做处理,当真正计算的时候才按照算法流程走。

三大要素:

K值的选择

较小的K,会导致过拟合

较大的K,会导致欠拟合

距离的度量。

不同的距离度量算法所确定的点的距离是不同的。

Lp距离

Min距离

分类决策规则

算法构造

根据已知的实例作为参考

选择K(一般选择奇数,并且需要多次试验来确定)

计算所有样本与输入样本之间的关系(计算方法有许多种)

将距离排序,并选择最仅的K个实例

在K个样本中,根据多数表决(加权平均)原则把输入实例归结为该类

kd树的构造。

由于KNN可能的数据量比较大,导致时间复杂度非常大,为了提升效率,引出了kd树数据结构(kd Tree)。

平衡kd树未必是效率最高的。

评价

精度高,异常值不敏感

计算复杂度高。当某类数据占据较多的时候,容易把实例归纳为该类,产生误差

适用于标称型和数值型

优化

加权KNN

不是对元素简单的求平均,而是求他的加权平均

每一项的值*他的权重。

进阶

降维

距离计算的各种算法(欧氏距离,曼哈顿距离等)

KDTree

ballTree
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: