协同过滤推荐算法(Collaborative Filtering Recommendation)
协同过滤算法在电子商务领域可以说是炙手可热,很多的电商平台都是使用的它来做的自己平台的商品推荐。
啥是协同过滤呢?
简而言之,就是找到相同兴趣的群体,将这个群体中感兴趣的其他信息推荐给用户。
我们用一个简单的例子来说明这个算法:
我喜欢看网络小说,但是,看网络小说最讨厌的是什么?就是书荒。一本书看完了,下一本看什么呢?挨个的翻开看几章?浪费时间。看书评吧,不是喷子就是托。
这个时候,协同过滤就有用了。
我是用户A,我喜欢看《极品家丁》、《斗破苍穹》、《诛仙》,这些是我的兴趣。怎么定义我的兴趣呢?可以是我看过超过100章的书,可以是我收藏的书,可以是我好评过的书,总之,我们要先行定义一个纬度。
我的兴趣有了,其他用户也会有同样的兴趣,当其他用户的兴趣和我的兴趣相同时,就可以把这些用户感兴趣的书都推荐给我了。
具体的实施步骤如下:
我们先要建立一个大表,X轴就是我们所有的小说(从数据库中可以获得),Y轴就是我们所有的用户(从数据库中可以获得)。
然后我们将每个用户感兴趣的小说在XY的交叉点中都标注出来(在日志中可以获得),也就如下表示:
标注出来以后,我们就可以看到,我这个葛大爷的爱好是《极品家丁》、《斗破苍穹》和《诛仙》,而张大爷和李大爷和我有相同的兴趣爱好。而张大爷和李大爷还比我多看了一些小说,而这多出来的部分,就体现除了协同,也就可以作为对我的推荐了。