K-邻近算法概述

小白写文。谢谢。

K-邻近算法概述

邻近就字面显而易见是指两者或两个事物靠近,无论是属性或者特有的信息。这么想显然没有任何问题。在机器学习中K-邻近算法是第一个算法,是最初就会接触的一种算法模式,就像学习一门编程语言第一个的程序是 “Hello World!”一样,这是对初学者充满敬意的一个算法。

言归正传,为了理解举一个简单的例子:在电影的类型判断中,评论者会这么做。将已经类型清楚的电影和需要评判的电影做一个比较。比如选取电影中的两种镜头画面,1.打斗镜头;2.接吻镜头。然后得到一个数据表格:

K-邻近算法概述

其中红色框中就是需要判定的电影类型。及时这样还是看不出来,然后可以通过某种算法将其计算出来。首先计算未知电影与样本其他电影的距离,(暂时不管是怎么算出来的)得到下表:

K-邻近算法概述

这样就会得到距离值,比较靠近的显然就是相似类型的,即未知电影与California Man、He‘s Not Really into Dude、Beautiful Woman为一个类型。

通过以上就可以很轻松理解K-邻近算法的工作原理:存在一个样本数据集合(类比于例子中的已知电影类型的电影集合),也称作训练样本集,并且样本集中每个数据都存在标签(例子中的两个镜头),即我们知道样本集合中每一个数据与所属分类的对应关系。输入没有标签的数据(例子中未知类型的电影)后,将新数据的每一个特征与样本集中数据对应的特征进行比较,然后算法提取样本集合中特征最相似数据(最近邻)的分类标签。这就k-邻近算法的内在原理。看K-邻近算法的一般过程:

(1)收集数据:可以使用任何方法

(2)准备数据:距离计算所需要的数值,最好是结构化的数据格式

(3)分析数据:可以是任何方法

(4)训练算法:此步骤不适用与K-邻近算法

(5)测试算法:计算错误率

(6)使用算法:首先需要输入样本数据和结构化的输出结果,然后运行K-邻近算法判定输入数据分别属于哪一类,最后应用对计算出的分类执行后续处理

K-邻近算法概述


分享到:


相關文章: