acAric
对
推荐系统实践
的书评
发表时间:2016-07-13 11:07:44
在学习任何技术,我们都在思考一个问题,有没有这个行业最好的,能解决所有问题的呢?
就如武侠小说里,所有人都在幻想一种顶级武功,简单易学,克敌制胜,分分钟秒杀敌人那种。
现实是不可能有。我们遇到的各种问题千奇百怪,针对每一件事我们都需要经过辩证的思考,又怎么会有一种技术站在行业的金字塔顶,解决一切呢?
对于推荐算法,作为小白鼠的我,也一直幻想我能不能学一种最NB的,而不用再看其他的,哈哈~
看完本书,基本了解各个推荐算法的基本原理。
1. 基于人口统计学的推荐算法
针对用户定义各种属性,针对特定属性进行分析,比如年龄相近,地域相近,我们可以说这是同一类用户。
但是现实中的情况如此复杂,用户的很多定义也是无法通过属性去定义的,比如三观。所以基于人口统计学的推荐算法,不够严谨,并且后续扩展不易(每时每刻都要增加用户的属性定义)
2. 基于内容的推荐算法
同人口统计学推荐算法一样,不同的仅仅是把人口换成了内容。比如一本书,定义这本书的基本属性,作者,类别等等。通过这些基本属性来找到相似的图书。
算法缺点同人口统计学是一样的。很多产品的属性定义没有那么明确,就会导致推荐系统的不准确。
3. 协同过滤算法
协同过滤算法,是目前最流行的推荐算法。而协同过滤算法也分为两种方式。
第一种,基于物品的协同过滤。基本思想就是:用户购买了IPhone,系统利用庞大的用户数据,计算物品的相似度,即很多购买了IPhone同时购买了IPhone外壳。使用余弦函数。(物品A购买次数 ∩ 购买物品A同时购买物品B的次数)/ (物品A购买次数 ∪ 购买物品A同时购买物品B的次数)。这样就计算出两个物品相似度的余弦值,然后通过排名该余弦值,推荐用户没有购买过的物品给予用户。
基于物品的协同算法,适合于购物网站,例如亚马逊。因为物品本身不多,并且物品的属性不易变更。
第一种,基于用户的系统过滤。基本思想,是计算两个用户之间的相似度。通过用户购买的物品的交集 / 用户购买物品的并集。 来计算两个用户之间的相似度,然后推荐给相关用户喜爱的信息。
基于用户的系统算法,适合于新闻网站,物品相对来讲非常多,且具有非常强的时效性,而用户相对来讲是比较少的
4. 基于标签的推荐算法
基于标签的推荐算法,是利用标签把用户和物品结合起来的算法,很好均衡了用户和物品之间的关系。
基本思想是:用户有经常使用的标签数据。 而每个物品都有标签,在每个标签下就会有最热门的物品。利用用户的标签数据,来匹配最热门的标签物品,推荐给用户信息。
不同的推荐算法,适合于不同的应用。或者需要结合多种推荐算法一起使用才能达到最后的效果。
了解这些推荐算法的类型,只是入门级别。进一步还需要深入进行研究,例如推荐算法的惩罚因素等等。
共勉。