机器学习-01-K-临近算法学习

逻辑寻云使
• 阅读 3342

K Nearest Neighbor算法又叫KNN算法,这个算法是机器学习里面一个比较经典的算法, 总体来说KNN算法是相对比较容易理解的算法。其中的K表示最接近自己的K个数据样本。KNN算法和K-Means算法不同的是,K-Means算法用来聚类,用来判断哪些东西是一个比较相近的类型,而KNN算法是用来做归类的,也就是说,有一个样本空间里的样本分成很几个类型,然后,给定一个待分类的数据,通过计算接近自己最近的K个样本来判断这个待分类数据属于哪个分类。你可以简单的理解为由那离自己最近的K个点来投票决定待分类数据归为哪一类。

Wikipedia上的KNN词条中有一个比较经典的图如下:

机器学习-01-K-临近算法学习

从上图中我们可以看到,图中的有两个类型的样本数据,一类是蓝色的正方形,另一类是红色的三角形。而那个绿色的圆形是我们待分类的数据。

如果K=3,那么离绿色点最近的有2个红色三角形和1个蓝色的正方形,这3个点投票,于是绿色的这个待分类点属于红色的三角形。
如果K=5,那么离绿色点最近的有2个红色三角形和3个蓝色的正方形,这5个点投票,于是绿色的这个待分类点属于蓝色的正方形。
我们可以看到,机器学习的本质——是基于一种数据统计的方法!

相关算法链接:
理解矩阵乘法

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Spark机器学习算法
Spark是一个大规模的数据处理引擎,集成了SQL查询分析,该引擎是用Scala写的,所以一些高级的实现了的算法都是用它进行描述。已知支持的第三方语言有:C【https://github.com/Microsoft/Mobius,Java,Scala,Python,R【http://spark.apache.org】一般性理解:Spark
Wesley13 Wesley13
3年前
AI金融知识自学偏量化方向
前提:统计学习(统计分析)和机器学习之间的区别金融公司采用机器学习技术及招募相关人才要求第一个问题:  机器学习和统计学都是数据科学的一部分。机器学习中的学习一词表示算法依赖于一些数据(被用作训练集),来调整模型或算法的参数。这包含了许多的技术,比如回归、朴素贝叶斯或监督聚类。但不是所有的技术都适合机器学习。例如有一种统计和数
Wesley13 Wesley13
3年前
KNN分类算法原理分析及代码实现
1、分类与聚类的概念与区别分类:是从一组已知的训练样本中发现分类模型,并且使用这个分类模型来预测待分类样本。目前常用的分类算法主要有:朴素贝叶斯分类算法(NaïveBayes)、支持向量机分类算法(SupportVectorMachines)、KNN最近邻算法(kNearestNeighbors)、神经网络算法(NNet)以及决策树(De
Wesley13 Wesley13
3年前
KNN 算法
KNN算法的全称是KNearestNeighbor,中文为K近邻算法,它是基于距离的一种算法,简单有效。KNN算法即可用于分类问题,也可用于回归问题。1,准备电影数据假如我们统计了一些电影数据,包括电影名称,打斗次数,接吻次数,电影类型,如下:电影名称打斗次数接吻次数
Wesley13 Wesley13
3年前
KNN算法详解
  简单的说,K近邻算法是采用不同特征值之间的距离方法进行分类。  该方法优点:精确值高、对异常值不敏感、无数据输入假定  缺点:计算复杂度高、空间复杂度高  适用范围:数据型和标称型  现在我们来讲KNN算法的工作原理:存在一个样本数据集,也称作训练样本集,并且样本中每条数据都存在标签。将新输入的没有标签的数据与训练样本数据集中
迁移学习核心技术的开发与应用
一、机器学习简介与经典机器学习算法介绍1.什么是机器学习?2.机器学习框架与基本组成3.机器学习的训练步骤4.机器学习问题的分类5.经典机器学习算法介绍章节目标:机器学习是人工智能的重要技术之一,详细了解机器学习的原理、机制和方法,为学习深度学习与迁移学习打下坚实的基础。二、深度学习简介与经典网络结构介绍1.神经网络简介2.神经网络组件简介3.神经网
人工智能人才培养
No.1第一天一、机器学习简介与经典机器学习算法介绍什么是机器学习?机器学习框架与基本组成机器学习的训练步骤机器学习问题的分类经典机器学习算法介绍章节目标:机器学习是人工智能的重要技术之一,详细了解机器学习的原理、机制和方法,为学习深度学习与迁移学习打下坚实的基础。二、深度学习简介与经典网络结构介绍神经网络简介神经网络组件简介神经网络训练方法卷积神经网络介
17个机器学习的常用算法!
根据数据类型的不同,对一个问题的建模有不同的方式。在机器学习或者人工智能领域,人们首先会考虑算法的学习方式。在机器学习领域,有几种主要的学习方式。将算法按照学习方式分类是一个不错的想法,这样可以让人们在建模和算法选择的时候考虑能根据输入数据来选择最合适的算法来获得最好的结果。1.监督式学习:2.非监督式学习:在非监督式学习中,数据并不被特别标识,学习模