coursera课程 text retrieval and search engine 第六周 推荐。
推荐系统
推荐系统即把恰当的内容推送给用户,类似于在一系列文档中过滤出用户想要的。一般有两种方式:
1、 看用户喜欢什么样的东西,然后检验当前文档是否和用户喜欢的相似【content-based】;
2、 看喜欢特定文档的都是什么样的用户,然后看当前用户是否和他们一样[collaborative]。
传统的基于内容推荐模型是: 他存在如下问题:
- 必须做一个yes/no的决策
- 初始的数据很少,基本基于配置
- “学习”通过用户的yes判断,而且还要靠慢慢积累
通过向量模型可以做如下改进
1、 是它利用了TR已有的模型作为相关性【分数】计算
2、 对于初始的配置来讲也可以当做是一个向量用来和文档做计算分数
3、 通过阈值模型来做决定是否推送给用户,并对过滤的结果通过效用模型来评估
4、 用户得到的反馈之后反过来更新阈值学习和向量模型的学习系统
向量学习系统即调整向量本身的位置,和搜索类似
阈值模型困难在于:能被用户判断的数据都是送给用户的;开始的时候被标记的数据少;提供给用户一些试点的数据,看用户如何反应,太少了达不到效果,太多又会担心都是用户用不到的数据
Beta-Gamma阈值学习
y轴是实际的作用(比如有点击的),x轴是排序中的位置;
表示继续调低阈值那么推送过去的都是无效的;
表示阈值的上界,即只要大于这个阈值,基本都是有效的。它和
之间还有可能存在一定的数据是有用。衡量真实的取值则可以用
来表示:
一般来说,更偏向于,这样得到的数据显得更全面。但是有时候不需要显示这么多,可以通过训练来达到另一种取值方式
当训练的样本数足够的时候,认为已经足够了解用户了,那么
可以取较小的值,不够的时候,偏向于
)即可;训练样本的权重则通过
来控制