内容简介:海量数据的情况用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维
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Spark大数据分析技术与实战
董轶群、曹正凤、赵仁乾、王安 / 电子工业出版社 / 2017-7 / 59.00
Spark作为下一代大数据处理引擎,经过短短几年的飞跃式发展,正在以燎原之势席卷业界,现已成为大数据产业中的一股中坚力量。 《Spark大数据分析技术与实战》着重讲解了Spark内核、Spark GraphX、Spark SQL、Spark Streaming和Spark MLlib的核心概念与理论框架,并提供了相应的示例与解析。 《Spark大数据分析技术与实战》共分为8章,其中前4......一起来看看 《Spark大数据分析技术与实战》 这本书的介绍吧!