推荐系统学习笔记-冷启动

2023-11-08

简介

推荐系统的主要目标是将大量的标的物推荐给可能喜欢的海量用户, 这里涉及到标的物和用户两类对象。任何互联网推荐产品, 标的物和用户都是不断增长变化的,所以一定会频繁面对新标的物和新用户, 推荐系统冷启动问题指的就是对于新注册的用户或者新入库的标的物, 该怎么给新用户推荐标的物让用户满意,怎么将新标的物分发出去,推荐给喜欢它的用户。

另外,如果是新开发的产品,初期用户很少,用户行为也不多,常用的协同过滤、深度学习等依赖大量用户行为的算法不能很好的训练出精准的推荐模型, 怎么让推荐系统很好的运转起来,让推荐变得越来越准确,这个问题就是系统冷启动。

简单来说,新用户、新内容对推荐系统来说都是没有过往信息积累的、陌生的,需要通过累计一定的曝光量和互动量来收集基础数据。这个从0到1积累基础数据的过程就是冷启动,其效果的好坏直接关系到整个产品新用户的留存和转化,而用户留存和转化的提升是做冷启动优化的动力来源。

总之,推荐系统冷启动主要分为标的物冷启动、用户冷启动、系统冷启动三大类。

用户冷启动

主要解决如何对新用户做个性化推荐问题。当新用户到来时,没有其行为数据,无法根据其历史行为预测其兴趣,从而无法借此做个性化推荐

物品冷启动

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

系统冷启动

主要解决如何在一个新的网站上(没有用户,也没有用户行为,只有一些物品信息)设计个性化推荐系统,从而在网站方发布时就让用户体验到个性化推荐服务

重要性

用户不确定性需求是客观存在的,在当今信息爆炸的时代,用户的不确定性需求更加明显,而推荐作为一种解决用户不确定性需求的有效手段在互联网产品中会越来越重要, 特别是随着短视频、新闻等应用的崛起,推荐的重要性被更多人认可。很多产品将推荐业务放到最核心的位置(如首页),或者是整个产品的核心,比如今日头条等各类信息流产品及很多电商类产品。因此,新用户必须要面对冷启动这个问题。

从上面的介绍中可以知道,新用户、新标的物是持续产生的,对互联网产品来说是常态,是无法避免的,所以冷启动问题会伴随整个产品的生命周期。特别是当你投入很大的资源推广你的产品时, 短期会吸引大量的用户来注册你的产品(比如今年百度的春晚红包),这时,用户冷启动问题将会更加严峻,解决冷启动问题也会更加迫切。

既然很多产品将推荐放到这么好的位置, 而推荐作为一种有效提升用户体验的工具,在新用户留存中一定要起到非常关键的作用,如果推荐系统不能很好的为新用户推荐好的内容,新用户可能会流失。所以如果不解决冷启动问题,你的新用户一直会得不到好的推荐体验,极有可能会流失掉。

新用户的留存对一个公司来说非常关键, 服务不好新用户,并让用户留下来,你的用户增长将会停滞不前。对于互联网公司来说, 用户是公司赖以生存的基础,是利润的核心来源。可以毫不夸张地说,如果不能很好的留住新用户,让总用户健康的增长,整个公司将无法运转下去。因为互联网经济是建立在规模用户基础上的,只有用户足够多,你的产品才会有变现的价值(不管是会员、广告、游戏、增值服务,你的总营收基本线性依赖于用户数, 拿会员来举例说明,会员总收益=日活跃用户数付费率客单价)。同时,只有你的产品有很好的用户增长曲线, 投资人才会相信未来用户大规模增长的可能, 才能看得到产品未来的变现价值,才会愿意在前期投资你的产品。

面临的问题

我们一般对新用户知之甚少, 所以基本不知道用户的真实兴趣,从而很难为用户推荐他喜欢的标的物;
我们对新用户知之甚少的主要原因有:

(1) 很多APP也不强求用户注册时填写包含个人身份属性及兴趣偏好的信息,其实也不应该让新用户填写太多的信息,否则用户就嫌麻烦不用你的产品了。由于没有这些信息,我们没法得到用户的画像。

(2) 新用户由于是新注册的,在产品上的访问行为没有或者很少,不足以用复杂的算法来训练推荐模型;

对于新的标的物,我们也不知道什么用户会喜欢它,只能根据用户历史行为了解用户的真实喜好,如果新的标的物与库中存在的标的物可以建立相似性联系的话, 我们可以基于这个相似性将标的物推荐给喜欢与它相似标的物的用户。但是,很多时候标的物的信息不完善、包含的信息不好处理、数据杂乱,或者是新标的物产生的速度太快(如新闻类,一般通过爬虫可以短时间爬取大量的新闻),短时间类来不及处理或者处理成本太高,或者是完全新的品类或者领域,无法很好的建立与库中已有标的物的联系,所有这些情况都会增加将标的物分发给喜欢该标的物的用户的难度。

对于新开发的产品,由于是从零开始发展用户,冷启动问题就更加凸显,这时每个用户都是冷启动用户,面临的挑战更大。

一般的冷启动策略

提供非个性化的推荐(用户冷启动)
利用用户注册时提供的信息(用户冷启动、系统冷启动)
基于内容做推荐(用户冷启动、系统冷启动)
利用标的物的metadata信息做推荐(标的物冷启动)
采用快速试探策略(用户冷启动、标的物冷启动)
采用兴趣迁移策略(用户冷启动、系统冷启动)
采用基于关系传递的策略(标的物冷启动)

具体的冷启动策略

用户冷启动

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

推送整体热门
用户画像
推送不同时间段热门
推送各类排行榜

构建用户画像

在这里插入图片描述
尽可能收集用户信息
新用户信息收集启动项
1人的兴趣描述启动项: 音乐风格等
2人口统计学信息:年龄,性别,学历

站外数据
1微信
2合作方的数据
3算法对缺失或深层隐藏信息做预估

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

• 利用专家经验和基础属性信息做更细粒度排行榜,热度榜
基于性别、设备信息、网络信息、位置等用户和上下文信息相关的榜单
• 利用算法和基础属性的做更细粒度榜单
训练决策树模型构建叶子结点对应的冷启动榜单
• 利用外部数据寻找相似用户做推荐
微信好友,拼多多好友等
• 少样本学习算法

物品冷启动

概览

针对新上线的标的物,基于上述7大冷启动解决思路,可行的解决标的物冷启动的方案与策略有:

利用标的物的metadata信息做推荐
(1)利用标的物跟用户行为的相似性

可以通过提取新入库的标的物的特征(如标签、采用TF-IDF算法提取的文本特征、基于深度学习提取的图像特征等),通过计算标的物特征跟用户行为特征(用户行为特征通过他看过的标的物特征的叠加,如加权平均等)的相似性,从而将标的物推荐给与它最相似的用户。

(2) 利用标的物跟标的物的相似性

可以基于标的物的属性信息来做推荐,一般新上线的标的物或多或少都是有一些属性的,根据这些属性找到与该标的物最相似(利用余弦相似度等相似算法)的标的物,这些相似的标的物被哪些用户“消费”过,可以将该标的物推荐给这些消费过的用户。

采用快速试探策略
另外一种思路是借用强化学习中的exploration-exploitation思想,将新标的物曝光给随机一批用户,观察用户对标的物的反馈,找到对该标的物有正向反馈(观看,购买,收藏,分享等)的用户, 后续将该标的物推荐给有正向反馈的用户或者与该用户相似的用户。

该方法特别适合像淘宝这种提供平台的电商公司以及像今日头条、快手、阅文等UGC平台公司,他们需要维护第三方生态的繁荣,所以需要将第三方新生产的标的物尽可能的推荐出去,让第三方有利可图。同时通过该方式也可以快速知道哪些新的标的物是大受用户欢迎的,找到这些标的物,也可以提升自己平台的营收。

采用基于关系传递的策略
当产品在拓展标的物品类的过程中,比如视频类应用,前期只做长视频,后来拓展到短视频,那么对某些没有短视频观看行为的用户,怎么给他做短视频推荐呢?可行的方式是借用数学中关系的传递性思路,利用长视频观看历史,计算出用户的相似度。对新入库的短视频,可以先计算与该短视频相似的长视频,我们可以将该短视频推荐给喜欢与它相似的长视频的用户。

该相似关系的传递性可描述为:短视频与长视频有相似关系,长视频与喜欢它的用户有相似关系,最终得到短视频与用户有相似关系。

基于规则
固定展示位上新物品随机推荐
利用物品内容信息进行不同粒度匹配(图书分类)
物品冷启动不敏感的算法
协同过滤User-CF
look-alike相似人群扩展
利用物品信息获取相似物品进行模型的推荐
探索与利用策略

探索与利用

Exploration 与 Exploitation
Exploration :
寻找用户可能喜欢的新物品,或者说可能对这个新物品感
兴趣的用户,探索用户可能感兴趣的信息
Exploitation:
充分利用已有信息,推荐最大价值或最感兴趣物品
选餐厅:
Exploration :尝试新餐厅。
Exploitation:去最喜欢的餐厅。
在线广告:
Exploration :展示些不同的广告。
Exploitation:展示最好的广告。

对应算法

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

推荐系统学习笔记-冷启动 的相关文章

随机推荐

  • DVWA靶场01-系统命令执行漏洞利用及防护(Low/Medium/Hight)

    目录 01 Low 01 1 任意文件读取 01 2 小马实现Getshell 01 2 1 获取网站路径 01 2 2 写入一句话木马 01 2 3 连接一句话木马 01 3 设置后门 02 Medium 03 Hight 04 impo
  • 低代码平台实现原理

    整个可视化搭建系统分为三部分 分别是配置页 setting 视图页 view 和 json schema 配置页生成 json schema 视图页消费 json schema 基本原理 通过json schema保存用户所编辑的内容并保存
  • 《大话脑影像》之:趣谈散点图与相关系数

    最近不少读者对高大上的机器学习 动态脑网络 曲面形态指标共变网络感到爱不起 针对于此 我们特别推出一些基本的做脑功能的概念讲解 希望大家一步一步来 年轻人 不要动不动想一步登天 识得唔识得啊 那今天我们就谈谈这个相关系数 说起相关系数 从字
  • 如何将一个List按照某一个字段进行分组,并且得到一个顺序的Map

    首先 我们这里有一个对象 Data public class Pcr private String target 组 private String sample private Double cq private Double avgCq
  • 固定资产管理系统如何简化流程

    对于企业而言 管理固定资产是一项重要的任务 而如何有效地进行报销则是固定资产管理的关键环节 为了解决这个问题 许多企业引入了固定资产管理系统 那么 这个系统究竟能如何简化流程呢 固定资产管理系统可以实现无纸化报销 通过这个系统 员工可以在任
  • 《深度学习500问》,川大优秀毕业生的诚意之作

    前端工程师掌握这18招 就能在浏览器里玩转深度学习 基于知识图谱的人机对话系统 公开课笔记 来呀 AI喊你斗地主 美团大脑 知识图谱的建模方法及其应用 公开课笔记 60天 4位诺奖得主 他们将这样改造区块链 程序员的江湖 务必掌握这些黑话
  • ECMAScript 2022 正式发布

    ECMAScript 2022 现已获得 ECMA International的批准通过 ECMAScript 是标准化的 JavaScript 语言 于 1997 年发布了第一版 现已发展成为世界上使用最广泛的通用编程语言之一 本 Ecm
  • level design : in pursuit of better levels 原文以及中文译本

    level design in pursuit of better levels 关卡设计 追求更好的关卡 推特关卡设计大佬Alex TychoBolt 分享了一份他归纳的游戏关卡设计基础知识文档 Level Design In Pursu
  • 2022护网日记,护网工作内容、护网事件、告警流量分析

    作者主页 士别三日wyx 作者简介 CSDN top100 阿里云博客专家 华为云享专家 网络安全领域优质创作者 2022护网日记 一 监控设备 二 工作内容 三 安全事件 1 失陷主机排查 2 后门网站修复 四 告警流量分析 1 信息泄露
  • 基于dmclock分布式限流策略

    结合Cepb自身的特点 较为合理的做法是将QoS机制直接嵌入每个OSD中来实现 dmclock基本原理 mclock算法 mClock基本原理主要包含以下两个方面 1 为客户端设置一套QoS模板 并在每个1 0请求中携带该QoS模板 2 服
  • 第五天系统变量没有path变量如何添加

    作为新手小白 在第一次安装Java的时候 竟然神不知鬼不觉地把系统变量里面的path变量删除了 以至于在运行程序总是出错 难受想哭 现在就把我血的教训分享出来 对于不小心删除的path变量怎么恢复 我碰到的path变量会有两种故障情况 1
  • BeanUtils使用方法

    BeanUtils类可以帮助我们copy值到类的属性中 也可以copy一个对象到另一个对象 java view plain copy UserEO user new UserEO String key userName String val
  • JAVA网络编程 ——基于TCP的Socket编程(1)——实现服务器端与客户端的实时对话

    第一篇文章 我先介绍以及记录一下我所学的知识点 总结了一下视频老师讲的东西 一 HTTP与Socket 1 HTTP 超文本传输协议 特点 客户端发送的请求需要服务器端每次来响应 在请求结束之后主动释放连接 从建立连接到关闭连接称为 一次连
  • openGL ES3.0 glGetShaderInfoLog函数详解

    前言 glGetShaderInfoLog函数官方文档地址 Name glGetShaderInfoLog Returns the information log for a shader object C Specification vo
  • 前端发送axios请求报错Request failed with status code 500解决方案

    1 报错如下 2 因为后端的api是自己使用node express搭建的后台 然后要求请求头的参数格式为application x www form urlencoded的参数格式 打开报错请求 发现自己的请求头参数格式没有错误 jwt的
  • 2017.08.04 通过openGL纹理在Unity中获取摄像机图像

    主要代码如下 IEnumerator Start Image left new Texture2D m videoWidth m videoHeight TextureFormat ARGB32 false 在Unity中创建2D纹理 Im
  • 【SCL】博图SCL编程语言(1)

    初识博图scl语言 文章目录 目录 一 scl语言简介 1 介绍 2 相关问题 3 scl语言的编写环境 二 表达式和运算符 1 算术表达式 1 介绍 2 算术表达式使用 3 例题 2 关系表达式 1 介绍 2 使用 3 逻辑表达式 1 取
  • eclipse servers没有tomcat_Tomcat服务器入门详细教程

    前言 不是井里没有水 而是你挖的不够深 不是成功来的慢 而是你努力的不够狠 你好 我是梦阳辰 下面和我一起学习起来吧 文章目录 01 Tomcat概述 02 Tomcat服务器 03 使用Eclipse配置Tomcat服务器和新建项目 04
  • 关于2022年度深圳市重点实验室组建拟资助项目的公示

    各有关单位 根据 深圳市科技计划项目管理办法 有关规定 市科技创新委员会拟对2022年度深圳市重点实验室组建相关项目进行资助 现予公示 向社会征求意见 任何单位和个人对公布的项目持有异议的 请在公布之日起10天内以书面形式 注明通讯地址和联
  • 推荐系统学习笔记-冷启动

    简介 推荐系统的主要目标是将大量的标的物推荐给可能喜欢的海量用户 这里涉及到标的物和用户两类对象 任何互联网推荐产品 标的物和用户都是不断增长变化的 所以一定会频繁面对新标的物和新用户 推荐系统冷启动问题指的就是对于新注册的用户或者新入库的