LSH以及Look-alike 技术总结: Similarity-based,Regression-based,Attention-based

Look-alike技术是在线营销中用于人群拓展的方法,主要分为基于相似度、回归和注意力的模型。相似度模型通过计算用户间的相似度进行筛选,回归模型将Look-alike视为二分类任务,而注意力模型则结合深度学习实现实时预测。局部敏感哈希(LSH)用于优化相似度计算,降低复杂度。此外,文章还介绍了腾讯的实时注意力模型,适用于微信"看一看"的推荐场景,解决推荐系统中的多样性与实时性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果图片不完成请参考git page原文

Look-alike简介

Look-alike是在线营销活动中常用的一种技术,目的是根据广告主提供的用户,帮助其进行人群圈选。Look-alike的输入是一个user列表(可以是user id 或者电话号码等id标识),这个user列表可以是广告主上一次活动的人群,可以是广告主的已有用户中高净值人群等等。这个输入人群列表有个专有名次叫做“种子用户(seeds)”。而Look-alike的输出还是一个user列表,与输入user列表存在强关联(相似)的用户群。

在Look-alike中,我们要考虑很多因素

  • Performance: 效果是每个模型或者算法都要关注的方面,例如准确率、召回率、AUC等指标都可进行衡量;
  • Scalability: 模型可以处理的数据规模,这直接关系到算法的可用性,是否可以应用在大数据集上;
  • Real-time: 有些业务是要关注实效性的,如果是n+1的任务模型大可以花费10几个小时输出结果,但如果业务要求实时,那么就要对算法提出更高的要求。

Look-alike 分类介绍

Look-alike技术根据具体实现的算法,可以大致分为如下集中:基于相似度(Similarity-based), 基于相似度扩展(主要以Yahoo提出的方法为例), 基于回归模型(Regression-based), 基于Attention深度模型(Attention-based)

基于相似度(Similarity-based)的Look-alike

Similarity-based是最直接的一种实现Look-alike的方法,其中主要是基于user-2-user之间的某种距离大小来衡量用户之间的相似度。主流的相似度计算方法包括:针对连续值的余弦相似度(Cosine similarity)以及针对离散值的(Jaccard similarity):

lookalike_formula_1_20190722

两个user之间的相似度计算之后,那么怎么计算某个用户对seeds整体的相似度呢?一个用户u1与seeds整体的相似度可以总很多角度来考虑:

  • 最大值Max:利用u1与seeds中相似度最大值作为u1与seeds的相似度 sim(u1,seeds)=Max(sim(uj,seeds))
  • 平均值Mean:利用u1与seeds中每个用户的相似度去均值作为整体相似度 sim(u1,seeds)=Mean(sim(uj,seeds))
  • 基于概率:该方法要求用户之间的相似度在[0,1]之间。通过不相似度反向得到相似度。

lookalike_formula_2_20190722

总结: Similarity-based非常简单,但是复杂度过高,很难在大规模数据集上进行。如果候选集的用户量是N,种子用户量是M,计算相似度用到的特征维度是k的话,那么这种算法的时间复杂度就是O(kMN)。

基于回归(Regression-based)的Look-alike

这里将Look-alike看作一种二分类任务,采用如LR的二分类模型对其进行建模。
其中种子用户"Seeds"一般作为正样本,至于负样本的选择存在几种方式:

  • 所有非种子用户:这是最简单的方法,但并不是最好的方法。因为潜在兴趣用户可能存在其中
  • 非种子用户+限制:比如非种子用户中存在曝光、点击、浏览等行为但是没有转化的用户。但是对于新广告主或者新产品,存在冷启动(cold-start)问题

其实这个问题严格意义上属于PU Learning问题,这里不进行扩展。

总结: Regression-based的思路根据用户特征极大化seeds用户的概率,对应模型很多如LR、MF等。但是该方法依旧存在不足,每次营销活动都需要定制化训练模型,每次增加item都要重新训练模型,严重影响实时性。

基于相似度扩展的Look-alike

其中比较代表性的就是Yahoo雅虎提出的方法:A Sub-linear, Massive-scale Look-alike Audience Extension System。 该方法首先利用局部敏喊哈希Locality Sensitive Hashing (LSH)来优化similarity的计算并构造全局图,目的是粗粒度滴筛选候选集,之后根据特征重要性对候选集进一步排序筛选。

局部敏喊哈希Locality Sensitive Hashing (LSH)

LSH可以看作是一种简化计算similarity的方法,大体可以分为两个步骤:

    1. 利用一组哈希函数,将user的特征向量转化成一组signature,转化并不是拍脑袋来的,需要具备两个特征:(1)特征向量相似则转化后的signature也要很大概率相似;(2)如果采用H个hash函数,则会产生H个signature,那么signature矩阵的维度就是H,要远远小于特征向量的维度。
    1. 根据signature形成用户的聚类clusters,对于每个user都至少属于其中一个cluster。这样给定一个user,可以直接根据哈希函数转化,进而将user指派到相应的clusters中。根据signature构造的clusters具有这样的性质:同一个cluster中的用户具有很高的相似度。

因此,LSH不需要对用户之间进行两两比较,从而极大的优化了寻找相似用户的过程。对于特定的相似度方法如cosine和Jaccard等,都存在一种hash函数,经过hash转换后依旧保持相似性。下面以Jaccard相似性和MinHash为例

最小哈希MinHash

在LSH中的hash技术目的就是减少用户特征空间,同时保持原有的

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值