奎克的藏经阁 · 原书印刷页

人工智能与大数据技术导论 · 第 175 页

PDF 物理页索引 191 · 第6章

书名
人工智能与大数据技术导论
作者
未记录
印刷页
175
PDF 物理页
191(从 0 开始)
章节
第6章
UUID
cd4f7678-cd9b-4971-bde0-e9ad46a6cc71
来源类型
original_book
页面 SHA-256
efef8831790ec27daeb9c14e64ed2cf755385d9ba13d943fce263da564826fd3

6.4 KNN 算法

本节我们来看KNN算法。KNN算法通常用来做分类问题。这个算法的思想是用临近样本的标签值来估计待分类样本的标签值。具体来说,就是选取离待分类样本距离最近的k个样本点,如果这k个样本点大多数属于某一类别,那么该样本属于这个类别。

如图6-19所示,在平面中有两种标签的点—红色三角和蓝色方框。绿色圆圈标记(上面有问号标记)的点为待分类的点。首先我们需要预设k的值。k是我们想考察周围点的个数,假设k=3。离绿色圆圈最近的三个点有两个为红色三角,一个是蓝色方框。根据少数服从多数原则,将待分类的点标记为红色三角。

事实上,这样一来我们就完成了分类任务。是不是很简单?相比前几个小节介绍的分类算法,KNN算法执行起来非常简单,易于理解。而且值得注意的是,KNN算法中没有参数需要估计,这和我们之前介绍的算法有根本的不同,没有参数也就无须进行训练。KNN算法的全部过程都在预测阶段。KNN算法依然属于监督式学习,需要我们告知样本集数据的标签,但不要通过训练进行学习,这表示它在机器学习算法中有一定的特殊性。

6.4.1 超参数k

KNN算法虽然没有参数,但是存在超参数,那就是k。需要注意的是,当我们改变k的值时,目标值可能会发生改变。回到上面的例子,如果我们选择k=5(图中虚线圆圈),那么图5-18中这个待分类的点将被划分为蓝色,这是因为它周围最近的5个点红蓝比例为2:3。可见,KNN的分类结果非常依赖预设值k。k是KNN算法中唯一的超参数。如何选取k的值,是KNN算法中的一门学问。

另外要提到的是,关于“距离”的概念。距离最近要怎么定义?在上面这个例子中,我们使用的是平面中两点的几何距离。这个几何距离通常被称为“欧几里得距离(EuclideanDistance)”,这个概念可以被推广到高维空间中。所谓“欧几里得距离”,就是将两个点各个分量相减的平方和开根号,即:

第6章 机器学习算法

175