机器学习之K近邻简介

Posted 未央夜色

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习之K近邻简介相关的知识,希望对你有一定的参考价值。

描述

KNN是常见的监督学习算法,输入是实例的特征向量,输出是实例对应的类别。
给定测试样本,基于某种距离计算方法,计算出与其距离最近的K个训练样本,根据多数表决方法判定属于哪个类别。

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

  • K值的选择
    • 较小的K,会导致过拟合
    • 较大的K,会导致欠拟合
  • 距离的度量。
    不同的距离度量算法所确定的点的距离是不同的。
    • Lp距离
    • Min距离
  • 分类决策规则

算法构造

  • 根据已知的实例作为参考
  • 选择K(一般选择奇数,并且需要多次试验来确定)
  • 计算所有样本与输入样本之间的关系(计算方法有许多种)
  • 将距离排序,并选择最仅的K个实例
  • 在K个样本中,根据多数表决(加权平均)原则把输入实例归结为该类

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

评价

  • 精度高,异常值不敏感
  • 计算复杂度高。当某类数据占据较多的时候,容易把实例归纳为该类,产生误差
  • 适用于标称型和数值型

优化

加权KNN
不是对元素简单的求平均,而是求他的加权平均
每一项的值*他的权重。

进阶

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

以上是关于机器学习之K近邻简介的主要内容,如果未能解决你的问题,请参考以下文章

机器学习之K-近邻算法

机器学习之监督学习-分类模型K近邻(KNN)算法实现

机器学习之KNN算法

机器学习之K近邻算法

机器学习之K近邻算法

机器学习之KNN(k近邻)算法