详解机器学习中的K近邻算法(中)

详解机器学习中的K近邻算法(中)
在上一篇文章中,我们给大家介绍了k近邻算法的作用以及k近邻算法的核心思想,只能说理解了这些内容算是做到了入门K近邻算法。在这篇文章中我们给大家详细地介绍K近邻算法中更多详细的内容,旨在帮助大家更好地理解机器学习以及人工智能,下面我们马上进入正题。

首先我们说一下K近邻算法的三个要素,第一就是超参数k,第二就是距离的定义,这距离的定义就是欧氏距离,第三就是决策的规则,比如投票表决,或者加权投票。这三个内容缺一不可。

那么K近邻算法的执行的步骤是什么呢?这种算法的执行步骤是比较简答的,总共就有两个步骤,第一步骤就是选择k和距离的度量,第二个步骤就是计算待标记的数据样本和数据集中每个样本的距离,取距离最近的k个样本。待标记的数据样本所属的类别,就由这k个距离最近的样本投票产生。从中我们可以发现,k 近邻算法的训练过程,即是利用训练数据集,对特征向量空间进行划分。当然,k近邻算法是一个懒惰学习的算法,没有显式的学习过程,即没有它没有训练的步骤,是一个基于记忆的学习算法。而“多数表决”规则等价于“经验风险最小化”。而k近邻算法的优化实现是依靠kd 树,即是给训练数据建立树结构一样的索引,期望快速找到 k个邻居,以防止线性扫描。

那么K近邻算法的应用领域都有哪些呢?K近邻算法的应用领域有很多,比如文本分类、模式识别、聚类分析,多分类领域等等,当然我们需要注意的是,使用距离作为度量时,要保证所有特征在数值上是一个数量级上,以免距离的计算被数量级大的特征所主导。在数据标准化这件事上,还要注意一点,训练数据集和测试数据集一定要使用同一标准的标准化。并且测试数据集在标准化的时候,一定也要使用“训练数据集的平均值”和“训练数据集的标准差”,而不能使用测试数据集的。

在这篇文章中我们给大家介绍了关于K近邻算法中比较琐碎的知识,这些知识同样也是十分重要的,希望这篇文章能够帮助到大家更好的了解K近邻算法,我们在下一篇文章中继续为大家介绍K近邻算法的知识。