化繁为简:推荐算法三视角( 三 )


Translation-based推荐在序列建模中引入Metric Learning(把行为关系和高维空间距离映射起来),用户u,当前行为物品i,下一个物品j三者向量化表示,训练使得它们满足u+i≈j,推荐时只需拿到用户历史行为的物品向量加上用户向量得到下一个物品向量,然后在推荐集合中KNN寻找即可完成推荐 。

化繁为简:推荐算法三视角

文章插图
 
以前模型的输入形式有限,人们通过特征处理将数据组织成模型可以接受的形式;随着深度学习的发展,数据越来越倾向于保存其原有的形式,人们通过模型设计来学习有效的模式 。在时间线的视角下,直接用深度模型结构建模序列,预测下一物品,形成了一个可以发挥想象力和燃烧算力的领域——Sequential/Session-base推荐 。在2016年的时候,RNN是处理序列问题的标配,它从NLP领域走来,诞生了GRU4Rec算法 。受到NLP领域Char-CNN启发,CNN的结构也逐渐用于建模序列结构,Attention机制大火之后,RNN+Attention,CNN+Attention,RNN+CNN+Attention被枚举了一遍 。随着google老师的BERT取得NLP领域巨大成就,Self-Attention以及多层的Transformer结构开始成为序列建模的常规配置 。最近的文章里,图神经网络(GNN),Memory networks,变分自编码器(VAE)也成为了序列推荐领域的深度乐高积木 。
化繁为简:推荐算法三视角

文章插图
 
在CTR预估领域,越来越多的模型直接将用户历史行为序列按照时间顺序排列,使用深度模型结构直接建模 。
总结
其实如果要细数,还有一个视角叫做高维空间视角 。用户和物品都是一个高维度空间里的点,空间里点之间的距离越近,代表着物品和物品越相关,用户对物品越偏好,推荐问题转化成了如何将用户和物品嵌入到高维空间里 。典型的主题如Metric Learning 。不过这个视角的正交性不好,深度学习席卷推荐系统后,embedding是个太常见的思路,前面很多的方法也都是最终把问题转化成了高维空间嵌入,如graph-embedding,Transition-base推荐 。为了避免归类上的纠结;再加上任何一个深度网络作为Encoder把用户和物品embedding,都可以归在这个视角,没有那么多令人印象深刻的典型方法,就不做单独梳理了 。
To My Best Knowledge,我把自己认为推荐系统里经典且令人印象深刻的方法归在三种视角中——矩阵,图,时间线 。本来想谈谈认识的,写着写着写多了,变成了一篇梳理文章 。如果对你从偏算法的角度理解推荐系统有所助益,我就很开心了 。后面有所学习所得,也会持续更到这篇文章,感兴趣的收藏关注一下吧!




推荐阅读