8月7日晚八点分享-推荐系统面试/概览
目前,主要的推荐方法包括:
1.基于内容推荐、
2.协同过滤推荐(CF)、
3.基于关联规则推荐、
4.基于效用推荐、
5.基于知识推荐和
6.组合(混合)推荐。
一、基于内容推荐
基于内容的推荐(Content-based Recommendation)是信息过滤技术的延续与发展,它是建立在项目的内容信息上作出推荐的,而不需要依据用户对项目的评价意见,更多地需要用机器学习的方法从关于内容的特征描述的事例中得到用户的兴趣资料。在基于内容的推荐系统中,项目或对象是通过相关的特征的属性来定义,系统基于用户评价对象的特征,学习用户的兴趣,考察用户资料与待预测项目的相匹配程度。用户的资料模型取决于所用学习方法,常用的有决策树、神经网络和基于向量的表示方法等。基于内容的用户资料是需要有用户的历史数据,用户资料模型可能随着用户的偏好改变而发生变化。
基于内容推荐方法的优点是:
1)不需要其它用户的数据,没有冷开始问题和稀疏问题。
2)能为具有特殊兴趣爱好的用户进行推荐。
3)能推荐新的或不是很流行的项目,没有新项目问题。
4)通过列出推荐项目的内容特征,可以解释为什么推荐那些项目。
5)已有比较好的技术,如关于分类学习方面的技术已相当成熟。
缺点是要求内容能容易抽取成有意义的特征,要求特征内容有良好的结构性,并且用户的口味必须能够用内容特征形式来表达,不能显式地得到其它用户的判断情况。
二、协同过滤推荐
协同过滤推荐(Collaborative Filtering Recommendation)技术是推荐系统中应用最早和最为成功的技术之一。它一般采用最近邻技术,利用用户的历史喜好信息计算用户之间的距离,然后利用目标用户的最近邻居用户对商品评价的加权评价值来预测目标用户对特定商品的喜好程度,系统从而根据这一喜好程度来对目标用户进行推荐。协同过滤最大优点是对推荐对象没有特殊的要求,能处理非结构化的复杂对象,如音乐、电影。
协同过滤是基于这样的假设:为一用户找到他真正感兴趣的内容的好方法是首先找到与此用户有相似兴趣的其他用户,然后将他们感兴趣的内容推荐给此用户。其基本思想非常易于理解,在日常生活中,我们往往会利用好朋友的推荐来进行一些选择。协同过滤正是把这一思想运用到电子商务推荐系统中来,基于其他用户对某一内容的评价来向目标用户进行推荐。
基于协同过滤的推荐系统可以说是从用户的角度来进行相应推荐的,而且是自动的,即用户获得的推荐是系统从购买模式或浏览行为等隐式获得的,不需要用户努力地找到适合自己兴趣的推荐信息,如填写一些调查表格等。
和基于内容的过滤方法相比,协同过滤具有如下的优点:
1)能够过滤难以进行机器自动内容分析的信息,如艺术品,音乐等。
2)共享其他人的经验,避免了内容分析的不完全和不精确,并且能够基于一些复杂的,难以表述的概念(如信息质量、个人品味)进行过滤。
3)有推荐新信息的能力。可以发现内容上完全不相似的信息,用户对推荐信息的内容事先是预料不到的。这也是协同过滤和基于内容的过滤一个较大的差别,基于内容的过滤推荐很多都是用户本来就熟悉的内容,而协同过滤可以发现用户潜在的但自己尚未发现的兴趣偏好。
4)能够有效的使用其他相似用户的反馈信息,较少用户的反馈量,加快个性化学习的速度。
虽然协同过滤作为一种典型的推荐技术有其相当的应用,但协同过滤仍有许多的问题需要解决。最典型的问题有稀疏问题(Sparsity)和可扩展问题(Scalability)。
三、基于关联规则推荐
基于关联规则的推荐(Association Rule-based Recommendation)是以关联规则为基础,把已购商品作为规则头,规则体为推荐对象。关联规则挖掘可以发现不同商品在销售过程中的相关性,在零售业中已经得到了成功的应用。管理规则就是在一个交易数据库中统计购买了商品集X的交易中有多大比例的交易同时购买了商品集Y,其直观的意义就是用户在购买某些商品的时候有多大倾向去购买另外一些商品。比如购买牛奶的同时很多人会同时购买面包。
算法的第一步关联规则的发现最为关键且最耗时,是算法的瓶颈,但可以离线进行。其次,商品名称的同义性问题也是关联规则的一个难点。
四、基于效用推荐
基于效用的推荐(Utility-based Recommendation)是建立在对用户使用项目的效用情况上计算的,其核心问题是怎么样为每一个用户去创建一个效用函数,因此,用户资料模型很大程度上是由系统所采用的效用函数决定的。基于效用推荐的好处是它能把非产品的属性,如提供商的可靠性(Vendor Reliability)和产品的可得性(Product Availability)等考虑到效用计算中。
五、基于知识推荐
基于知识的推荐(Knowledge-based Recommendation)在某种程度是可以看成是一种推理(Inference)技术,它不是建立在用户需要和偏好基础上推荐的。基于知识的方法因它们所用的功能知识不同而有明显区别。效用知识(Functional Knowledge)是一种关于一个项目如何满足某一特定用户的知识,因此能解释需要和推荐的关系,所以用户资料可以是任何能支持推理的知识结构,它可以是用户已经规范化的查询,也可以是一个更详细的用户需要的表示。
六、组合推荐
由于各种推荐方法都有优缺点,所以在实际中,组合推荐(Hybrid Recommendation)经常被采用。研究和应用最多的是内容推荐和协同过滤推荐的组合。最简单的做法就是分别用基于内容的方法和协同过滤推荐方法去产生一个推荐预测结果,然后用某方法组合其结果。尽管从理论上有很多种推荐组合方法,但在某一具体问题中并不见得都有效,组合推荐一个最重要原则就是通过组合后要能避免或弥补各自推荐技术的弱点。
在组合方式上,有研究人员提出了七种组合思路:
1)加权(Weight):加权多种推荐技术结果。
2)变换(Switch):根据问题背景和实际情况或要求决定变换采用不同的推荐技术。
3)混合(Mixed):同时采用多种推荐技术给出多种推荐结果为用户提供参考。
4)特征组合(Feature combination):组合来自不同推荐数据源的特征被另一种推荐算法所采用。
5)层叠(Cascade):先用一种推荐技术产生一种粗糙的推荐结果,第二种推荐技术在此推荐结果的基础上进一步作出更精确的推荐。
6)特征扩充(Feature augmentation):一种技术产生附加的特征信息嵌入到另一种推荐技术的特征输入中。
7)元级别(Meta-level):用一种推荐方法产生的模型作为另一种推荐方法的输入。
七、主要推荐方法的对比
各种推荐方法都有其各自的优点和缺点,见表1。
表1 主要推荐方法对比
表1 主要推荐方法对比 |
||
推荐方法 | 优点 | 缺点 |
基于内容推荐 |
推荐结果直观,容易解释;
不需要领域知识 |
新用户问题;
复杂属性不好处理; 要有足够数据构造分类器 |
协同过滤推荐 |
新异兴趣发现、不需要领域知识;
随着时间推移性能提高; 推荐个性化、自动化程度高; 能处理复杂的非结构化对象 |
稀疏问题;
可扩展性问题; 新用户问题; 质量取决于历史数据集; 系统开始时推荐质量差; |
基于规则推荐 |
能发现新兴趣点;
不要领域知识 |
规则抽取难、耗时;
产品名同义性问题; 个性化程度低; |
基于效用推荐 |
无冷开始和稀疏问题;
对用户偏好变化敏感; 能考虑非产品特性 |
用户必须输入效用函数;
推荐是静态的,灵活性差; 属性重叠问题; |
基于知识推荐 |
能把用户需求映射到产品上;
能考虑非产品属性 |
知识难获得;
推荐是静态的 |
协同过滤
协同过滤是一种基于一组兴趣相同的用户或项目进行的推荐,它根据邻居用户(与目标用户兴趣相似的用户)的偏好信息产生对目标用户的推荐列表。协同过滤算法主要分为基于用户的协同过滤算法和基于项目的协同过滤算法。
基于用户的(User based)协同过滤算法是根据邻居用户的偏好信息产生对目标用户的推荐。它基于这样一个假设:如果一些用户对某一类项目的打分比较接近,则他们对其它类项目的打分也比较接近。协同过滤推荐系统采用统计计算方式搜索目标用户的相似用户,并根据相似用户对项目的打分来预测目标用户对指定项目的评分,最后选择相似度较高的前若干个相似用户的评分作为推荐结果,并反馈给用户。这种算法不仅计算简单且精确度较高,被现有的协同过滤推荐系统广泛采用。User-based协同过滤推荐算法的核心就是通过相似性度量方法计算出最近邻居集合,并将最近邻的评分结果作为推荐预测结果返回给用户。例如,在下表所示的用户一项目评分矩阵中,行代表用户,列代表项目(电影),表中的数值代表用户对某个项目的评价值。现在需要预测用户Tom对电影《枪王之王》的评分(用户Lucy对电影《阿凡达》的评分是缺失的数据)。
由上表不难发现,Mary和Pete对电影的评分非常接近,Mary对《暮色3:月食》、《唐山大地震》、《阿凡达》的评分分别为3、4、4,Tom的评分分别为3、5、4,他们之间的相似度最高,因此Mary是Tom的最接近的邻居,Mary对《枪王之王》的评分结果对预测值的影响占据最大比例。相比之下,用户John和Lucy不是Tom的最近邻居,因为他们对电影的评分存在很大差距,所以JohLn和Lucy对《枪王之王》的评分对预测值的影响相对小一些。在真实的预测中,推荐系统只对前若干个邻居进行搜索,并根据这些邻居的评分为目标用户预测指定项目的评分。由上面的例子不难知道,User一based协同过滤推荐算法的主要工作内容是用户相似性度量、最近邻居查询和预测评分。
目前主要有三种度量用户间相似性的方法,分别是:余弦相似性、相关相似性以及修正的余弦相似性。
①余弦相似性(Cosine):用户一项目评分矩阵可以看作是n维空间上的向量,对于没有评分的项目将评分值设为0,余弦相似性度量方法是通过计算向量间的余弦夹角来度量用户间相似性的。设向量i和j分别表示用户i和用户j在n维空间上的评分,则用基于协同过滤的电子商务个性化推荐算法研究户i和用户j之间的相似性为:
②修正的余弦相似性 (AdjustedCosine):余弦相似度未考虑到用户评分尺度问题,如在评分区间[1一5]的情况下,对用户甲来说评分3以上就是自己喜欢的,而对于用户乙,评分4以上才是自己喜欢的。通过减去用户对项的平均评分,修正的余弦相似性度量方法改善了以上问题。用几表示用户i和用户j共同评分过的项集合,Ii和寿分别表示用户i和用户j评分过的项集合,则用户i和用户j之间的相似性为:
③相关相似性(Correlation)此方法是采用皮尔森(Pearson)相关系数来进行度量。设Iij表示用户i和用户j共同评分过的项目集合,则用户i和用户j之间相似性为:
在得到目标用户的最近邻居以后,接着就要产生相应的推荐结果。设NNu为用户u的最近邻居集合,则用户u对项j的预测评分Puj计算公式如下:
基于项目的(Item一based)协同过滤是根据用户对相似项目的评分数据预测目标项目的评分,它是建立在如下假设基础上的:如果大部分用户对某些项目的打分比较相近,则当前用户对这些项的打分也会比较接近。ltem一based协同过滤算法主要对目标用户所评价的一组项目进行研究,并计算这些项目与目标项目之间的相似性,然后从选择前K个最相似度最大的项目输出,这是区别于User-based协同过滤。Item-based算法认为:一个人会喜欢“和他以前喜欢的东西”相似的东西;仍拿上所示的用户一项目评分矩阵作为例子,还是预测用户Tom对电影《枪王之王》的评分(用户Lucy对电影《阿凡达》的评分是缺失的数据)。
通过数据分析发现,电影《暮色3:月食》的评分与《枪王之王》评分非常相似,前三个用户对《暮色3:月食》的评分分别为4、3、2,前三个用户对《枪王之王》的评分分别为4、3、3,他们二者相似度最高,因此电影《暮色3:月食》是电影《枪王之王》的最佳邻居,因此《暮色3:月食》对《枪王之王》的评分对预测值的影响占据最大比例。而《唐山大地震》和《阿凡达》不是《枪王之王》的好邻居,因为用户群体对它们的评分存在很大差距,所以电影《唐山大地震》和《阿凡达》对《枪王之王》的评分对预测值的影响相对小一些。在真实的预测中,推荐系统只对前若干个邻居进行搜索,并根据这些邻居的评分为目标用户预测指定项目的评分。
由上面的例子不难知道,Item一based协同过滤推荐算法的主要工作内容是最近邻居查询和产生推荐。因此,Item一based协同过滤推荐算法可以分为最近邻查询和产生推荐两个阶段。最近邻查询阶段是要计算项目与项目之间的相似性,搜索目标项目的最近邻居;产生推荐阶段是根据用户对目标项目的最近邻居的评分信息预测目标项目的评分,最后产生前N个推荐信息。
ltem一based协同过滤算法的关键步骤仍然是计算项目之间的相似性并选出最相似的项目,这一点与user一based协同过滤类似。计算两个项目i和j之间相似性的基本思想是首先将对两个项目共同评分的用户提取出来,并将每个项目获得的评分看作是n维用户空间的向量,再通过相似性度量公式计算两者之间的相似性。
分离出相似的项目之后,下一步就要为目标项目预测评分,通过计算用户u对与项目i相似的项目集合的总评价分值来计算用户u对项目i的预期。这两个阶段的具体公式和操作步骤与基于用户的协同过滤推荐算法类似,所以在此不再赘述。
与基于内容的推荐算法相比,协同过滤有下列优点:能够过滤难以进行机器自动基于内容分析的信息。如艺术品、音乐;能够基于一些复杂的,难以表达的概念(信息质量、品位)进行过滤;推荐的新颖性。
然而,协同过滤也存在着以下的缺点:用户对商品的评价非常稀疏,这样基于用户的评价所得到的用户间的相似性可能不准确(即稀疏性问题);随着用户和商品的增多,系统的性能会越来越低(即可扩展性问题);如果从来没有用户对某一商品加以评价,则这个商品就不可能被推荐(即最初评价问题)。
混合推荐系统
目前有很多学者都在研究基于多种方法的混合推荐系统,最常见的为基于内容和基于协同过滤的混合。本博文将详细介绍提于对这两种推荐系统同构化整合的混合推荐模型,该算法同时拥有协同过滤推荐系统和基于内容推荐系统的优点,并且在一定程度上避免了基于内容或协同过滤的传统推荐系统各自的缺点。
该混合推荐算法的模型及结构如下图所示:
该模型与其他推荐模型的不同在于:1)构建了完善的模型输入模块。该模块包含可以根据需要向模型中一次或多次输入用户个人资料、查询(检索)时需要的关键词和句子、商品对象的各项属性值、用户使用推荐系统时和使用推荐系统后的评价,以及来自第三方对商品对象的评价等参数。2)构建了基于内容和协同过滤的整合推荐实施模块。该模块以回归模型为基本依据,以用户信息库、商品信息库、历史信息库和在线信息库为基础,分别将基于内容推荐的算法和协同过滤推荐算法应用于一般预测值的计算及其随机误差项的计算。3)构建了较完备的推荐结果输出模块。该模块依据系统的不同表现形式,将商品信息库中的资源“主动”推荐给用户。推荐方法包括搜索排序优先、邮件以及各种隐式信息传递等。
该混合模型的主要过程和核心是,先利用回归算法提取商品的内容属性,再对用户进行基于内容的协同过滤,最后同构化整合二者结论,并进行加权求和与有序化。
在详细阐述模型之前,有必要分析一下模型的输入数据。推荐系统典型的输入数据是给每个商品及其属性的评价。例如,表1是一个代表用户对电影优劣评价的m×n用户电影评价矩阵,该表的主要功能是在基于已经评价元素的基础上对空缺值进行预测。在评价矩阵中,用户1已经对电影1、电影2、电影4、电影5做了评价,那么用户1会对电影3、电影6做何评价呢?同样地,用户2对电影3,以及用户3对电影4和电影5该做何评价呢?
本混合推荐模型的算法由6个主要步骤组成:
首先,需要有一份存有所有商品(或对象)评价值(可能含有空缺值)的表格,初始表格中的评价值主要由用户直接或间接给出。例如,www.movielens.org就是一个电影推荐网站,网站访问者只要注册并提供对15部以上的电影进行评价,那么他(她)就可以获得网站的推荐服务。像电影类别(例如动作、戏剧、爱情等)、导演、主要演员、制片商等关键信息都有助于对用户进行推荐。因此,用户在获得推荐服务之前应当尽可能向网站提供此类信息。
其次,一旦用户提交了推荐模型所需要的关键信息,那么对用户的电影推荐就可以应用式(1)来计算:
(其中,Ri,j是用户i对商品j的总体评价值,Xi,j,k是用户i对商品j的第k个属性的评价值,m是需要评价的商品的属性总个数。)
在回归模型(1)中,需要测量的各个参数αi,x(x∈[0,m])决定了各个属性的数值对用户的重要性。用户过去的评价值都应用到模型(1)中,一旦用户i的模型中各个参数被估计出来,那么他(她)的空缺值就可以通过模型计算出来。例如,在表1中,用户1的回归模型通过他(她)已经看过的电影来构造,模型构造出来后,用户1对电影3的期望值就可以通过电影3和模型中的各个参数αi,x(x∈[0,m])预测出来。
第三步,基于回归模型(1),计算适合所有用户和商品及其属性的预测值R*i,j。该预测值既适合实际已经发生的评价结果检验,也适合用户实际未发生或丢失的空缺值的预测。
第四步,构建一个预测误差的数据矩阵。该误差矩阵的值由实际发生的数据与预测数据之间的差值计算出来,即εi,j=Ri,j-R*i,j(2),公式中的εi,j实际上就是模型(1)中的随机误差项。由于对于需要预测的商品没有实际发生评价值Ri,j,因此该商品的随机误差项就无法计算。这样,通过实际的评价值和回归模型计算值之差构建的预测误差数据矩阵的形式也就和表1类似,与表1相对应的空白处也是没有数据的。
第五步,将协作过滤技术用于第四步构建的预测误差数据矩阵,我们在此采用基于邻居的协同推荐算法。为了计算用户的空缺值,采用式(3)来计算用户的随机误差项εi,j:Ra,j=λ∑ni=1wa,i(εi,j-εa)+εa(3)其中,Ra,j是用户a对商品j的评价,n是协同过滤数据矩阵中已经对商品j评价过的用户的数量,Wa,i是用户i和目标用户a之间的相似性,λ是一个总和值为1的正太化因素。在表1的电影评价例子中,假设对用户1而言,电影3是·143·需要通过预测来判断是否值得推荐的。在基于邻居的算法中,需要获得用户2、用户3等其他用户对电影3评价的加权平均数。另外,权重(Wa,i)的大小取决于用户1在电影评价方面与其他用户的相似性,包括皮尔森(Pearson)相关系数法、斯皮尔曼(Spearman)秩相关系数法和向量相似度等诸多方法均可以用来测定该值。在协同过滤的算法方面还有很多其他重要的文献,本文就不探讨了。
第六步,把第三步和第五步的计算结果求和,即第三步中利用基于内容推荐方法得出的R*i,j和第五步基于协同过滤推荐方法得出的εi,j,通过对式(2)进行变化并计算,得Ri,j=R*i,j+εi,j,即用户i对商品j的预测评价值。
面试提问:
Q
1.余弦相似度与其余二者的比较?
余弦相似度计算时采用评级项目item i与item j中所有用户的信息,即包括有填写评级与无填写评级(无填写评级的置0)的所有用户;
皮尔森系数与修正余弦相似度中U表示所有对i和j共同进行过评级的用户组成的组合;
总结:余弦相似度与其余二者在计算式选择的用户集合不同 。
Q
2.皮尔森系数与修正余弦相似度的比较
从公式上看,这二者的区别就在于与之间的差别。
皮尔森系数中表示对i与j共同评级过的所有用户,他们对i的评级的平均值,即计算皮尔森系数时提取一个列为i与j,行为对二者共同评级的用户组成的表格,并计算列 i 的平均值。
而修正余弦相似度中表示的是用户 u 已评级项目的平均值,即计算时未被评级的项目不采取置0而是直接忽略。
总结:皮尔森系数与修正余弦相似度之间的区别在于中心化的方式不同。
Q3
什么是wide&deep模型?
解析:
wide部分就是传统的LR模型 ,LR模型简单、快速并且模型具有可解释,有着很好的拟合能力,但是LR模型是线性模型,表达能力有限,泛化能力较弱,需要做好特征工程,尤其需要交叉特征,才能取得一个良好的效果
deep部分就是DNN ,DNN模型不需要做太精细的特征工程,就可以取得很好的效果,已经
Q2
Join training和ensemble training有什么区别?
解析:
(1)ensemble中每个模型需要单独训练,并且各个模型之间是相互独立的,模型之间互相不感知,当预测样本时,每个模型的结果用于投票,最后选择得票最多的结果。而join train这种方式模型之间不是独立的,是相互影响的,可以同时优化模型的参数。
(2)ensemble的方式中往往要求存在很多模型,这样就需要更多的数据集和数据特征,才能取得比较好的效果,模型的增多导致难以训练,不利于迭代。而在wide&deep中,只需要两个模型,训练简单,可以很快的迭代模型。
Q3
请简述DeepFM模型 ?
解析:
由于DeepFM算法有效地结合了因子分解机与神经网络在特征学习中的优点:同时提取到低阶组合特征与高阶组合特征,所以越来越被广泛使用。在DeepFM中,FM算法负责对一阶特征以及由一阶特征两两组合而成的二阶特征进行特征的提取;DNN算法负责对由输入的一阶特征进行全连接等操作形成的高阶特征进行特征的提取。DeepFM具有以下特点:
1. 结合了广度和深度模型的优点,联合训练FM模型和DNN模型,同时学习低阶特征组合和高阶特征组合。
2. 端到端模型,无需特征工程。
3. DeepFM 共享相同的输入和 embedding vector,训练更高效。
DeepFM模型的预测结果输出为:
Q4
Collaborative Knowledge Base Emvedding(CKE,协同知识库嵌入)使用哪三种知识的学习?
解析:
结构化知识学习:TransR。TransR是一种基于距离的翻译模型,可以学习得到知识实体的向量表示
文本知识学习:去噪自编码器。去噪自编码器可以学习得到文本的一种泛化能力较强的向量表示
图像知识学习:卷积-反卷积自编码器。卷积-反卷积自编码器可以得到图像的一种泛化能力较强的向量表示
Q5
怎么将知识图谱引入推荐系统?
解析:
基于特征的知识图谱辅助推荐,核心是知识图谱特征学习的引入。一般而言,知识图谱是一个由三元组 组成的异构网络。由于知识图谱天然的高维性和异构性,首先使用知识图谱特征学习对其进行处理,从而得到实体和关系的低维稠密向量表示。这些低维的向量表示可以较为自然地与推荐系统进行结合和交互。
基于结构的推荐模型,更加直接地使用知识图谱的结构特征。
具体来说,对于知识图谱中的每一个实体,我们都进行宽度优先搜索来获取其在知识图谱中的多跳关联实体从中得到推荐结果。
Q6
普通的逻辑回归能否用于大规模的广告点击率预估?为什么?
解析:
不能
第一,数据量太大。传统的逻辑回归参数训练过程都依靠牛顿法(Newton's Method)或者 L-BFGS 等算法。这些算法并不太容易在大规模数据上得以处理。
第二,不太容易得到比较稀疏(Sparse)的答案(Solution)。也就是说,虽然数据中特征的总数很多,但是对于单个数据点来说,有效特征是有限而且稀疏的。
Q7
请简述FTRL。
FTRL是一种适用于处理超大规模数据的,含大量稀疏特征的在线学习的常见优化算法,方便实用,而且效果很好,常用于更新在线的CTR预估模型;
FTRL
算法兼顾了FOBOS
和RDA
两种算法的优势,既能同FOBOS保证比较高的精度,又能在损失一定精度的情况下产生更好的稀疏性。
FTRL在处理带非光滑正则项(如L1正则)的凸优化问题上表现非常出色,不仅可以通过L1正则控制模型的稀疏度,而且收敛速度快;
注:FTRL(Follow The Regularized Leader,跟随正则化的领导)
Q
FTRL在准备训练数据(特征工程)和训练模型时有哪些trick?
解析:
(1)特征工程
特征预处理:ID化、离散化、归一化等;
特征选择:方差、变异系数、相关系数、Information Gain、Information Gain-Ratio、IV值等;
特征交叉和组合特征:根据特征具有的业务属性特征交叉,利用FM算法、GBDT算法做高维组合特征等。
(2) Subsampling Training Data
正样本全采样,负样本使用一个比例r采样,并在模型训练的时候,对负样本的更新梯度乘以权重1/r;
负采样的方式:随机负采样、Negative sampling、邻近负采样、skip above负采样等。
(3) 在线丢弃训练数据中很少出现的特征(probabilistic feature inclusion)
Poisson Inclusion:对某一维度特征所来的训练样本,以p的概率接受并更新模型;
Bloom Filter Inclusion:用bloom filter从概率上做某一特征出现k次才更新。
参考资料:https://xw.qq.com/cmsid/20210123A0C2XB00?ADTAG=baidutw
8月7日晚八点分享-推荐系统面试/概览相关推荐
- AI:2020年6月16日晚20点陆奇博士演讲《陆奇直播万字实录:正视挑战,把握创业创新机会》
AI:2020年6月16日晚20点陆奇博士演讲<陆奇直播万字实录:正视挑战,把握创业创新机会> 导读:在疫情带来的新格局里,有哪些是创业者可以抓住的长期趋势?前沿技术的突破带来哪些创新和创 ...
- AI:2020年6月16日晚20点陆奇博士演讲《正视挑战把握创业创新机会》
AI:2020年6月16日晚20点陆奇博士演讲<正视挑战把握创业创新机会> 导读:陆奇,毕业于复旦大学,获计算机科学学士.硕士学位,1987年毕业后留校执教.此后就读于卡耐基梅隆大学,获计 ...
- T Chat 第九期「 李泽磊 - 我在百度做阅读器 」9 月 1 日晚 8 点开播
"T Chat | 我在大厂做研发"系列直播活动第九期 9 月 1 日晚 8 点正式开播! 活动详情 讲师 & 活动简介 本场我们邀请到了百度小说客户端团队负责人李泽磊,来 ...
- 微信视频号(短内容)上线内测2020年1月21日晚上线开放入口在哪里?
微信视频号(短内容)上线内测2020年1月21日晚上线开放入口在哪里? 微信视频号(短内容)是什么? 微信视频号是一个人人可以创作和记录短内容的平台,视频号也是一个了解他人,了解世界的窗口. 微信视频 ...
- 【目标一】2019年9月15日 - 2019年9月22日晚 --- 周计划
2019年9月15日 - 2019年9月22日晚 --- 周计划 工作日作息时间 周末或者节假日作息时间(如果没有活动 或者 不用加班的话) 心若向暖,何处不阳光:心若向阳,便何处不花开 \^_\^ ...
- 2022年天猫双11购物节,10月24日晚8点预售来袭
2022年天猫双11购物节,10月24日晚8点预售来袭 这对于爱网购的小姐姐们一定都知道接下来会发生什么事情了,双11第一波预售将至,我们可以为买衣服鞋帽做清单了,据天猫的微博了解,2022年的天猫双 ...
- 【免费分享】4月24日精选行业报告分享-免费行业报告下载(7份)
4月24日精选行业报告分享-免费行业报告下载 行业报告分享,每天给你带来各行业分析报告 如果大家身边也有需要这些资料的人,在分享的同时,麻烦也关注下该公众号"51行业报告"吧 目录 ...
- 深圳华为鸿蒙发布会,鸿蒙手机要来了 华为6月2日晚举办鸿蒙操作系统发布会
鸿蒙手机来了!5月25日,华为宣布,将于6月2日晚举办鸿蒙操作系统及华为全场景新品发布会.业界预计,发布会上将公布鸿蒙操作系统手机用户正式版规模推送时间. 华为官方微博5月25日早上发布了鸿蒙手机操作 ...
- 2011年10月11日晚,履行答应她的承诺。我打电话给妈妈,,哭了,从未如此痛彻心扉地哭过,在母亲的面前。
2011年10月11日晚,履行答应她的承诺.我打电话给妈妈,,哭了,从未如此痛彻心扉地哭过,在母亲的面前.
- 微信红包雨怎么抢_1月26日晚8点微信红包雨发放时间表 怎么抢红包全攻略
1月26日晚8点微信红包雨发放时间表 怎么抢红包全攻略 据1月26日消息,微信官方将在今晚8点开启一轮红包雨[在哪里抢],用户通过手机摇一摇的方式可抢红包. 延伸阅读: 抢红包攻略: 1月26日晚8点 ...
最新文章
- 第二天——hibernate讲完了
- wxpython 表格粘贴,wxpython在整个应用程序中剪切复制和粘贴
- 如何让自己看起来不像编程菜鸟?别犯这9个编程错误
- 2022 star*CTF-Writeup
- 波形发生器 -- 输出正弦波,三角波,矩形波,锯齿波,梯形波 -- DAC0832
- drupal mysql hash密码_drupal7 密码重置
- 网络口碑营销的优势和实施步骤
- RPC框架pigeon源码分析
- Ant Design Pro 使用Authorized组件做权限验证
- html 调用桌面exe程序,如何使用HTML、CSS和JavaScript轻松构建桌面应用程序
- 基于历史使用数据的虚拟机动态整合研究( 文献阅读与问题理解)
- 惠普 hp3414 笔记本 电脑 驱动 drivers
- 【操作系统】操作系统的发展历程——手工阶段、批处理阶段、分时操作系统、实时操作系统
- 领导驾驶舱是怎么做出来的?
- idmp用户唯一标识图计算模拟演示
- VSCODE配置SSH连接服务器
- python做地图导航_【python】地图做图问题
- 欢乐上墙使用简易教程 + 详细教程
- 树莓派安装ROS问题:python-pip: 依赖: python-pip-whl (=18.1-5+rpt1) 但是它将不会被安装
- 飞凌TE6410屏幕校准步骤
热门文章
- 【转】pom.xml详解
- C语言基础第三次作业
- Android动画之补间动画详解
- React和Vue对比
- oc55--ARC单个对象的内存管理
- 给初学者的 RxJava2.0 教程 (九)
- ubuntu软件包管理
- 红旗liuxe5.0下vmware tools安装记录
- 华为note10能更新鸿蒙系统吗,华为官方再次确认!荣耀手机也能升级鸿蒙OS系统:内测机型遭到曝光...
- mysql truncate 日期_(LINQ to Entities)使用日期判断条件Truncate日期函数