K-近邻算法简介
2017-05-10 20:06
204 查看
1.K-近邻算法原理
K-近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论很成熟的机器学习算法之一。该算方法的工作原理:有一个样本的数据集,在机器学习中统称为训练样本集。在训练集中每个数据都有其标签,我们通过标签可以知道每个数据的所属分类。当我们输入一个没有标签的新数据后,如果这个数据在特征空间中的k个最相似(即特征空间中最邻近)的数据中的大多数属于某一个类别,则该样本也属于这个类别(即可以理解为离哪些K个样本最近,则类别和这K个样本一样)。
2.实例讲解K-近邻算法
如右图所示,有两类不同的样本数据,分别用蓝色的小正方形和红色的小三角形表示,而图正中间的那个绿色的圆所标示的数据则是待分类的数据。也就是说,现在, 我们不知道中间那个绿色的数据是从属于哪一类(蓝色小正方形or红色小三角形),下面,我们就要解决这个问题:给这个绿色的圆分类。我们常说,物以类聚,人以群分,判别一个人是一个什么样品质特征的人,常常可以从他/她身边的朋友入手,所谓观其友,而识其人。我们不是要判别上图中那个绿色的圆是属于哪一类数据么,好说,从它的邻居下手。但一次性看多少个邻居呢?从上图中,你还能看到:
1.如果K=3,绿色圆点的最近的3个邻居是2个红色小三角形和1个蓝色小正方形,少数从属于多数,基于统计的方法,判定绿色的这个待分类点属于红色的三角形一类。
2.如果K=5,绿色圆点的最近的5个邻居是2个红色三角形和3个蓝色的正方形,还是少数从属于多数,基于统计的方法,判定绿色的这个待分类点属于蓝色的正方形一类。
3.K-近邻算法的优缺点
优点:精度高,对异常数据不敏感(你的类别是由邻居中的大多数决定的,一个异常邻居并不能影响太大),无数据输入假定;
缺点:计算发杂度高(需要计算新的数据点与样本集中每个数据的“距离”,以判断是否是前k个邻居),空间复杂度高(巨大的矩阵);样本的不均衡可能造成结果错误:如果一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。
K-近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论很成熟的机器学习算法之一。该算方法的工作原理:有一个样本的数据集,在机器学习中统称为训练样本集。在训练集中每个数据都有其标签,我们通过标签可以知道每个数据的所属分类。当我们输入一个没有标签的新数据后,如果这个数据在特征空间中的k个最相似(即特征空间中最邻近)的数据中的大多数属于某一个类别,则该样本也属于这个类别(即可以理解为离哪些K个样本最近,则类别和这K个样本一样)。
2.实例讲解K-近邻算法
如右图所示,有两类不同的样本数据,分别用蓝色的小正方形和红色的小三角形表示,而图正中间的那个绿色的圆所标示的数据则是待分类的数据。也就是说,现在, 我们不知道中间那个绿色的数据是从属于哪一类(蓝色小正方形or红色小三角形),下面,我们就要解决这个问题:给这个绿色的圆分类。我们常说,物以类聚,人以群分,判别一个人是一个什么样品质特征的人,常常可以从他/她身边的朋友入手,所谓观其友,而识其人。我们不是要判别上图中那个绿色的圆是属于哪一类数据么,好说,从它的邻居下手。但一次性看多少个邻居呢?从上图中,你还能看到:
1.如果K=3,绿色圆点的最近的3个邻居是2个红色小三角形和1个蓝色小正方形,少数从属于多数,基于统计的方法,判定绿色的这个待分类点属于红色的三角形一类。
2.如果K=5,绿色圆点的最近的5个邻居是2个红色三角形和3个蓝色的正方形,还是少数从属于多数,基于统计的方法,判定绿色的这个待分类点属于蓝色的正方形一类。
3.K-近邻算法的优缺点
优点:精度高,对异常数据不敏感(你的类别是由邻居中的大多数决定的,一个异常邻居并不能影响太大),无数据输入假定;
缺点:计算发杂度高(需要计算新的数据点与样本集中每个数据的“距离”,以判断是否是前k个邻居),空间复杂度高(巨大的矩阵);样本的不均衡可能造成结果错误:如果一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。
相关文章推荐
- 【机器学习】k-近邻算法简介与应用
- kNN k 近邻 分类算法 简介
- K-近邻kNN算法简介
- k近邻(kNN)算法简介
- K近邻(knn)算法简介及用python实现
- Pid控制算法-模糊算法简介
- 机器学习实战之K-近邻算法
- 机器学习 K-近邻算法(一)
- K-近邻算法 机器学习实战(阅读笔记)
- 并查集算法的简介与算法实现
- 《机器学习实战》第二章:k-近邻算法(2)约会对象分类
- 【百度分享】dictmatch及多模算法串讲 -- 简介
- 机器学习实战+第二章_k-近邻算法
- 机器学习之K-近邻算法代码实现
- Hilbert曲线简介及生成算法
- 机器学习—— k-近邻算法
- ASM(active shape model)算法简介(一)
- k-近邻算法
- 笔试算法题(44):简介 - 动态规划(Dynamic Programming)
- opencv中使用K-近邻分类算法KNN