机器学习之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
相关文章推荐
- 机器学习之K-近邻算法(Python描述)实战百维万组数据
- 【机器学习】k-近邻算法简介与应用
- K-近邻kNN算法简介
- 机器学习之K-近邻算法
- 机器学习之K-近邻算法代码实现
- k近邻聚类简介
- K-近邻算法简介
- 机器学习之k-近邻算法
- 机器学习之K-近邻算法
- K近邻(knn)算法简介及用python实现
- 机器学习之K近邻(KNN)模型
- 机器学习之K-近邻算法
- 机器学习之K-近邻算法
- k近邻(kNN)算法简介
- 机器学习之k-近邻(kNN)算法与Python实现
- 机器学习之K-近邻算法(Python描述)基础
- 机器学习之K-近邻算法
- kNN k 近邻 分类算法 简介
- 机器学习之K-近邻算法代码分析
- 正则表达式及其应用简介