无历史时推荐质量最低
别名: 冷启动 · 无历史推荐 · new-user problem
概念解释
协同过滤和多数个性化排序靠的是「这个人过去点过什么」。账号刚建立、隐私模式、清过历史、换设备尚未合并——这些状态下,可用的个体信号接近零。推荐冷启动(recommendation cold start)指:没有个人历史时,系统给出的相关度下限最低,此时列表反映的是全体热门、编辑精选或上下文猜测,而不是这个人。
冷的是用户侧历史,不是模型没训练过。模型可以很热,对这个人仍然冷。
机制
个体偏好是从交互里估出来的向量。观测为零时,估计退回到总体先验:头部品、投放中的条目、与当前上下文(时段、地点、设备)相关的大类。先验对「平均用户」最优,对刚进来的这个人方差极大。界面如果仍按「为你」来呈现,等于用最低质量的估计冒充个性化。
新物品冷启动是对称的另一半:条目没有被交互过,也无法进入协同近邻。用户冷与物品冷会叠在一起——新用户遇上新片,两边都没有锚。质量最低发生在这个交集,而不是「新用户看老热门」那一格。
怎么研究
把用户按历史长度分层:零交互、1–5、6–20、更多。在每一层用同一套离线协议(时间切分的召回与 nDCG 一类排序指标)和同一套线上对照。自变量:可用历史长度、是否允许用上下文特征、是否允许用社交/设备图。因变量:排序指标、首屏点击、把列表判为「不像给我的」的比例。
不要把新用户的热门基线当成个性化成功。热门在冷启动层几乎总会赢个性化模型——这不是模型好,是个体信号不足。报告必须按历史长度切开,否则热用户会把新用户的失败平均掉。
边界
基于内容的匹配(把「我在搜的这句话」直接当查询)不是个性化,冷启动伤害较小。强上下文场景(打开即听「跑步歌单」、扫码进店)先验本身就够用。强制登录且从别的产品线导入历史时,冷启动被转移而不是被解决。这条只断言「无历史时个体相关度最差」,不规定要用问卷来补,也不处理问卷把人问走。
怎么落地
- 零历史时不要用「为你」当栏目标题。改成「现在热门」「编辑在看」,让呈现与估计来源一致。
- 把冷启动当成独立通道:热门 + 编辑 + 显式上下文,而不是把空向量丢进为老用户调好的模型。
- 验证:用全新账号打开首屏,记下十条;再用一个有三个月历史的账号打开。若两条名单几乎一样却都写着「为你」,冷启动被假装成了个性化。