推荐算法笔记06_冷启动
什么是推荐系统的冷启动?
新用户、新内容对推荐系统来说都是没有过往信息积累的、陌生的,需要通过累计一定的曝光量和互动量来
收集基础数据。这个从0到1积累基础数据的过程就是冷启动,其效果的好坏直接关系到整个产品新用户的留存和转化,而用户留存和转化的提升是做冷启动优化的动力来源。
冷启动分类
用户冷启动
-
主要解决如何对新用户做个性化推荐问题。当新用户到来时,没有其行为
数据,无法根据其历史行为预测其兴趣,从而无法借此做个性化推荐。
物品冷启动
- 主要解决如何将新的物品推荐给可能对它感兴趣的用户。
系统冷启动
-
主要解决如何在一个新的网站上(没有用户,也没有用户行为,只有一些
物品信息)设计个性化推荐系统,从而在网站方发布时就让用户体验到个
性化推荐服务。
哪些方面进行推荐系统的冷启动处理
强规则 | 产品侧做、区分对待 | 固定展示位展示新物品、一定量流量展示新物品 |
---|---|---|
策略 | 排序队列做、区分对待 | 减少新物品的过滤等级、召回与排序固定百分比新物品 |
模型 | 偏向新物品的算法 | 针对新物品(用户)的Embedding表示、独立的新物品排序模型 |
冷启动的判断
image-20220105133827333.png用户冷启动
非个性化推荐(与具体用户无关)
-
推送整体热门
-
推送不同时间段热门
-
推送各类排行榜
尽可能收集用户信息
-
新用户信息收集启动项
-
人口统计学信息:年龄、性别、学历等
-
人的兴趣描述启动项:音乐风格等。
-
-
站外数据
-
第三方 登录授权:微信
-
购买数据公司数据:友盟
-
-
算法对缺失或深层隐藏信息做预估
推荐榜单设置
- 比较热门、具有代表性、多样性和区分性
启动项的树形结构
-
专家知识
-
算法模型(冷启动特征)
利用已有用户信息进行粗粒度推荐
-
利用专家经验和基础属性信息做更细粒度排行榜,热度榜
- 基于性别、设备信息、网络信息、位置等用户和上下文信息相关的榜单
利用算法和基础属性的做更细粒度榜单
- 训练决策树模型构建叶子结点对应的冷启动榜单
利用外部数据寻找相似用户做推荐
- 微信好友,拼多多好友等
少样本学习算法
image-20220105205811635.png物品冷启动
基于规则
-
固定展示位上新物品随机推荐
-
利用物品内容信息进行不同粒度匹配(图书分类)
物品冷启动不敏感的算法
-
协同过滤User-CF
-
look-alike相似人群扩展
-
利用物品信息获取相似物品进行模型的推荐
探索与利用策略
探索与利用
什么是Exploration 与 Exploitation ?
-
Exploration :
- 寻找用户可能喜欢的新物品,或者说可能对这个新物品感兴趣的用户,探索用户可能感兴趣的信息
-
Exploitation:
- 充分利用已有信息,推荐最大价值或最感兴趣物品
-
选餐厅:
-
Exploration :尝试新餐厅。
-
Exploitation:去最喜欢的餐厅。
-
-
在线广告:
-
Exploration :展示些不同的广告。
-
Exploitation:展示最好的广告。
-
Exploration 与 Exploitation:
𝜀 − 𝐺𝑟𝑒𝑒𝑑𝑦 | 简单贪心 |
---|---|
𝑇ℎ𝑜𝑚𝑝𝑠𝑜𝑛 𝑆𝑎𝑚𝑝𝑙𝑖𝑛𝑔 | 汤普森采样 |
𝑈𝐶𝐵 | 置信上界 |
𝐿𝑖𝑛 − 𝑈𝐶𝐵 | 线性置信上界 |
Multi-armed bandit(多臂老虎机)
假设你进了一家赌场,面前有K台老虎机(Arms)。老虎机本质上就是个运气游戏,我们假设每台老虎机𝐴𝑟𝑚𝑖 都有一定概率𝑝𝑖吐出一块钱,或者不吐钱( 概率1 − 𝑝𝑖 )。
假设你手上只有 𝑇 枚代币。也就是说你一共只能摇𝑇次。 (tokens),而每摇一次老虎机都需要花费一枚代币,
那么如何做才能使得期望回报(expected reward)最大呢?
假设你一开始对这些机器的吐钱概率一无所知。你认为每个𝐴𝑟𝑚𝑖的𝑝𝑖是个确定的值。
你的任务就是要在有限的时间内找到那些高𝑝𝑖的机器,并尽可能多的去摇它们,以获得更多的回报。
那么这里我们注意到这类问题的一大特点,即我们只有T次机会。
如何去平衡这次的exploration(探索)和exploitation(利用)𝑇 的次数。
𝜀 − 𝐺𝑟𝑒𝑒𝑑𝑦
方法A
随机地摇N次老虎机,每次摇都是相互独立的,但是这种方法每次摇的老虎机很大概率都不是出钱概率最大的。
方法B
首先随机摇𝑚(𝑚 < 𝑁)次,然后选择这𝑚次中平均收益最大的那台老虎机,在剩余次数中一直摇这台机器。 𝑚往往不能太大,成本有限。因此这种方法选择出的老虎机也有可能不是概率最大的那台。
𝜀-Greedy方法
• 设定一个参数ε 𝜖 (0,1]
• 每次通过ε的概率随机选择, 1 − ε 的概率选择当前平均收益最大的
• Exploitation-Exploration的思路
• Exploitation是在已经累数据的基础上最大化收益
• Exploration是探索未知,增加数据积累
𝜀-Greedy改进
随着次数的增加不断减少𝜀,例如: 1/(log 𝑚 +10.00001)
Thompson Sampling
伯努利分布(Bernoulli distribution,又名两点分布或者0-1分布,是一个离散型概率分布。若伯努利试验成功,则伯努利随机变量取值为
机变量取值为0,记其成功概率为𝑝(0 ≤ 𝑝 ≤ 1),失败概率为𝑞 = 1 − 𝑝。则
image-20220105220930902.png二项分布是𝑛个独立的伯努利试验中成功次数的离散概率分布,其中每次试验的成功概率为p
如果随机变量𝑋服从参数为𝑛和𝑝的二项分布,记做𝑋~𝑏(𝑛, 𝑝)或𝑋~𝐵(𝑛, 𝑝)
image-20220105221544314.png贝塔分布,简称𝐵分布,是指一组定义在(0,1)区间的连续概率分布,有两个参数𝛼,𝛽 > 0
image-20220105221616668.png image-20220105221654834.pnghttps://zhuanlan.zhihu.com/p/69606875
贝叶斯定理,是关于随机事件𝐴和𝐵的条件概率的定理
image-20220105221742209.pngThompson Sampling中的贝叶斯定理
image-20220105222045330.png image-20220105222128869.png伪代码
image-20220105222205937.pngUCB
同Tompson Sampling 类似,利用分布的不确定性作为探索强弱程度的依据
过程:
假设有𝐾个老虎机,对每个老虎机进行随机摇臂𝑚次,获得老虎机 𝑗 的收益的初始化经验期望 x^-_ 𝑗 用 𝑡 表示至今摇臂总次数, 𝑛_ 𝑗 表示第 𝑗 个老虎机至今被摇臂的次数,计算每个老虎机的𝑈𝐶𝐵值
选择𝑈𝐶𝐵最大的老虎机 𝑖 摇臂,并观察其收益𝑋𝑖,𝑡;
根据 𝑋𝑖,𝑡 更新老虎机 𝑖 的收益期望值;
重复第2步。
Hoeffding’s Inequelity (霍夫丁不等式)
image-20220105223403704.png总体分布与局部分布偏差大于一个值的概率不会太大
image-20220105223339815.pngLin-UCB
老虎机问题中,老虎机吐钱概率是固定的,谁摇都一样。前面的方法解决这类问题的效果比较好,这些方法称为Context Free方法,即上下文无关的方法。
在系统推荐过程中,可以把选择哪个物品理解为老虎机的选择问题,是否吐钱理解为用户是否点击,但是物品是否被点击不只与物品本身相关,还和很多因素相关,这些因素称作Contextual信息
考虑Contextual信息的Bandits问题,称作Contextual Bandits
雅虎提出Lin-UCB算法:
A contextual-Bandit Approach to Personalized News Article Recommendation
image-20220105231344692.png image-20220105231428673.png工业实践:
https://zhuanlan.zhihu.com/p/35753281
不确定度量:
https://zhuanlan.zhihu.com/p/139470659
贝叶斯优化:
https://zhuanlan.zhihu.com/p/150555551
基于模型
几种思路:
-
利用相似物品
-
使用相似物品信息,将物品id替换关联物品id(或embdding替换);
-
使用相似物品的统计特征替换新物品样本特征;
-
关键是确定相似物品(聚类,层级关系等)
-
-
模型适应新物品
-
随机选择5%样本作为新广告来训练简单模型
-
将新物品id置为随机值(失效)或固定值
-
强化学习
注:冷启动模型一般不用id类特征
系统冷启动
发挥专家作用(e.g 图书馆图书分类)
没有用户的行为数据,也没有充足的物品内容信息来计算准确的物品相似度
专家(或算法)进行标注以便根据多维度特征表示向量计算物品相似度
-
心情:用户观看电影的心情,比如功夫熊猫观众觉得幽默
-
剧情:电影剧情
-
类别:电影的类别,动画片,喜剧片,动作片
-
时间:电影故事发生时间
-
地点:故事发生的地点
-
观众:电影的主要观众群
-
获奖:电影的获奖和评价情况
-
风格:功夫片、全明星阵容
-
态度:电影描述故事的态度
-
画面:电脑拍摄的画面技术
-
标记:电影没有暴力色情内容
模型参数迁移
比如业务相似,旧业务模型迁移到新业务