千人千面精准推荐机制之大白话细解协同算法 (2)

在推荐系统中这个整个过程就可以理解为模型的训练,因为真实的场景中数据维度很多,不可能像我们这个简单的例子;真实场景中我们需要用到的如协同过滤LFM、ALS算法、LR逻辑回归等算法

总结一下

算法

Plain Text

就是一种解决问题的思路算法公式。

模型:理解为一段程序

Plain Text

是通过算法+数据进行分析过程的一段程序。

需要数据作为入参,程序体作为算法;执行后返回具体的推荐数据。

所以数据量、维度的多少会直接影响模型的准确率

下面我们来介绍一下在推荐系统中常用到的算法

传统推荐算法

我们还是来举个案例,有个图书平台,需要开发个推荐系统,现在拥有的已知数据如下

千人千面精准推荐机制之大白话细解协同算法

我们发现上图中列为书名,行为用户;里面的值1代表已读。值为空的代表没有读过。那么现在基于这些数据如何进行推荐呢?我们来看看传统的推荐思路

基于用户的协同过滤算法(UserCF)

本质从用户角度出发

首先需要找到和他们看了同样书的其他用户,然后给他们推荐那些用户喜欢的其他书,也就是从用户共性出发。这种思路专业术语就是UserCF

如上面的例子,张三和李四都看了《java编程思想》,那么系统就认为二者有共性。

所以就推荐给张三,李四曾经看过的书《孙子兵法》。

那推荐给李四的书,即是张三曾经看过的《人人都是产品经理》

基于物品的协同过滤算法(ItemCF)

本质从商品角度出发

需要给他们推荐和他们已经看的书相似的书

就是从书的共性出发,张三看了《JAVA编程思想》,属于IT方面的书籍,那么系统可以推荐给张三《大前端自我修养》或《游戏开发》。这种思路专业术语就是ItemCF

UserCF与ItemCF

从两个算法的原理可以看到,UserCF的推荐结果着重于反映和用户兴趣相似的小群体的热点,而ItemCF的推荐结果着重于维系用户的历史兴趣。换句话说,UserCF的推荐更社会化,反映了用户所在的小型兴趣群体中物品的热门程度,而 ItemCF的推荐更加个性化,反映了用户自己的兴趣传承。

UserCF适用场景

Plain Text

1)在新闻网站中,用户的兴趣不是特别细化,绝大多数用户都喜欢看热门的新闻。即使是个性化,也是比较粗粒度的,比如有些用户喜欢体育新闻,有些喜欢社会新闻,UserCF可以给用户推荐和他有相似爱好的一群其他用户今天都在看的新闻,这样在抓住热点和时效性的同时,保证了一定程度的个性化。

2)UserCF 适合用于新闻推荐的另一个原因是从技术角度考量的。因为作为一种物品,新闻的更新非常快,每时每刻都有新内容出现,而ItemCF需要维护一张物品相关度的表,如果物品更新很快,那么这张表也需要很快更新,这在技术上很难实现。绝大多数物品相关度表都只能做到一天一次更新,这在新闻领域是不可以接受的。而 UserCF 只需要用户相似性表,虽然UserCF对于新用户也需要更新相似度表,但在新闻网站中,物品的更新速度远远快于新用户的加入速度,而且对于新用户,完全可以给他推荐最热门的新闻,因此 UserCF 显然是利大于弊。

ItemCF适用场景

Plain Text

1)在图书、电子商务和电影网站,比如亚马逊、豆瓣、Netflix中,ItemCF 则能极大地发挥优势。首先,在这些网站中,用户的兴趣是比较固定和持久的。这些系统中的用户大都不太需要流行度来辅助他们判断一个物品的好坏,而是可以通过自己熟悉领域的知识自己判断物品的质量。因此,这些网站中个性化推荐的任务是帮助用户发现和他研究领域相关的物品。此外,这些网站的物品更新速度不会特别快,一天一次更新物品相似度矩阵对它们来说不会造成太大的损失,是可以接受的。

千人千面精准推荐机制之大白话细解协同算法

总结

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygyyg.html