和 News feed 相似,假如需要实现一个类似的系统,那应该建立全局模型还是个人模型?
指的是假设有用户集 X ,用户日志集 Y ,文章集 I ,是应该针对 Y 直接做建模,还是应该针对 X 拆出 Y 中的每个用户,对每个用户建模?
全局模型比较多用在广告上,因为用户的行为很少,很难体现用户个人的兴趣; 个人模型看起来很适合这个场景,但是数据是非常稀疏的,也非常难体现全局特征,人口统计学(年龄性别)也很难体现进来。
1
alexapollo OP |
2
pimin 2016-03-27 13:08:35 +08:00 via Android
比较建议个人模型
更符合个性化需求 类似 UC 浏览器,乐视视频那样引导用户选择大类或者特征比较明显的内容进行初始化 之后再不断根据行为特征进行判断。 对用户感兴趣的内容不断加权。 |
3
alexapollo OP @pimin 但是很明显,个人模型会出现泛化问题,在用户阅读数很少时、尤其是大多数用户选择的兴趣可能都很少时,个人模型是不顶用的 —— 它无法根据你的人口属性去做推荐。
而且这种特征并非个人模型不可。 换个方向讲, UC 、乐视这样的引导性内容是很合适放到全局模型里的,比如这样的 feature : * NBA :关注,姚明:关注, XMAN :关注 这和个人模型没有关系,而且好使(统计意义上)。 |
4
mfinal 2016-03-27 13:51:23 +08:00 via iPhone
|
5
road2stat 2016-03-27 13:55:02 +08:00 1
Global + Local:
The Learning Behind Gmail Priority Inbox https://research.google.com/pubs/archive/36955.pdf |
6
pimin 2016-03-27 14:05:13 +08:00 via Android
@alexapollo
资讯类我考虑了下,确实基于内容的模型可能更好些 因为基于用户行为的推送可能都是旧闻 这和影视 /读书区别比较大 命题其实就是 协同过滤和基于内容推荐系统的对比分析 这方面可以找到的讨论和算法都蛮多的 具体自己搜索一下 |
7
alexapollo OP @mfinal 一起用是可以的(也是我想做的),但算法上个人模型我觉得还是不够优雅:
把个人的 ID 归入全局模型,然后针对特征做交叉,或者用 FM 等天然交叉的算法,就可以既包含全局特征,又有个人特征。 这样的模型看起来就比较优雅,但计算量很大,而且 feature 很容易爆炸 |
8
alexapollo OP @pimin 用基于内容+协同过滤做多层模型,是现在比较标准的做法
|
9
alexapollo OP @road2stat 非常赞,多谢!
|