pq

浅析Faiss在推荐系统中的应用及原理

。_饼干妹妹 提交于 2020-05-06 14:28:39
之前在业务中应用了许多Faiss,也看了几篇关于Faiss的论文,简单记录下Faiss的一些属性和应用。Faiss是Facebook的AI团队开源的一套用于做聚类或者相似性搜索的软件库,底层是用C++实现。Faiss因为超级优越的性能,被广泛应用于推荐相关的业务当中。接下来分Faiss在推荐业务应用和Faiss的基本原理两部分进行介绍。 1 Faiss在推荐业务中的应用 在我的认知里,基本上50%以上的手机APP的推荐业务会应用到Faiss服务,可见应用之广。那Faiss究竟是在哪个模块使用呢,通过下方这个图给大家介绍: 大家都知道推荐业务包含排序和召回两个模块,Faiss比较多的应用在召回模块。召回业务中有很多是向量生成类的算法,比如Graph Embedding、ALS Embedding、FM Embedding等。ALS就是经典的矩阵分解算法,它可以将User和Item的行为数据利用矩阵分解的方式生成User向量和Item向量,这些向量分别代表User和Item的属性(工科研究生矩阵论课程学过矩阵分解,不懂的同学要补课了)。 当我们拿到了User和Item的向量,只要计算出哪些Item和User的向量距离较短(最简单的解法是算欧式距离),就可以得出User偏爱的Item。但是当User和Item的数量巨大的时候,设想下某短视频平台,每天有上百万User登录

STL——配接器、常用算法使用

老子叫甜甜 提交于 2020-05-06 03:07:51
学习STL,必然会用到它里面的适配器和一些常用的算法。它们都是STL中的重要组成部分。 适配器 在STL里可以用一些容器适配得到适配器。例如其中的stack和queue就是由双端队列 deque 容器适配而来。 其实适配器也是一种设计模式 ,该种模式是将一个类的接口转换成用户希望的另外一个接口。简单的说:就是需要的东西就在眼前,但却不能用或者使用不是很方便,而短时间又无法改造它,那我们就通过已存在的东西去适配它。 STL中的适配器一共有三种: ①应用于容器的即容器适配器;比如stack和queue就是对deque的接口进行了转调 ②应用于迭代器的即迭代器适配器;比如反向迭代器就是对迭代器的接口进行了转调 ③应用于仿函数的即函数适配器 不过我们平常用容器适配器用得比较多,所以我们着重容器适配器的使用,其它适配器可参考《STL源码剖析》。 (1)stack/queue 我们都知道stack和queue都是一种特殊的线性数据结构,要求在其固定端进行数据的插入和删除操 作。而在STL的容器当中, deque 是双开口的结构,因此STL就将它作为栈和队列的底层结构,然后对deque稍加改装后就实现出来了stack和queue。 像这种: 将某个类的接口进行重新包装而实现出的新结构,称之为适配器 如 stack原型定义 : 常用接口: queue原型定义类似: 注意: 由于栈和队列不能遍历

深度解析Graph Embedding

℡╲_俬逩灬. 提交于 2020-05-04 11:14:31
Graph Embedding是推荐系统、计算广告领域最近非常流行的做法,是从word2vec等一路发展而来的Embedding技术的最新延伸;并且已经有很多大厂将Graph Embedding应用于实践后取得了非常不错的线上效果。 word2vec和由其衍生出的item2vec是embedding技术的基础性方法,但二者都是建立在“序列”样本(比如句子、推荐列表)的基础上的。而在互联网场景下,数据对象之间更多呈现的是图结构。典型的场景是由用户行为数据生成的 物品全局关系图 ,以及加入更多属性的物品组成的 知识图谱 。 在面对图结构的时候,传统的序列embedding方法就显得力不从心了。在这样的背景下,对图结构中间的节点进行表达的graph embedding成为了新的研究方向,并逐渐在深度学习推荐系统领域流行起来。 DeepWalk 早期影响力较大的graph embedding方法是2014年提出的DeepWalk,它的主要思想是在由物品组成的图结构上进行随机游走,产生大量物品序列,然后将这些物品序列作为训练样本输入word2vec进行训练,最大化随机游走序列的似然概率,并使用最终随机梯度下降学习参数,得到物品的embedding。其目标函数为: $$ \zeta(s)=\frac{1}{|s|} \sum_{i=1}^{|s|} \sum_{i-t \leq j \leq

codeforces 1251E (贪心)

∥☆過路亽.° 提交于 2020-05-04 06:29:50
传送门 很巧妙的贪心. 我想用最少的钱让所有人都给我投票. 思路: 对于所有$m$值为$i$的人, 都必须满足已选人数$>i$才行. 如果$i+1$的人满足了, 那么$i$的人也会被满足, 那么我们可以从$n$到$0$来贪心. 我们可以先将所有$m$值为$i$的人放到一个"隔离区", 假设隔离区里的人都不被收买, 那么被收买的人的个数就是$n-size$, $n$是总人数, $size$就是"隔离区"里人的个数. 如果$n-size<i$, 就说明放入"隔离区"的人多了啊, 我们应该将其中的人"赎"出来, 为了付出最少的代价使得$n-size>=i$, 我们可以使用优先队列来作为这个"隔离区", 将$p$最小的人一个一个往外买就对了. ======================================== CF 的 E 题哪怕是个贪心也是真的难啊orz #include <iostream> #include <stdio.h> #include <stdlib.h> #include < string .h> #include <vector> #include <queue> #include <algorithm> #define MAXN 200010 using namespace std; typedef long long LL; int T,n;

[洛谷P1029]最大公约数与最小公倍数问题 题解(辗转相除法求GCD)

為{幸葍}努か 提交于 2020-05-04 04:29:53
##[洛谷P1029]最大公约数与最小公倍数问题 ###Description 输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数 条件:1.P,Q是正整数;2.要求P,Q以x0为最大公约数,以y0为最小公倍数. 试求:满足条件的所有可能的两个正整数的个数. 输入格式:二个正整数x0,y0 输出格式:一个数,表示求出满足条件的P,Q的个数 ###Solution 1.由最大公约数的定义我们得到:存在k1,k2∈R,使P=k1 x0,Q =k2 x0; 2.由LCM(a,b) GCD(a,b)=a b(LCM为两数小公倍数),可以得到:x0 y0=P Q,带入k1,k2得:y0=k1 k2 x0,即k1*k2=y0/x0; 3.在本题中我们不妨设P<Q,即k1<k2,那么从1到floor(sqrt(y0/x0))穷举k1即可,判断条件为k1,k2互质; 4.由于k1,k2交换后扔为一组解,所以ans*=2; 5.对于x0=y0的情况,我们经过思考发现解应只有一组,所以要加上特判; ###Code #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> using namespace std; int

阅读java.util.concurrent.PriorityBlockingQueue源码Note

前提是你 提交于 2020-05-03 23:34:25
java.util.concurrent.BlockingQueue 在Queue的基础增加额外的功能:遍历队列时,若无元素则阻塞等待;插入元素时,无额外的空间则等待空间释放。 其方法可分为四种形式:根据对相同操作(对操作不能立即满足)的不同处理结果来分为以下四种 抛出异常 返回特定值,不同的方法返回的值不同 阻塞,直到条件满足 阻塞一段时间,而后再放弃 Summary of BlockingQueue methods Throws exception Special value Blocks Times out Insert { @link #add add(e)} { @link #offer offer(e)} { @link #put put(e)} { @link #offer(Object, long, TimeUnit) offer(e, time, unit)} Remove { @link #remove remove()} {@link #poll poll()} {@link #take take()} {@link #poll(long, TimeUnit) poll(time, unit)} Examine {@link #element element()} {@link #peek peek()} not applicable not

恋落于笔端在信笺上汩汩

醉酒当歌 提交于 2020-05-03 18:30:20
sdfsdf 服务网格作为一个改善服务到服务通信的专用基础设施层,是云原生范畴中最热门的话题。随着容器愈加流行,服务拓扑也频繁变动,这就需要更好的网络性能。服务网格能够通过服务发现、路由、负载均衡、心跳检测和支持可观测性,帮助我们管理网络流量。服务网格试图为无规则的复杂的容器问题提供规范化的解决方案 将供应链搬出中国,似乎成了过去两三个月新冠肺炎疫情衍生出的热门话题。 年初新冠肺炎疫情爆发,让中国供应链的生产活动几乎完全停顿,影响席卷全球:苹果的新 5G 有可能因疫情而延期推出,特斯拉新款芯片无法及时交付、陷入“芯片门”纠纷。其余像三星、小米、索尼等著名跨国企业,均受到供应链停摆的影响。 因此,fnpihsg.answers.yahoo.com/question/index?qid=20200427221747AAwbXsM?EK6=55fuk=13v hk.answers.yahoo.com/question/index?qid=20200427221747AAwbXsM?RL1=64pjb=62z nz.answers.yahoo.com/question/index?qid=20200427221747AAwbXsM?XI3=80ork=11d answers.yahoo.com/question/index?qid=20200427221806AA1al7e?PL2

的传统和哲学足以获得世

Deadly 提交于 2020-05-03 18:08:45
sdfsdf 服务网格作为一个改善服务到服务通信的专用基础设施层,是云原生范畴中最热门的话题。随着容器愈加流行,服务拓扑也频繁变动,这就需要更好的网络性能。服务网格能够通过服务发现、路由、负载均衡、心跳检测和支持可观测性,帮助我们管理网络流量。服务网格试图为无规则的复杂的容器问题提供规范化的解决方案 将供应链搬出中国,似乎成了过去两三个月新冠肺炎疫情衍生出的热门话题。 年初新冠肺炎疫情爆发,让中国供应链的生产活动几乎完全停顿,影响席卷全球:苹果的新 5G 有可能因疫情而延期推出,特斯拉新款芯片无法及时交付、陷入“芯片门”纠纷。其余像三星、小米、索尼等著名跨国企业,均受到供应链停摆的影响。 因此,osdlosg.answers.yahoo.com/question/index?qid=20200427213026AA7F9Kz?KC6=34jmk=52p hk.answers.yahoo.com/question/index?qid=20200427213026AA7F9Kz?AN1=55gms=77l nz.answers.yahoo.com/question/index?qid=20200427213026AA7F9Kz?QQ1=23zyl=13z answers.yahoo.com/question/index?qid=20200427213039AAIwtZy?KC4

宙我想在这肉体的宇宙里

梦想与她 提交于 2020-05-03 17:21:30
sdfsdf 服务网格作为一个改善服务到服务通信的专用基础设施层,是云原生范畴中最热门的话题。随着容器愈加流行,服务拓扑也频繁变动,这就需要更好的网络性能。服务网格能够通过服务发现、路由、负载均衡、心跳检测和支持可观测性,帮助我们管理网络流量。服务网格试图为无规则的复杂的容器问题提供规范化的解决方案 将供应链搬出中国,似乎成了过去两三个月新冠肺炎疫情衍生出的热门话题。 年初新冠肺炎疫情爆发,让中国供应链的生产活动几乎完全停顿,影响席卷全球:苹果的新 5G 有可能因疫情而延期推出,特斯拉新款芯片无法及时交付、陷入“芯片门”纠纷。其余像三星、小米、索尼等著名跨国企业,均受到供应链停摆的影响。 因此,xwtbusg.answers.yahoo.com/question/index?qid=20200427201424AAjqQQj?DZ3=98qdg=60f hk.answers.yahoo.com/question/index?qid=20200427201424AAjqQQj?NC2=21pbp=22p nz.answers.yahoo.com/question/index?qid=20200427201424AAjqQQj?EF9=02ewr=68z answers.yahoo.com/question/index?qid=20200427201436AAamUYl?CY3

在那里孵化的所有智慧和

感情迁移 提交于 2020-05-03 17:20:07
sdfsdf 服务网格作为一个改善服务到服务通信的专用基础设施层,是云原生范畴中最热门的话题。随着容器愈加流行,服务拓扑也频繁变动,这就需要更好的网络性能。服务网格能够通过服务发现、路由、负载均衡、心跳检测和支持可观测性,帮助我们管理网络流量。服务网格试图为无规则的复杂的容器问题提供规范化的解决方案 将供应链搬出中国,似乎成了过去两三个月新冠肺炎疫情衍生出的热门话题。 年初新冠肺炎疫情爆发,让中国供应链的生产活动几乎完全停顿,影响席卷全球:苹果的新 5G 有可能因疫情而延期推出,特斯拉新款芯片无法及时交付、陷入“芯片门”纠纷。其余像三星、小米、索尼等著名跨国企业,均受到供应链停摆的影响。 因此,zgcttsg.answers.yahoo.com/question/index?qid=20200427202006AA3Zys7?LO4=53eoq=12u hk.answers.yahoo.com/question/index?qid=20200427202006AA3Zys7?GM5=39rtb=54o nz.answers.yahoo.com/question/index?qid=20200427202006AA3Zys7?EN3=79hyv=45y answers.yahoo.com/question/index?qid=20200427202018AAZvGEL?QS6