内容简介:海量数据的情况用KNN是不行的。现在项目上一般使用的是一整套的ANN直观的理解就是用超平面对空间做一个划分,画完后落在同一区域的一些点 他们得到的01串应该是一样的,而临近的点他们之间可能有一个维度的值不同。超平面的优化方式这么木有讲!!超平面的划分不一定合理,所以这个算法是牺牲一部分准确度来提高速度。
电商上的应用:找相似,找同款。CNPR,用卷积神经网络学习出来一个分桶的编号。预先把图像做一些分桶或者说把他先丢到空间不同的区域,然后检索时只是找其中某个区域的图片。找同款可以使用这种,不需要使用复杂的神经网络以未知点为圆心画圆,他所属的类别取决于圆内类别最多的点。你得先计算他们之间的相近度,每个图片抽取出来的feature和其他图片feature的相近度。假设Alexnet FC的结果是4096*1 double型向量,那么那他去比对 计算量会非常大,所以会将它映射到一个的数例如:128/64bit维的10101数字串。
海量数据的情况用KNN是不行的。现在项目上一般使用的是一整套的ANN
直观的理解就是用超平面对空间做一个划分,画完后落在同一区域的一些点 他们得到的01串应该是一样的,而临近的点他们之间可能有一个维度的值不同。
超平面的优化方式这么木有讲!!超平面的划分不一定合理,所以这个算法是牺牲一部分准确度来提高速度。
怎么样去权衡准确度和速度?增加超平面可以提高准确度,但是会造成在Nbit的范围内落下来的点非常的少。另一种方式是随机的使用另外一组超平面做划分(不同的hash)。
N值是通过经验和上下调整的方式得到的。
使用3个哈希得到各自相似的结果,将他们组合起来。具体和谁最相似,可以采用其他算法比如:距离算法求得。
聚类的方式分桶很慢!!
k-Means Tree:先聚类大范围,在聚类小范围。查找时也是先找落在那个大范围内,再往细的找。FLANN实际中使用效果会好。训练的时候使用的Alexnet 全连接层是4096维
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Swift编程权威指南(第2版)
[美] Matthew Mathias、[美] John Gallagher / 陈晓亮 / 人民邮电出版社 / 2017-6 / 89.00元
Big Nerd Ranch是美国一家专业的移动开发技术培训机构,本书是其培训教材。书中系统讲解了在iOS和macOS平台上,使用苹果的Swift语言开发iPhone、iPad和Mac应用的基本概念和编程技巧。主要围绕使用Swift语言进行iOS和macOS开发,结合大量代码示例,教会读者利用高级iOS和macOS特性开发真实的应用。一起来看看 《Swift编程权威指南(第2版)》 这本书的介绍吧!