推荐系统入门学习(一)
前言:本博客不会采取大量的难懂的语言来介绍推荐系统,只会用一些简单的方式来介绍推荐系统,祝学习愉快!
1、推荐系统的概念
简单的说,推荐系统则是将产品推荐给用户的一个系统。将自己的产品推荐给用户以达到自身的商业目的,则是推荐系统的存在意义。面对成千上万的海量数据,推荐系统对用户来说也有一定的意义,比如说可以只给用户想看的,而过滤掉那些不想看的。
2、推荐系统的应用
- 音乐推荐系统和视频推荐系统希望推荐用户喜欢的视频,以增加用户的粘稠度(希望用户在这个平台的时间更多一点)
- 商品推荐系统希望推荐用户喜欢的商品,以增加用户购买商品的可能性,可以增加店家的收入。
- …
3、什么是一个好的推荐系统
针对不同的商业机构,一个好的推荐系统的定义并不是绝对的。不同的公司有不同的目的,对于推荐系统的需求也就各不相同了。
4、推荐系统的评价指标
与一个好的推荐系统类似,其实推荐系统的评价指标也并不是唯一绝对的。我们在做机器学习算法的时候,对于一个想要一个好的推荐系统,我们可能会尽量的让算法的评分够高,计算精确度。其实这是推荐系统中的一种评判方法,即离线的机器学习算法。下面介绍几种其他的评判办法。
(1)召回率
召回率:你所推荐的商品,占测试集中的推荐商品数目的多少。对所有用户求和即可得到召回率。T(u)表示用户在测试集上的推荐商品数目的列表,R(u)表示你所推荐的用户的商品列表。
(2)准确率
准确率:你所推荐的商品,有多少是用户真正想要的?对所有用户求和即得到准确率。同理T(u)表示用户在测试集上的推荐商品数目的列表,R(u)表示你所推荐的用户的商品列表。
(3)覆盖率
覆盖率:你所推荐的商品,有没有覆盖你所有的商品?用所有的推荐的商品总数除以所有商品总数即得到覆盖率。好的覆盖率应当是接近100%的。
(4)多样性
多样性要通过物品之间的相似度来定义。一个好的推荐系统应当足够多样化,帮助用户发掘自己可能喜欢的,但暂时没有见过的产品。
(5)新颖度和惊喜度
新颖度指的是推荐的商品需要有新的东西,而不是一直都是一类的产品。而惊喜度则在新颖性之上,希望给用户推荐的产品是用户之前没有见过,但非常喜欢的。二者都依托于多样性。新颖度和惊喜度没有统一的定义标准。
(6)其他特性
实时性指的是需要有实时推荐,用户可能在白天喜欢浏览衣服,而晚上喜欢浏览鞋子,如果没有实时推荐系统,而将所有的数据全部离线计算,那么第二天得到的推荐结果可能不足够让用户满意。
健壮性指的是该推荐系统应该足够健壮,不能非常容易遭到攻击。比如有一个商家非常想让自己的产品被推荐,于是注册大量账号浏览自己的商品。这样给自己家的产品带来的极大的流量,如果推荐系统给予“浏览商品”的权重很大,则该商品很有可能成为热门商品,被更多人看见。
信任性指一个好的推荐系统会告诉用户,该推荐产品从何而来?这样能够提示用户的信任度。
特别注意
推荐系统最终的目的是“让用户满意”,所以问卷调查是对于评测推荐系统的一个非常好的指标。还可以通过在线实验(例如AB实验)来间接获取用户对系统潜在的评价。AB实验:将用户随机分流,测试不同的推荐算法用户的留存度,获取潜在评价。但是AB实验存在一定局限性,因为所有用户的各种属性,如年龄、地区得分流均匀,况且分流也与前端存在一定的联系。
总结
推荐系统是将产品推荐给用户的一个系统,评测方法有很多,有离线的机器学习算法的精确度、召回率、准确率等,还有近几年兴起的指标,惊喜度,多样性等等。
推荐系统的最终目标是为商业服务的,所以具体的评判标准是根据不同的商品目标而不同的。