推荐系统入门实践(7)排序简述

排序

总述里提过,召回跟排序(一般说排序都是指精排)之间还可以有一个粗排。不过粗排可以看成多级排序的其中一环,就不特意说明了。在我工作中,粗排是用的GBDT模型。

我对排序的了解比较浅陋,因为平时做召回比较多。这部分只是简略说一下,疏漏难免,甚至可能有错误。

贴一个大佬的分享 大佬的知乎文章,建议看原文,简洁清晰。

LR模型(logistic regression)

这就很好理解...直接贴大佬的图了:

排序LR.png

线性模型其实就是wx+b...LR再套一个sigmoid是为了把取值规范到0-1。优点是简单、可解释(特征的权重都知道,哪个特征重要也就知道,进而也容易解释结果)、易扩展(很好加特征),大佬说缺点是不好特征组合,我认为不好找特征也是一个缺点...

问,如何为LR模型选特征?答,特征工程的同学们给啥用啥。卒。

选择特征有一些方法论的,我实践里没有机会用过,但tm面试里被问过...可以参考这个问题特征选择知乎答案1特征选择知乎答案2

简单点说,单特征auc、信息增益、覆盖率、取值(方差)等都应该考虑,也可以用gbdt、lr等对特征打分,也可以用L1正则来选特征。贴个图,细节我也不懂,有时间细研究下后面补充吧(这句话出现频率有点高)。

特征工程.jpg

线性模型改进

线性模型加上特征组合,本质是SVM,为什么?多项式核。

排序LR改进.png

FM模型

改进特征组合的权重。泛化性更好。

排序FM.png
排序FM2.png

FM模型的dnn理解:


排序FM-dnn解释.png

FFM模型

再细分field。参数量1+n+kfn,时间复杂度O(k*n*n)。


排序FFM1.png

排序FFM2.png

双线性FFM

改进参数量太多的问题。

排序双线性FFM1.png

排序双线性FFM2.png

树模型-gbdt

排序GBDT.png

GBDT+LR

GBDT当做特征抽取模块,后面接LR。fb论文

排序GBDT+LR.png

实际可以再加一些dense特征的,gbdt当成稀疏特征提取器。这样想来,GBDT+FM也就容易理解了。基于这种思想的其他模型也就顺理成章了,例如我们实践中用过一个ensemble model如下图:

排序ensemble-model.png

后来想换成deepFM一直未成功,一方面效果要超过ensemble比较难,因为ensemble本身也是有FM的,另一方面速度很慢,因为原本的引擎架构没有做这方面支持,于是要在tf里面分field,想要变快需要引擎推倒重来,比较难。

wide&deep

可以看看tf.estimator.DNNLinearCombinedClassifier.

排序w&d.png

deepFM

排序deepfm.png

deepFFM

这里细节不多说了,再次推荐大佬的文章这里

排序nffm.png

排序deepffm.png

其他如PNN,DIN,DCN,Deep&Cross等就不说了,反正都没用过...


实践经验

下面简单记录一下实践里的有用经验,可能略去很多细节。

样本权重调整

在模型固定时,调整样本权重是对指标最有效的措施之一。如何设计样本权重呢?举例说,假设负样本权重是1,我们可以让正样本的权重正比于playtime,也就是weight=alpha*playtime,其中alpha用来平衡正负样本比例,这个公式里包含的假设是通过playtime区分视频质量。通过统计视频duration和playtime的关系,可以发现二者正相关,那么这样的权重就偏向推出长视频,但我们不希望这样(我们要的是公平,公平,还是tmd公平)(各业务不同)。

为了去掉上面所说的影响,考虑到playtime=duration*percentage,我们可以定义weight=alpha*percentage,让它跟完成率正比。但是统计duration和percentage的关系(实际是显然的),可以发现二者反比,那么现在就更容易推短视频了,还是不好。

我们首先需要一个合理的假设:视频推出质量的分布与duration无关,并且在各个duration区间下均匀分布,也就是说,在任何duration区间里,样本权重的平均值应该相同。一种实现方式是,对每个duration区间下的playtime进行等频分割,然后映射到level,最后level映射到weight。这样duration与weight就几乎不相关了。举个例子:weight=sigmoid(playtime)*level/scale+bias,实际上参数可以自己调整实验。细节不谈。

多样性MMR

MMR就是Maximal Marginal Relevance 论文这里,是为了保证推荐结果多样性。其实很简单,可以理解为得到排序score后,再根据item相似度(另一个角度就是多样性)来重新打个分。公式是 lambda*score(i)-(1-lambda)*max(sim) ,lambda是超参数,sim就是物品i跟“已经被选中的item”的相似度,我们的目标就是选择一个item i 让这个公式得分最高,这样就平衡了排序得分和多样性。其中sim计算可以复杂(embedding距离)也可以简单(tag的jaccard距离)。

添加召回特征

一般新加召回源之后,可以在排序模型中添加该召回源的得分作为特征,通常会有一定提升(不大)。排序模型中也可以添加召回产出的embedding特征,例如i2v/n2v/dnn等。

用户分层

上一节说过了,字面意思。

模型更新

想到两点,一是不要重新训练模型,在上一个模型基础上使用新样本继续训练;二是加快更新频率,一般可以做到小时级。也可以小时级用小样本,天级用大样本,选择很多。

其他

  1. 关于特征。稀疏特征比如用户兴趣的id类、tag类特征,比如item侧的id类、tag类特征;embedding特征不用说,user item都可以有;dense特征比如各种统计特征,统计特征本身也可以分桶,特征之间可以交叉加权等。

  2. 如何侧重新视频?第一是样本权重,第二是样本筛选。这两样最有效。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,444评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,421评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,363评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,460评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,502评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,511评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,280评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,736评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,014评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,190评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,848评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,531评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,159评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,411评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,067评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,078评论 2 352