TypechoJoeTheme

IT技术分享

统计
ML

K 近邻算法 (KNN) 详细介绍——机器学习经典分类算法

2018-01-10
/
0 评论
/
855 阅读
/
正在检测是否收录...
01/10

Cover 和 Hart 在 1968 年提出了最初的邻近算法
是一种基于实例的学习 (instance-based learning), 懒惰学习 (lazy learning)

算法描述

为了判断未知实例的类别,

  • 以所有已知类别的实例作为参照,选择参数 K
  • 计算未知实例与所有已知实例的距离 d
  • 选择最近 K 个已知实例
  • 根据少数服从多数的投票法则 (majority-voting),让未知实例归类为 K 个最邻近样本中最多数的类别

距离度量

  • Euclidean Distance
  • 余弦值(cos)
  • 相关度 (correlation)
  • 曼哈顿距离 (Manhattan distance)

算法优缺点

算法优点

  • 简单
  • 易于理解
  • 容易实现
  • 通过对 K 的选择可具备丢噪音数据的健壮性

算法缺点

  • 需要大量空间储存所有已知实例
  • 算法复杂度高(需要比较所有已知实例与要分类的实例)
  • 当其样本分布不平衡时,比如其中一类样本过大(实例数量过多)占主导的时候,新的未知实例容易被归类为这个主导样本,因为这类样本实例的数量过大,但这个新的未知实例实际并木接近目标样本

算法改进

  • 考虑距离,根据距离加上权重。比如: 1/d (d: 距离)

未完待续

朗读
赞 · 0
版权属于:

IT技术分享

本文链接:

https://idunso.com/archives/2856/(转载时请注明本文出处及文章链接)