开发者学堂课程【高校精品课-华东师范大学-人工智能基础:KNN 算法】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/920/detail/15580
KNN 算法
内容介绍:
一、KNN 简介
二、KNN 三个核心要素
一、KNN 简介
这一讲我们将一起学习一个经典的机器学习算法K近邻算法,俗话说,物以类聚,人以群分。这就是 K近邻分类算法的思想。
分类是数据分析中非常重要的方法,是对已有数据进行学习。得到一个分类器,并构造出一个分类模型。即通常所说的分类器 Classifier。KNN 分类算法全称是 K-Nearest- Neighbors Classification 又叫 K 近邻算法,是一个概念及其简单而效果又很优秀的分类算法。
它提出的很早,1967年由Cover T 和 Hart P 提出。
核心思想是如果一个样本在特征空间中的 K 个最相似。指的是特征空间中最邻近的样本中的大多数属于某一个类别,这个样本也属于这个类别。例如这个图中
通过计算距离。与这只猫最近的 K 等于三,三个样本是左边,即根据已经获取的一些动物的特征,并且已经知道这些动物的类型,识别一只新动物,判断它是哪类动物。我们刚才做的首先是找到与这个物体最接近的K等于3,找到了两只猫和一条狗。由于找到的结果中大多数是猫,就把这个新动物划分为猫类。KNN 没有专门的学习过程。是基于数据实力的一种学习方法。
二、KNN 三个核心要素
(1)K 值
K 取值太小。好处是近似误差会减小只有特征与这个新动物很相似的才对预测新动物的类别起作用但同时预测结果对近邻的样本点非常敏感,仅有非常近的预测样本决定结果,使模型变得复杂,容易过拟合。
如果 K 值太大。学习的近似误差会增大,导致分类模糊,急切拟合。下面举例看 K 值对预测结果的影响
K 等于3。跟刚才一样,分类结果是猫:狗等于2 : 1。所以动物属于猫,当 K 等于5,表决结果是猫:狗:熊猫等于2 : 3 : 1。所以判断目标动物为狗结果发生了变化,那么K值到底怎么选取呢?涉及到距离的度量问题。
(2)距离的度量
距离决定了哪些是邻居,哪些不是。度量距离有很多方法,不同的距离所确定的近邻点不同。
平面上比较常用的是欧式距离,此外还有曼哈顿距离、余弦距离、球面距离等。
例如,下面有四个点为训练的样本点。
我们对于新的点 new(3,3)进行预测。其中 cat 1、cat2、dog1、dog2、dog3这五个点为训练数据,new是测试数据。根据二维平面上的欧式距离公式。是可以得到距离如图所示。
(3)分类决策规则
分类结果的确定往往采用多数表决。既由输入实例的 K 个最邻近的训练实例中的多数类是哪个类别决定输入实例的类别。