机器学习100天(二十六):026 k近邻分类算法-理论

Posted 红色石头Will

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习100天(二十六):026 k近邻分类算法-理论相关的知识,希望对你有一定的参考价值。

机器学习100天,今天讲的是:K 近邻分类算法-理论。

《机器学习100天》完整目录:目录

一、什么是 K 近邻算法

K 近邻算法也叫 KNN(k-Nearest Neighbor)算法,它是一个比较成熟也是最简单的机器学习算法之一。K 近邻分类算法的思路是:如果一个样本在特征空间中与 K 个实例最为相似(即特征空间中最邻近),那么这 K 个实例中大多数属于哪个类别,则该样本也属于这个类别。

如上面这张图所示,二维平面上有两个类别:红色三角形表示类别 0,蓝色正方形表示类别 1,现在有一个绿色圆形样本,判断它属于哪一类?如果选择 k=3 的话,则在距离绿色样本最近的 3 个实例中(这个黑色圆圈所在的范围),有两个是红色三角形,一个是蓝色正方形。则算法判断该样本属于红色三角形,即类别 0。

KNN 算法在训练过程中,将所有训练样本的输入和输出标签(label)都存储起来。测试过程中,计算测试样本与每个训练样本的距离,选取与测试样本距离最近的前 k 个训练样本。然后对着 k 个训练样本的 label 进行投票,票数最多的那一类别即为测试样本的类别。KNN 算法实际上是一种识记类算法,但它也包含了以下几个缺点:

  • 训练过程需要将所有的训练样本极其输出标签存储起来,因此,空间成本很大。

以上是关于机器学习100天(二十六):026 k近邻分类算法-理论的主要内容,如果未能解决你的问题,请参考以下文章

机器学习100天(二十六):026 k近邻分类算法-理论

机器学习100天(二十八):028 K近邻分类算法-Python实现

机器学习100天(二十八):028 K近邻分类算法-Python实现

机器学习100天(二十八):028 K近邻分类算法-Python实现

机器学习100天(三十):030 K近邻分类算法-K值的选择

机器学习100天(三十):030 K近邻分类算法-K值的选择