当前位置:   article > 正文

Elasticsearch:什么是 kNN?_elasticsearch knn 相关度

elasticsearch knn 相关度

kNN - K-nearest neighbor 定义

kNN(即 k 最近邻算法)是一种机器学习算法,它使用邻近度将一个数据点与其训练并记忆的一组数据进行比较以进行预测。 这种基于实例的学习为 kNN 提供了 “惰性学习(lazy learning)” 名称,并使算法能够执行分类或回归问题。 kNN 的假设是相似的点可以在彼此附近找到 —— 物以类聚。

作为一种分类算法,kNN 将新数据点分配给其邻居中的多数集。 作为一种回归算法,kNN 根据最接近查询点的值的平均值进行预测。

kNN 是一种监督学习算法,其中 “k” 代表分类或回归问题中考虑的最近邻的数量,“NN”代表为 k 选择的数量的最近邻。

kNN 算法简史

kNN 最初由 Evelyn Fix 和 Joseph Hodges 于 1951 年在为美国军方进行的研究中开发。 他们发表了一篇解释判别分析的论文,这是一种非参数分类方法。 1967 年,Thomas Cover 和 Peter Hart 对非参数分类方法进行了扩展,并发表了他们的 “最近邻模式分类” 论文。 大约 20 年后,詹姆斯·凯勒 (James Keller) 对该算法进行了改进,他开发了一种 “模糊 KNN”,可以产生较低的错误率。

如今,kNN 算法是使用最广泛的算法,因为它适用于从遗传学到金融和客户服务的大多数领域。

kNN 是如何工作的?

kNN 算法作为一种监督学习算法,这意味着它会被输入它记忆的训练数据集。 它依赖于这个标记的输入数据来学习一个函数,该函数在给定新的未标记数据时产生适当的输出。

这使得算法能够解决分类或回归问题。 虽然 kNN 的计算发生在查询期间而不是训练阶段,但它具有重要的数据存储要求,因此严重依赖内存。

对于分类问题,KNN 算法将根据多数分配类标签,这意味着它将使用给定数据点周围最常出现的标签。 换句话说,分类问题的输出是最近邻的众数。

区别:多数投票与相对多数投票

多数投票(majority voting)表示超过 50% 的票数为多数。 如果考虑两个类标签,则这适用。 但是,如果考虑多个类别标签,则适用相对多数投票(plurality voting)。 在这些情况下,超过 33.3% 的任何值都足以表示多数,从而提供预测。 因此,相对多数投票(plurality voting)是定义 kNN 模式的更准确术语。

如果我们要说明这种区别:

二元预测

Y: 
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/368069
推荐阅读
相关标签