文章目录

  • 特征
  • 计算广告业务
    • 计费方式
    • 竞价策略
    • 评价指标
    • 广告归因
    • 综合介绍
    • DMP
  • 推荐算法概述
  • 协同过滤
  • 深度推荐
  • 矩阵分解
    • SVD
    • LFM
    • 分解机
    • 文本主题模型
  • 基于图的推荐
  • 排序学习
    • 简介
    • Pairwise
  • CTR预估
    • CTR校准
    • 数据
  • 优化
    • FTRL
  • 多任务学习

核心思想

特征

推荐系统的特征工程
数据分析经典分析方法-TGI分析

计算广告业务

计费方式

CPM (Cost Per Mille):每千人成本。按展示数量收费。
CPC(Cost Per Click):每点击成本。按点击数量收费。
CPA(Cost Per Action):每行动成本。按用户行动来收费。注意,是消费量/转化量,CPA=CPC\CVR。例如,每次点击广告主出10块钱,而cvr是0.1,那么对于广告主来说,cpa就是100,也就是拉一个客户的成本是100元。


oCPC和CPC之间的区别
也就是第一阶段以CPC计价计算ecpm,然后第二阶段以CPA出价计算ecpm,而由于cpa*cvr=cpc从而动态调整cvr低的广告的CPC。而腾讯的两阶段广告也累死,第一阶段可能是浅层转化,第二阶段深层。
如何快速了解OCPC的推广模式? - App Growing的回答 - 知乎
一文了解信息流广告的eCPM计算公式
ocpa,ocpc什么的,都是用户的收费方式不同,排序都是ecpm。
什么是CPA、CPC、CPM、CVR、CTR、PV、UV、GMV定义以及相关计算公式
消费量指的就是广告主要给平台的钱


oCPA、oCPM竞价的本质是什么? - 马超的回答 - 知乎
理想状态中广告主预期成本(CPA)为广告主的底价(广告主能接受的最高CPA成本) ,假设广告主的预期成本没有波动,根据eCPM公式可以推到出来无论是按照CPC付费 还是CPM付费 广告主预期成本不变 pCVR越高 eCPM 与CPC越高 ;

竞价策略

Myerson auction 是什么意思?解决了什么问题? - 蛋堡学长的回答 - 知乎
那个y的最大值是求导为0得到的。

评价指标

CTR (Click Through Rate): 点击率。
pCTR(Predict Click-Through Rate): 预测转化率。
CVR (Click Value Rate): 转化率。点击转化成注册的比率。
pCVR(Predict Click Value Rate): 预测转化率。
广告流量分析之评价指标的选择(二)

广告归因

广告归因的几种方式
互联网广告的归因分析(Attribution Analysis)

综合介绍

腾讯广告oCPA 双出价 两阶段 自动扩量 系统优选
腾讯广告学习中心
腾讯广告oCPA两阶段出价用的溜,深度转化不用愁
字节跳动穿山甲联盟的“付费双出价”究竟是什么?
字节的双出价与腾讯的两阶段好像是对应的

DMP

到底、究竟应该如何明智地选择DMP?

推荐算法概述

处理冷启动:用户冷启动:方案1,从其他地方获取信息比如性别年龄朋友关系等作为特征,然后用常规算法进行推荐;方案2,如果用户喜欢了一样东西,然后,我们把与这个商品相似的商品推荐给这个用户。
商品冷启动:方案1,读取这个商品的内容,计算相似度,比如电影的演员,语言等等;方案2,这个商品被某人喜欢了,那么我们把与这个人相似的其他用户推荐给这个商品。
推荐算法入门
推荐系统中使用ctr预估模型的发展

协同过滤

协同过滤推荐算法的原理及实现
基于用户的协同过滤:给商品推荐相似的人。一个人的打分列表可以作为这个人的特征序列。人与人之间的相似性通过给相同的物品的打分情况来判定,因为如果两个人在很多物品上都是同时喜欢或者不喜欢,那么这两个人就相似。

基于物品的协同过滤:给人推荐相似的商品。一个商品的得分序列可以作为这个商品的特征序列。物品与物品的相似性通过被相同的人的打分情况来判定,因为如果很多人都认为两个东西同时好或者同时不好,那么这两个东西就是相似的。例如物品A得到的打分是[1,3,3,1,4],物品B得到的打分是[2,1,3,1,4],如果一个新的用户买了A,那给他推荐B,也就是说,不需要等这个新用户积累一定的购买信息,就能给他推荐东西了,这解决的就是用户冷启动。
上面博客里基于物品的协同过滤是先找的与物品3最相似的物品4、5,然后在找物品4和5最相似的

深度推荐

深入浅出DeepFM

矩阵分解

SVD

奇异值分解SVD简介及其在推荐系统中的简单应用
就是用特征向量矩阵来表示一个商品,然后计算相似度,把相似的商品推荐过去;那= =特么,为啥不直接用某一个商品的打分序列作为特征呢;哦因为稀疏,用户A看到过商品1,但是用户B可能没见过
An∗m≈Un∗kΣk∗kVk∗mTA_{n*m} \approx U_{n*k}\Sigma_{k*k} V_{k*m}^TAnmUnkΣkkVkmT 如果AAA表示的是nnn个人对mmm个物品的评分,那么Un∗kU_{n*k}Unk就代表了nnn个用户在某kkk个属性上的表现,Vk∗mV_{k*m}Vkm就代表了mmm个物品在某kkk个属性上的表现,而Σ\SigmaΣ代表的是用户和物品在这kkk个物品上的转化关系
进而可以把Vm∗k=ATUΣ−1V_{m*k}=A^TU\Sigma^{-1}Vmk=ATUΣ1用于计算mmm个物品之间的相似性上
为什么可以这样考虑呢?是时候真正理解PCA和SVD了,想象AAA是一个n∗2n*2n2的矩阵,就是说我们手上只有两个物品,画出坐标轴,横轴是用户对物品1的喜好程度,纵轴是用户对物品2的喜好长度,坐标中每一个点都是一个用户对两者的喜好程度,并且假设这些点都处于一条直线上,我们现在要对列用PCA进行降成一维:首先求ATAA^TAATA的最大的特征向量λ1=[3/5,4/5]T\lambda_1=[3/5,4/5]^Tλ1=[3/5,4/5]T,然后把坐标中每一个点映射到λ1\lambda_1λ1代表的坐标轴上就行了。
PCA相当于说找到了一个新的物品3,把原始的用户对物品1和物品2的喜好程度变成了用户对物品3的喜好程度。物品3可以看做物品1和物品2的共性,那么反过来看,物品1和物品2可以看做物品3的体现λ1\lambda_1λ1的意义是什么,举例来讲,用户有1分喜欢物品3,他就会有3/5分喜欢物品1,有4/5分喜欢物品2,也就是说物品1有3/5像物品3,物品2有4/5像物品4(给自己鼓个掌);如果把物品3称为属性3,例如物品1是玉子的手办,物品2是平泽唯的手办,那物品3就可以看做是(卖萌)。那么3/5就代表着,玉子的手办有3/5这么。喏,这就是为什么VVV可以看做物品的属性矩阵了。
二刷SVD+PCA关系,进一步理解:假如说一个特征矩阵An∗m={x1,...,xm}A_{n*m}=\{x_1,...,x_m\}Anm={x1,...,xm}xxx为列向量nnn个特征mmm个样本,AATAA^TAATkkk个特征值最大的特征向量构成的矩阵就是svd里的U={u1,...,uk}U=\{u_1,...,u_k\}U={u1,...,uk}uuu为列向量,也是PCA里的投影矩阵(或者说低维空间的基向量),从PCA里我们可以知道,假如要对x1x_1x1降维,那么降维后的新样本就是xˉ1={u1Tx1,...,ukTx1}\bar{x}_1=\{u_1^Tx_1,...,u_k^Tx_1\}xˉ1={u1Tx1,...,ukTx1},我们来观察xˉ1\bar{x}_1xˉ1的组成,假设x11x_{11}x11x1x_1x1的第一个特征的值,uk1u_{k1}uk1记为uku_kuk的第一个值,进一步可以发现,ukTx1u_k^Tx_1ukTx1实际是一个求和项,其中有一项就是x11uk1x_{11}u_{k1}x11uk1,这可以看成,单位大小的原始样本x1x_1x1的第一个特征,会给新样本xˉ\bar{x}xˉ的第kkk个特征维度(或者说主题)做出uk1u_{k1}uk1这么大小的贡献。因此UUU矩阵的第一行,可以用来描述原始特征空间中第一个特征在kkk个主题上的分布情况。进一步类比推荐就很好理解了。

LFM

推荐系统之LFM(Latent Factor Model)
推荐系统(2)—LFM(Latent Factor Model)模型
用已知的评分和梯度下降的方法来求取那两个矩阵,然后用求出来的那两个矩阵相乘去模拟原评分矩阵,然后根据评分来推荐
和SVD还是有区别的,LFM认为未评分的位置是空的,只用已知的去求两个矩阵;而SVD认为未打分就是0,然后在特征矩阵里求相似度

分解机

分解机(Factorization Machines)推荐算法原理

FM本质上是一种非线性拟合模型,之所以是说非线性,是指拟合的时候用到了高阶乘积,如xixjxk...x_ix_jx_k...xixjxk...,这个模型隐含了一个假设是,打分YYY和特征向量XXX是相关的,所以这个模型做的无非就是一个线性拟合的高阶版本,并且引入非线性可以提高拟合能力。
文中的那个电影的例子是作者举的一个例子,如果用户iii根本没看过电影jjj,那么xijx_{ij}xij实际上是一个缺失数据,贸然认为其为0会让wijw_{ij}wij为0。正是为了解决数据的稀疏性,才引入了viTvjv_i^Tv_jviTvj,通过矩阵分解,可以学习到xi,xjx_i,x_jxi,xj的关系到底是什么样的
刷了一下论文对于拆解vi,vjv_i,v_jvi,vj的解释,实际上是通过矩阵学习vi,vjv_i,v_jvi,vjviv_ivi代表的是第iii个维度的内部特征,有点像SVD那样,把一个用户或者商品转换成dense向量,这个向量可能代表的是柱体或者兴趣什么的。然后用內积去计算两个特征的相关性。viv_ivi的学习过程就是在类比,如果vi和vjv_i和v_jvivj有相似的行为(比如两个用户的评分差不太多),那么vi,vjv_i,v_jvi,vj就应该差不多,那么当计算用户iii和商品aaa的关系的时候,用的就是vi,vav_i,v_avi,va,这个viv_ivi是从vjv_jvj那里学到的。直接使用wiaw_{ia}wia,是没法让这个参数向用户jjj去学习的。
FM的求解使用的梯度下降或者最小二乘,具体求解方法暂时没看
ALS求解过程就是,先对w0w_0w0进行最小二乘(即梯度为0),然后对wiw_iwi进行最小二乘,再对vijv_{ij}vij最小二乘,交替进行,因为这是个凸优化问题嘛,所以可以这样做
FM有啥用呢,有了这个模型的话(就是参数Θ={w0,wi,vj}\Theta=\{w_0,w_i,\bf{v}_j\}Θ={w0,wi,vj}已知),我们就可以对新的样本进行预测了,比如上述博客中的图一,我们就可以预测Alice对于StarTreck的评分了。

FM算法(一):算法理论
FM对比SVM的优点,对于稀疏性的处理,SVM并没有把系数拆分开,所以没有出现过的特征pair的特征就是0了,SVM的模型使得不是支持向量的样本对模型没影响,这不是一个好的推荐系统应该有的属性,另外SVM只用一种参数,不能很好反应两个变量之间的关系
FM在做回归的时候很简单,分类的时候,论文里说可以用hinge loss和logit loss,然后输出的正负代表二分类的结果,但我估么着,由于这个输出y^\hat{y}y^并不在0~1之间,因此我觉得应该让输出在过一个sigmoidsigmoidsigmoid,输出的结果作为PPP,就像logistics regression一样;ranking的时候就是把两个样本的特征进行拼接,然后做二分类

点击率预估算法:FM与FFM
FFM就是每个参数的每个取值使用两个隐向量做內积求出来的,在FM里,每个特征对应1个隐向量,FFM里,每个特征对应n个,n就是field的个数,用的时候要小心,比如特征iii的field为fif_ifi,特征jjj对应的field是fjf_jfj,那么两者的向量内积是Vi,fjTVj,fiV_{i,f_j}^TV_{j,f_i}Vi,fjTVj,fiVi,fjV_{i,f_j}Vi,fj代表的是特征iii对应特征jjj的特征field的隐向量。
FFM里的假设是,由于FM里用到了两个特征的乘积,并且系数由两个向量的内积决定,那么每个特征的那个向量,在对应另一个不同特征的时候,也应该是不同的。因此有几个field,就有几个向量
[FwFM论文]Field-weighted Factorization Machines

文本主题模型

主题模型的最简单解释
每一篇文章不是仅仅拥有唯一的主题,而是融合了好多个主题,并且不同的主题占比不同,比如说某一篇脱口秀报道里,娱乐性质主题占比百分之40、体育性质主题占比百分10、剩下的都是新闻性质的主题。
而文章中每个词是怎样产生的呢,是根据这些主题生成的,并且在每个主题中,使用同一个词汇的概率是不同的。比如说百分百娱乐性质主题的文章使用“有趣”这个词的概率有0.5这么高,而是在百分百新闻性质主题的文章里,“有趣”这个词几乎不会被使用,好比说概率是0.00001。
所以,一篇文章有好多个词,每个词都有可能是从不同的主题里跑出来的,比如说在刚刚的脱口秀报道例子里,出现了一个“射门”,那么这个词代表的是“体育性质主题”,也有可能是从“新闻性质主题”里跑出来的,因为这两个主题都有可能会用到这个词。

文本主题模型之潜在语义索引(LSI)
汗,其实就是SVD的解释,看到这的时候我在想,如果表征一篇文档呢?用词袋模型可以,比如说一个m*n的矩阵,m是字典大小,n是文档个数,那么每一列都代表一个文档

LSA,pLSA原理及其代码实现
首先,看pLSA的概率图模型,当给定主题Z的时候,文档d与词w无关,因此有p(w∣z,d)=p(w∣z)p(w|z,d)=p(w|z)p(wz,d)=p(wz),数学推导也行,复习一下贝叶斯网络的条件独立性推导,p(w∣z,d)=p(w,z,d)/p(z)p(z,d)/p(z)=p(w∣z)∗1p(w|z,d)=\frac{p(w,z,d)/p(z)}{p(z,d)/p(z)}=p(w|z)*1p(wz,d)=p(z,d)/p(z)p(w,z,d)/p(z)=p(wz)1
PLSA的思路:每个文档有都有一个主题分布,P(zi∣di)P(z_i|d_i)P(zidi)代表的就是第iii个文档里包含ziz_izi的概率,然后每个主题都对应了很多词,P(wi∣zi)P(w_i|z_i)P(wizi)代表了主题ziz_izi中选中词wiw_iwi的概率,俩一联合就能求出P(wi∣di)P(w_i|d_i)P(widi)代表的就是这篇文档中存在词语wiw_iwi的概率

EM算法中的E步,实际应该为E=∑m∑nn(dm,wn)∑kpt(zk∣dm,wn)logp(wn,zk,dm)E=\sum_m \sum_n n(d_m,w_n) \sum_k p_t(z_k|d_m,w_n)log~p(w_n,z_k,d_m)E=mnn(dm,wn)kpt(zkdm,wn)logp(wn,zk,dm),但是由于pt(wn,zk,dm)=pt(wn∣zk)pt(zk∣dn)p(dn)p_t(w_n,z_k,d_m)=p_t(w_n|z_k)p_t(z_k|d_n)p(d_n)pt(wn,zk,dm)=pt(wnzk)pt(zkdn)p(dn),并且p(wn∣zk),p(zk∣dn)p(w_n|z_k),p(z_k|d_n)p(wnzk),p(zkdn)是目标参数,
pt(zk∣dm,wn)p_t(z_k|d_m,w_n)pt(zkdm,wn)可以由当前的pt(wn∣zk),pt(zk∣dn)p_t(w_n|z_k),p_t(z_k|d_n)pt(wnzk),pt(zkdn)参数值导出,p(dn)p(d_n)p(dn)是已知变量对于最大化p(wn∣zk),p(zk∣dn)p(w_n|z_k),p(z_k|d_n)p(wnzk),p(zkdn)没影响,又在log里,所以可以扔了
但是我搞不清楚的是,对于完全数据的最大化那前面的n(dm,wn)n(d_m,w_n)n(dm,wn)为啥没带zkz_kzk

PLSA模型以及推荐中的应用
PLSA是一个词袋模型(BOW, Bag Of Word),它不考虑词在文档中出现的顺序,但可以把词在文档中的权重考虑进来。我们把这些概念平行推广到推荐系统中来,一个用户的购买记录看作是一个文档,购买的每一件商品看作是一个词,用户对商品的评分看作是词在文档中的权重。套用PLSA算法就可以得到用户在各个隐含主题上的向量表示p(zk∣di)p(z_k|d_i)p(zkdi),基于这个向量再去计算相似用户,接着套用协同过滤算法给用户推荐商品。
隐语义模型的核心思想是通过隐含特征联系用户兴趣的物品。先得到用户的兴趣分类,从兴趣中挑选可能喜欢的物品。协同过滤算法是基于统计的,而隐语义模型是基于自动聚类的,从用户群的意见出发,发现两个物品是否属于同一类,通过最终聚类的数量来区分不同粒度的分类。有了分类以后,再计算物品所属不同类的权重。当物品对于某一分类的权重较高(就是计算每个商品在各个主题上的权重),且与其他分类有区分度时,可以作为该分类下的典型物品,所以相当于聚类。当用户对典型物品有行为时,即可以确定该用户的兴趣分类。隐语义模型的具体算法有:PLSA、LDA、隐含类别模型、隐含主题模型、矩阵分解。

文本主题模型之非负矩阵分解(NMF)
汗,其实就是LFM

通俗理解LDA主题模型
这TM是我见过的最难的算法了。

解释一下,在LDA模型的假设是这样的,文章的主题分布不再确定,而是一个随机变量,同样的,每个词在同一个主题下的分布也不在确定,也是一个随机变量
在LDA模型里,第iii篇文章是这样产生的,1)首先从分布α\alphaα里采样生成θi\theta_iθi,把这个作为这篇文章的主题分布情况;2)然后基于这个主题分布情况θi\theta_iθi,要为这篇文档生成第jjj个词,但是先不急于直接生成这个词,而是缓一步,先去想这第jjj个词应该属于什么主题,这个zi,jz_{i,j}zi,j就代表了,在整体主题分布为θi\theta_iθi的前提下,第jjj个词的主题的概率分布;3)然后从β\betaβ里采样,生成关于主题zi,jz_{i,j}zi,j的各个词语的使用分布,得到ϕzi,j\phi_{z_{i,j}}ϕzi,j;4)最后,采样生成词语。
先理解到这

基于图的推荐

PersonalRank:一种基于图的推荐算法
该算法的核心目的是衡量出对某一固定结点,其余结点的重要程度。从而得出推荐顺序。最终算出的某个商品的pr越大,说明这个商品与这个用户的相关性越高
节点c分得A 1/2∗α1/2∗\alpha1/2α,前面那个1/2是因为从A可以向外指两个路径,α\alphaα是转移概率,最终c的得分应该是A的分数诚意1/2∗α1/2*\alpha1/2α

论文阅读:Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba

排序学习

简介

Learning to Rank简介
NDCG通过评价一个排序中每个位置的文档的好坏,进而评价整个排序的好坏πi(j)\pi_i(j)πi(j)代表的是对于qiq_iqidjd_jdj处于的位置;yi,jy_{i,j}yi,j代表的是qiq_iqidjd_jdj的相关性;G(j)D(πi(j))G(j)D(\pi_i(j))G(j)D(πi(j))表示的是,对于查询iii得到的排序,文档jjj处于πi(j)\pi_i(j)πi(j)时的得分:G(j)G(j)G(j)与query-doc pair相关性成正相关;D(πi(j))D(\pi_i(j))D(πi(j))与所处位置负相关。
MAP也用于评价一个排序的好坏:MAP中yi,jy_{i,j}yi,j只能取{0,1},这个的意义在于保证P(j)P(j)P(j)在0到1之间,P(j)P(j)P(j)表示的是对于qiq_iqi的结果中,排在djd_jdj之前的所有文档的排序准确性,比如现在π(j)=4\pi(j)=4π(j)=4,然后排序结果的前四位的得分分别是{1,0,1,1},于是P(j)=0.75P(j)=0.75P(j)=0.75,也就是说前面4个排对了百分之75,PPP越高,说明前面的排序效果越好;AP代表着对于qiq_iqi得到的排序结果的前nin_ini位中,相关的文档的准确率的和除以相关的文档个数,所以就是平均准确率;
risk function的解释:对于qiq_iqi得到的文档序列记为Di={di1,di2,...,din}TD_i=\{d_{i1},d_{i2},...,d_{in}\}^TDi={di1,di2,...,din}T,那么(qi,Di)(q_i,D_i)(qi,Di)可以被映射为一个特征向量xi={xi1,xi2,...,xin}T\mathbf{x}_i=\{x_{i1},x_{i2},...,x_{in}\}^Txi={xi1,xi2,...,xin}T,如果fff是我们的模型,那么f(xik)f(x_{ik})f(xik)代表着一个预测,也就是对qi,dikq_i,d_{ik}qi,dik的相关性的预测,而yi={yi1,yi2,...,yin}T\mathbf{y}_i=\{y_{i1},y_{i2},...,y_{in}\}^Tyi={yi1,yi2,...,yin}T代表着qi,dikq_i,d_{ik}qi,dik的真实相关性。于是对于qiq_iqi最终的输出是F(xi)={f(xi1),f(xi2),...,f(xin))}T\mathbf{F}(\mathbf{x}_i)=\{f(x_{i1}),f(x_{i2}),...,f(x_{in}))\}^TF(xi)={f(xi1),f(xi2),...,f(xin))}T。进而对于qiq_iqi有了损失函数L′(F(xi),yi)L'(\mathbf{F}(\mathbf{x}_i),\mathbf{y}_i)L(F(xi),yi)
pointwise loss:L′(F(xi),yi)=∑j=1n(f(xij)−yij)2L'(\mathbf{F}(\mathbf{x}_i),\mathbf{y}_i)=\sum_{j=1}^n(f(x_{ij})-y_{ij})^2L(F(xi),yi)=j=1n(f(xij)yij)2
pairwise loss:L′(F(xi),yi)=∑j=1n−1∑k=j+1nϕ(sign(yij−yik),f(xij)−f(xik))L'(\mathbf{F}(\mathbf{x}_i),\mathbf{y}_i) = \sum_{j=1}^{n-1}\sum_{k=j+1}^n \phi (sign(y_{ij}-y_{ik}),f(x_{ij})-f(x_{ik}))L(F(xi),yi)=j=1n1k=j+1nϕ(sign(yijyik),f(xij)f(xik)),其中ϕ\phiϕ可以是hinge loss, exponential loss或者logistic loss等,共性就是sign(yij−yik),f(xij)−f(xik)sign(y_{ij}-y_{ik}),f(x_{ij})-f(x_{ik})sign(yijyik),f(xij)f(xik)同时大或者同时小,整体损失就小;是对排序的结果进行两两比较。所以本质上还是传统机器学习模型,只不过pairwise模型中带有“保证某两个文档的评分大小关系正确”的意味。举例来讲,某个预测相关性的模型,单看预测结果并不好,一个实际相关性一般的文章did_idi会被预测为很相关,但是pairwise说没关系,did_idi的预测结果只要比实际相关性更差的文档的预测结果高,就可以了。
可以看到这个上面式子没考虑排序内部的文档之间的前后顺序和关系,只要对应位置上的相关性预测真实相关性对上了,损失就低;但我们要的是好的在前面坏的在后面啊。
listwise loss:L′(F(xi),yi)=exp(−NDCG)L'(\mathbf{F}(\mathbf{x}_i),\mathbf{y}_i)=exp(-NDCG)L(F(xi),yi)=exp(NDCG),考虑了每个文档的位置

搜索评价指标——NDCG
BM25相关度打分公式
Introduction to Learning to Rank

Pairwise

Learning to Rank算法介绍:RankSVM 和 IR SVM
Learning to Rank算法介绍:RankNet,LambdaRank,LambdaMart
RankNet中:预测相关性概率PijP_{ij}Pij,代表着UiU_iUiUjU_jUj更相关的概率,两者相关性得分差距越大,UiU_iUi的相关性更有可能比UjU_jUj
ERR评分:RiR_iRi指的是第iii个文档有多大可能是相关的,而Rr∏i=1r−1(1−Ri)R_r\prod_{i=1}^{r-1}(1-R_i)Rri=1r1(1Ri)就代表了钱r−1r-1r1的文档不相关,但第rrr个文档相关的概率,除以一个rrr表示,排序越远端的文档(r大),对整体的ERR影响越小

机器学习排序算法:RankNet to LambdaRank to LambdaMART
Ranknet用的是神经网络,每次输入一个文档对,但两个文档用的是同一个网络,如si=f(xi),sj=f(xj)s_i=f(x_i),s_j=f(x_j)si=f(xi),sj=f(xj),然后根据doc pair自己定义了一个损失,这个损失类似于cross_entropy,然后用每个doc pair的损失对参数求导,对导数进行因式分解,拆出来了个λ\lambdaλ,把这个λ\lambdaλ可以看做力(为啥这样呢,你看剩下的那项,就是一个差)
然后lambdaRank把λ\lambdaλ进行了一点修改,纯经验的修改,加了个NDCGNDCGNDCG的差,接下来一样,做梯度

CTR预估

科普|大家都看得懂的CTR预估解析
CTR预估入门及各种模型介绍
CTR预估就是在预测用户点击还是不点击

计算广告CTR预估的特征处理方法
计算广告CTR预估系列(六)–阿里Mixed Logistic Regression
Behavior Sequence Transformer for E-commerce Recommendation in Alibaba简析
FiBiNET:结合特征重要性和双线性特征交互进行CTR预估
一种能自动抽取特征与特征interaction重要性的CTR模型
你真的懂点击率(CTR)建模吗?
简化2 举个例子 上一时刻的我 和这一时刻的我 不是同一个我

CTR校准

面向稀有事件的 Logistic Regression 模型校准
CTR预估值校正 - xiaobao的文章 - 知乎
CTR预估中负采样修正

数据

Introducing LETOR 4.0 Datasets
LETOR: Learning to Rank for Information Retrieval

优化

FTRL

各大公司广泛使用的在线学习算法FTRL详解

提到了投影,比如投影集合C是约束空间(例如可能是1范数的约束空间),所谓1范数约束空间,我理解就是,例如w1≤2w_1\le2w12这样

FTRL算法
这其实就是一个在线学习过程中的参数学习算法,解决的是在线学习中,数据是一个一个来的或者说一些一些来的,数据量比较小的时候,如何用这个比较小的数据量来实时地更新参数。第一篇博客里写到说梯度都是按样本一个一个来计算的,但是我觉得,也可以小批次小批次的来计算
普通的OGD是先求梯度,然后对这个梯度进行投影,OGD仍然不够稳定,所以就提出了FOBOS和FTRL,稳定、保证正则化、并且根据伪代码可以看出,FTRL可以保证稀疏性
做截断就是,当更新了k次以后,下一次如果某个参数仍然不满足要求,就对他进行手动的处理
理解FOBOS算法对后续理解很有帮助,简单理解就是先求一个梯度,然后基于这个梯度更新一次参数,然后不直接用这个参数,而是用这个参数再去解一个优化问题,用这个优化问题的输出作为下一次的模型参数
从最后的伪代码可以看出,梯度更新是按特征轴进行的,比如10个特征,先更新特征1对应的参数w_1,以此类推
参数更新不要偏离历史太远,可以看到FTRL的第二项最小的时候就是均值
understanding-FTRL-algorithm

多任务学习

阿里CVR预估模型之ESMM
详解谷歌之多任务学习模型MMoE(KDD 2018)
推荐系统遇上深度学习(九十二)-[腾讯]RecSys2020最佳长论文-多任务学习模型PLE
多目标学习在推荐系统的应用(MMOE/ESMM/PLE)
联合训练(Joint Training) 这里 实际上就是将损失换为对数似然的相反数,因为降低损失,实际上也就是在极大似然

【推荐与广告】积累与发现相关推荐

  1. 新书推荐 |《广告数据定量分析:如何成为一位厉害的广告优化师》

    新书推荐 <广告数据定量分析:如何成为一位厉害的广告优化师> 长按二维码 了解及购买 资深广告优化师和数据分析师撰写,宋星.吴俊等近10位专家推荐,快速提升广告优化师数据分析能力,总结SE ...

  2. 我的机器学习入门之路(下)——知识图谱、推荐、广告

    继上一篇<我的机器学习入门之路(中)--深度学习(自然语言处理)>,这一篇博客主要记录了我对知识图谱.推荐和广告等方向的一些涉猎与基础学习. 一.知识图谱 从自然语言处理到知识图谱,是一个 ...

  3. 基于深度学习的搜索、推荐、广告系统最全最新论文分享

    推荐系统是有效的信息过滤工具,由于互联网接入的增加.个性化趋势和计算机用户习惯的改变,这种工具非常普遍.尽管现有的推荐系统成功地产生了不错的推荐,但是它们仍然面临着诸如准确性.可伸缩性和冷启动等挑战. ...

  4. ClickHouse在字节跳动推荐和广告业务部门的最佳实践

    此次分享分为三部分内容,第一部分通过讲解推荐和广告业务的两个典型案例,穿插介绍字节内部相应的改进.第二部分会介绍典型案例中未覆盖到的改进和经验.第三部分会提出目前的不足和未来的改进计划. 一.早期实践 ...

  5. 推荐与广告 中的概念和指标

    推荐与广告 目录 推荐与广告 CTR(Click-Through-Rate)即点击通过率,CTR=实际点击次数/展示量,是互联网广告常用的术语, 基本介绍 点击率 点击量 计算公式为:CTR=实际点击 ...

  6. 有三AI高质量内容推荐(广告)须知

    为了维护社区内容质量,有三AI不接受任意软文广告,但是我们也愿意给大家推荐高质量的内容,当然是以付费的形式,收费会相对低廉. 文/编辑 | 言有三 平台简介与优势 关于有三AI平台的详细介绍,大家可以 ...

  7. 新一代算法模型:从搜索、推荐到广告!

    2021年8月15日,DataFunSummit:互联网核心应用算法峰会将如约而至.本次峰会的形式再次创新,由阿里妈妈与DataFun联合策划.DLP-KDD workshop主席团倾情参与,既包括顶 ...

  8. 排得更好VS估得更准VS搜的更全「推荐、广告、搜索」算法间到底有什么区别?...

    文 | 王喆 源 | 王喆的机器学习笔记 作为互联网的核心应用"搜广推",三个方向基本都是互联网公司的标配.各头部公司的搜广推系统也都各自发展成了集成了多种模型.算法.策略的庞然大 ...

  9. 搜索、推荐、广告中的曝光偏差问题

    作者 | wulc 整理 | NewBeeNLP 机器学习本质上是在学习数据的分布, 其有效性的假设是模型 training 和 serving 时的数据是独立同分布(Independent and ...

最新文章

  1. 用python下载美剧《天蝎》
  2. 安卓开发仿微信图片拖拽_使用Android 模仿微信朋友圈图片拖拽返回
  3. boost::spirit::karma::detail::format_manip相关的测试程序
  4. Google 开源图形着色器测试框架 GraphicsFuzz
  5. IntelliJ如何设置自动导包
  6. ubuntu好文收集
  7. VS2010与SVN
  8. java工具类使用_Java工具类使用注意事项
  9. SQL Server当中生成一定范围的随机数
  10. PHP实现程序单例执行
  11. c语言入门到精通怎么能少了这7本书籍?
  12. 学习Python大数据之后,将来主要能做什么?
  13. 学习Coverity codexm的一些资料
  14. 论文编写工具使用(1)latex软件
  15. windows系统下Redis下载安装与配置(内附蓝奏云下载地址)
  16. css实现背景图片的毛玻璃效果
  17. 设计师们如何高调拒绝免费工作
  18. 媒企农三方共建专属基地 探索助力吉林乡村振兴
  19. linux命令如何查看dns,详解Linux系统使用dig/nslookup命令查看dns解析的方法
  20. 隐私计算之数据隐私保护

热门文章

  1. 强大!一键转换LaTex公式,这款开源公式识别神器比Mathpix Snip更适合你
  2. Java 策略模式( Strategy Pattern)详解
  3. 怎么删除PPT设置的打印限制
  4. ChatGPT的主要应用场景例子
  5. 海康威视nas安全_确保NAS安全的6件事
  6. 尹世明:融合生态力量,引领智能变革
  7. Unity 数据读写与存档(1)——配置表初探
  8. iTerm2 都不会用,还敢自称老司机?(上)
  9. 深入浅出TensorFlow2函数——tf.data.Dataset.batch
  10. 坚持UGC 酷6走上网络视频健康化模式