1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > K近邻(KNN)算法是基于实例的算法 如果训练样本数量庞大 预测的时候挨个计算距离效

K近邻(KNN)算法是基于实例的算法 如果训练样本数量庞大 预测的时候挨个计算距离效

时间:2020-06-13 12:23:08

相关推荐

K近邻(KNN)算法是基于实例的算法 如果训练样本数量庞大 预测的时候挨个计算距离效

K近邻(KNN)算法是基于实例的算法,如果训练样本数量庞大,预测的时候挨个计算距离效率会很低下,如何破解?

K近邻(KNN)是最简单的算法之一,它计算预测样本与训练数据集中每个数据点之间的距离,并找到K个最近的样本数据。

当我们使用最近邻搜索算法时,它将所有的数据点与上述的查询点进行比较,找到最近的K个点。

有很多方法可以求出两个数据点之间的距离。最常用的距离度量是“欧氏距离”和“汉明距离”。

设想这样一种情况:你的任务有数千万个训练样本,每次算法都会将预测数据与所有训练数据进行比对。它不是计算量很大吗?

此外,数据点越大,所需的计算量也就越大。很明显!

KNN搜索计算每个距离的时间复杂度为O(N)。对于有K个邻居搜索的KNN,只有当我们保持一个优先队列返回最近的K个观测值时,时间复杂度才为O(log(K)*N)。因此,对于大数据或者互联网场景下的数据集,KNN似乎对计算得要求要求很高。那么,有没有其他方法可以替代KNN模型的最近距离计算的算法,它使用类似的方法,但也可以是有效的时间?

令人开心的是,KD树和Ball树就是用来解决这个问题的。

K近邻(KNN)算法是基于实例的算法 如果训练样本数量庞大 预测的时候挨个计算距离效率会很低下 如何破解?

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。