码迷,mamicode.com
首页 > 编程语言 > 详细

机器学习-KNN近邻算法

时间:2019-08-17 14:28:29      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:方法   分类器   任务   inf   传统   机器学习实战   时间   算法介绍   peter   

参看文章:

《机器学习-周志华》

《机器学习实战-Peter Harrington》

《统计学习方法-李航》

算法介绍:

k近邻学习是一种常用的监督学习方法,其工作机制如下,给定测试样本,基于某种距离度量(曼哈顿距离、欧氏距离、切比雪夫距离、Lp距离、Minkowski距离)找出训练集中与其最靠近的k个训练样本,然后基于这k个“邻居”的信息来进行预测。

技术图片

argmax(f(x))是使得 f(x)取得最大值所对应的变量点x

投票法:

分类任务中使用,选择k个样本出现最多的类别标记作为预测结果

平均法:

回归任务中使用,即将k个样本的实值输出标记的平均值作为预测结果

距离权重法:

称为k近邻算法的优化算法,为每个点的距离增加一个权重,使得距离近的点可以得到更大的权重,既可用于加权平均又可用于加权投票。

优点:

1.理论成熟,思想简单,既可以用来做分类又可以做回归

2.训练时间复杂度为O(n);无数据输入假定;

3.可用于数值型数据和离散型数据;

4.对异常值不敏感

缺点:

1.计算复杂度高,因无显示的训练过程

2.对k值、距离敏感,不同k值与距离计算方法可能结果不同

技术图片

3.无法给出任何数据的基础结构信息

最近邻分类器(k = 1)

错误率(暂未看懂)

实现方法:

1. kd树

2. 传统法

代码:

机器学习-KNN近邻算法

标签:方法   分类器   任务   inf   传统   机器学习实战   时间   算法介绍   peter   

原文地址:https://www.cnblogs.com/Jacon-hunt/p/11366830.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!