推荐算法笔记06_冷启动

作者: Nefelibatas | 来源:发表于2022-02-02 10:33 被阅读0次

    什么是推荐系统的冷启动?

    新用户、新内容对推荐系统来说都是没有过往信息积累的、陌生的,需要通过累计一定的曝光量和互动量来

    收集基础数据。这个从0到1积累基础数据的过程就是冷启动,其效果的好坏直接关系到整个产品新用户的留存和转化,而用户留存和转化的提升是做冷启动优化的动力来源。

    冷启动分类

    用户冷启动

    • 主要解决如何对新用户做个性化推荐问题。当新用户到来时,没有其行为

      数据,无法根据其历史行为预测其兴趣,从而无法借此做个性化推荐。

    物品冷启动

    • 主要解决如何将新的物品推荐给可能对它感兴趣的用户。

    系统冷启动

    • 主要解决如何在一个新的网站上(没有用户,也没有用户行为,只有一些

      物品信息)设计个性化推荐系统,从而在网站方发布时就让用户体验到个

      性化推荐服务。

    哪些方面进行推荐系统的冷启动处理

    强规则 产品侧做、区分对待 固定展示位展示新物品、一定量流量展示新物品
    策略 排序队列做、区分对待 减少新物品的过滤等级、召回与排序固定百分比新物品
    模型 偏向新物品的算法 针对新物品(用户)的Embedding表示、独立的新物品排序模型

    冷启动的判断

    image-20220105133827333.png

    用户冷启动

    非个性化推荐(与具体用户无关)

    • 推送整体热门

    • 推送不同时间段热门

    • 推送各类排行榜

    尽可能收集用户信息

    • 新用户信息收集启动项

      • 人口统计学信息:年龄、性别、学历等

      • 人的兴趣描述启动项:音乐风格等。

    • 站外数据

      • 第三方 登录授权:微信

      • 购买数据公司数据:友盟

    • 算法对缺失或深层隐藏信息做预估

    推荐榜单设置

    • 比较热门、具有代表性、多样性和区分性

    启动项的树形结构

    • 专家知识

    • 算法模型(冷启动特征)

    image-20220105205438409.png

    利用已有用户信息进行粗粒度推荐

    • 利用专家经验和基础属性信息做更细粒度排行榜,热度榜

      • 基于性别、设备信息、网络信息、位置等用户和上下文信息相关的榜单

    利用算法和基础属性的做更细粒度榜单

    • 训练决策树模型构建叶子结点对应的冷启动榜单

    利用外部数据寻找相似用户做推荐

    • 微信好友,拼多多好友等

    少样本学习算法

    image-20220105205811635.png

    物品冷启动

    基于规则

    • 固定展示位上新物品随机推荐

    • 利用物品内容信息进行不同粒度匹配(图书分类)

    物品冷启动不敏感的算法

    • 协同过滤User-CF

    • look-alike相似人群扩展

    • 利用物品信息获取相似物品进行模型的推荐

    探索与利用策略

    探索与利用

    什么是ExplorationExploitation

    • Exploration

      • 寻找用户可能喜欢的新物品,或者说可能对这个新物品感兴趣的用户,探索用户可能感兴趣的信息
    • Exploitation

      • 充分利用已有信息,推荐最大价值或最感兴趣物品
    • 选餐厅:

      • Exploration :尝试新餐厅。

      • Exploitation:去最喜欢的餐厅。

    • 在线广告:

      • Exploration :展示些不同的广告。

      • Exploitation:展示最好的广告。

    ExplorationExploitation

    𝜀 − 𝐺𝑟𝑒𝑒𝑑𝑦 简单贪心
    𝑇ℎ𝑜𝑚𝑝𝑠𝑜𝑛 𝑆𝑎𝑚𝑝𝑙𝑖𝑛𝑔 汤普森采样
    𝑈𝐶𝐵 置信上界
    𝐿𝑖𝑛 − 𝑈𝐶𝐵 线性置信上界

    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.png

    https://zhuanlan.zhihu.com/p/69606875

    贝叶斯定理,是关于随机事件𝐴和𝐵的条件概率的定理

    image-20220105221742209.png

    Thompson Sampling中的贝叶斯定理

    image-20220105222045330.png image-20220105222128869.png

    伪代码

    image-20220105222205937.png

    UCB

    Tompson Sampling 类似,利用分布的不确定性作为探索强弱程度的依据

    过程:

    假设有𝐾个老虎机,对每个老虎机进行随机摇臂𝑚次,获得老虎机 𝑗 的收益的初始化经验期望 x^-_ 𝑗 用 𝑡 表示至今摇臂总次数, 𝑛_ 𝑗 表示第 𝑗 个老虎机至今被摇臂的次数,计算每个老虎机的𝑈𝐶𝐵值

    UCB(j) = x^-_j+\sqrt{\frac{2logt}{n_j}}

    选择𝑈𝐶𝐵最大的老虎机 𝑖 摇臂,并观察其收益𝑋𝑖,𝑡;

    根据 𝑋𝑖,𝑡 更新老虎机 𝑖 的收益期望值;

    重复第2步。

    Hoeffding’s Inequelity (霍夫丁不等式)

    image-20220105223403704.png

    总体分布与局部分布偏差大于一个值的概率不会太大

    image-20220105223339815.png

    Lin-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 图书馆图书分类)

    没有用户的行为数据,也没有充足的物品内容信息来计算准确的物品相似度

    专家(或算法)进行标注以便根据多维度特征表示向量计算物品相似度

    • 心情:用户观看电影的心情,比如功夫熊猫观众觉得幽默

    • 剧情:电影剧情

    • 类别:电影的类别,动画片,喜剧片,动作片

    • 时间:电影故事发生时间

    • 地点:故事发生的地点

    • 观众:电影的主要观众群

    • 获奖:电影的获奖和评价情况

    • 风格:功夫片、全明星阵容

    • 态度:电影描述故事的态度

    • 画面:电脑拍摄的画面技术

    • 标记:电影没有暴力色情内容

    模型参数迁移

    比如业务相似,旧业务模型迁移到新业务

    总结与回顾

    image-20220105231807201.png

    相关文章

      网友评论

        本文标题:推荐算法笔记06_冷启动

        本文链接:https://www.haomeiwen.com/subject/vbthkrtx.html