推荐算法中扩大召回池
广告投放中实现人群扩充
(场景举例:
广告主需要对100w人投放,但是,从选取的基础数据包中,只有30w,那么如何满足100w的投放需求,这时,就需要通过lookalike的方式进行扩充,既要保证人群数量,又要确保人群的相似。
如果只是简单的从公共池中选取70w,完成100w的匹配,很有可能出现无效用户。例如:高级消费品,尽可能的投放给中高级消费,且具有该品类偏好的人群。)
出入参入参:种子用户/user 列表
出参:与输入user列表存在强关联(相似)的用户群
分类 原理具体细节优缺点基于相似度(Similarity-based)基于user-2-user之间的某种距离大小来衡量用户之间的相似度
衡量2个用户相似度的方式
fi是用户i的K-dimensional的特征向量
连续值
余弦相似度
离散值
优点简单缺点
复杂度高,难以在大规模数据集上进行。(候选用户量/种子用户量/特征维度)
如果候选集的用户量是N,种子用户量是M,计算相似度用到的特征维度是k的话,那么这种算法的时间复杂度就是O(kMN)。
衡量某个用户和一个用户群体的相似度
最大值Max:利用u1与seeds中相似度最大值作为u1与seeds的相似度 sim(u1,seeds)=Max(sim(uj,seeds))平均值Mean:利用u1与seeds中每个用户的相似度去均值作为整体相似度sim(u1,seeds)=Mean(sim(uj,seeds))基于概率:该方法要求用户之间的相似度在[0,1]之间。通过不相似度反向得到相似度。基于相似度扩展(主要以Yahoo提出的方法为例) (粗排)首先利用局部敏感哈希Locality Sensitive Hashing (LSH)来优化similarity的计算并构造全局图,目的是粗粒度滴筛选候选集。(精排)之后根据特征重要性对候选集进一步排序筛选。粗排
步骤
具体操作
特点
利用哈希函数将user的特征向量转为一组signature (类似于embedding ,对用户的特征矩阵进行降维)通过哈希映射
入参:特征向量
出参:signature
特征向量相似则转化后的signature也要很大概率相似;signature维度要远小于特征向量的维度根据signature形成用户的聚类clusters每个用户的signature的维度为H
将H维度的signature分为b个bands。这样每个band都包含r个signature的维度,且b*r=H只有用户在某个band中的所有r维signature都相等,他们才会被cluster进同一个bucket一个用户会进行b次cluster,从而进入b个不同的bucket对于给定的一个Seeds人群,每个用户都会对应一个bucket id列表,将这些buckets中的人群union在一起,就形成了Seeds的候选集合。其中b和r是超参数,需要根据实际情况进行调整
每个user都至少属于其中一个cluster同一个cluster中的用户具有很高的相似度。精排(特征排序)
pj:Seeds中存在feature j的用户比例
qj:候选集中存在feature j的用户比例
计算特征j的重要性:
计算用户的得分
基于逻辑回归模型(Regression-based)构建二分类问题
正样本种子用户"Seeds"负样本
所有非种子用户(不佳,会遗漏潜在兴趣用户)
or
非种子用户+限制:比如非种子用户中存在曝光、点击、浏览等行为但是没有转化的用户。但是对于新广告主或者新产品,存在冷启动(cold-start)问题
优点根据用户特征极大化seeds用户的概率缺点只要种子用户不同,训练样本就不同。定制化训练模型
每次营销活动都需要定制化训练模型,每次增加item都要重新训练模型,严重影响实时性。
基于Attention深度模型(Attention-based)
马太效应:新的新闻因为缺少用户和特征,导致分数很低,模型无法推荐。而热门的文章会一直在推荐的头部
解决马太效应的方法:提高推荐结果的多样性,让最新的新闻和长尾文章也可以触达人群
实时:实时在线预测
基于相似度扩展(主要以Yahoo提出的方法为例) 基于回归模型(Regression-based) 基于Attention深度模型(Attention-based)