首先声明。下面的内容项目被视为光明《推荐系统实践》后 书面。从书的基本内容。我只是再次总结他们这(为了避免喷雾器和喷雾)
推荐系统,有三种方法来测试所述建议的评价的效果:
1)离线实验。
户的行为数据,然后将数据集分成训练数据和測试数据。比方80%的训练数据和20%的測试数据(还能够交叉验证),然后在训练数据集上训练用户的兴趣模型,在測试集上进行測试。 长处:仅仅须要一个数据集就可以,不须要实际的推荐系统(实际的也不可能直接拿来測试)。离线计算,不须要人为干预。能方便快捷的測试大量不同的算法。缺点是无法获得非常多实际推荐系统的指标,比方点击率,比方转化率(谁让没有人为干预呢。。
)
2)用户调查。
离线实验往往測的最多的就是准确率,可是准确率不等于惬意度,所以在算法上线之前,须要用户调查一下,測试一下用户惬意度。
3)AB測试,通过一定的规则把用户随机分成几组,并对不同组的用户採用不同的推荐算法,这种话可以比較公平的获得不同算法在实际在线时的一些性能指标。可是缺点是周期比較长,须要长期的实验才干得到可靠的结果。
怎样推断一个推荐系统好不好。基本的測量指标例如以下:
1)用户惬意度。
这是最最关键的指标,推荐系统推荐物品干嘛,就是希望推荐出来的物品能让用户惬意。能够有两种方法。一是用户问卷调查。二是在线评測惬意度,比方豆瓣的推荐物品旁边都有惬意和不惬意的button,亚马逊这样的能够计算推荐的物品有没有被用户购买等等,一般用点击率,用户停留时间,转化率等指标来度量。
2)预測精确度。假设是类似电影评分机制。则一般计算均方根误差(误差平方和取均值)和平均绝对误差(误差绝对值和取平均)。假设是topN推荐的话,则主要计算召回率和准确率。
准确率就是指我推荐的n个物品中有多少个是对的,其所占的比重。 召回率则是指正确结果中有多少比率的物品出如今了推荐结果中。两者的不同就是前者已推荐结果个数当除数,后者已正确结果个数当除数。
3)覆盖率。 就是指推荐出来的结果能不能非常好的覆盖全部的商品,是不是全部的商品都有被推荐的机会。
最简单的方法就是计算全部被推荐的商品占物品总数的比重,当然这个比較粗糙,更精确一点的能够信息熵和基尼系数来度量。
4)多样性。推荐结果中要体现多样性,比方我看电影,我既喜欢看格斗类的电影,同一时候又喜欢爱装文艺,那么给我的推荐列表中就应该这两个类型的电影都有。并且得依据我爱好比例来推荐,比方我平时80%是看格斗类的,20%是看文艺类的,那么推荐结果中最好也是这个比例。能够依据物品间的相似度来计算。一个推荐列表中假设全部物品间的相似度都比較高,那么往往说明都是同一类物品。缺乏多样性。
5)新颖性。不能说系统推荐的物品事实上我都知道,那这样推荐系统就全然失去了存在的意义,一般都希望推荐一些用户不知道的商品或者没看过没买过的商品。方法一是取出已经看到过买过的商品,但这还不够,通常会计算推荐商品的平均流行度。由于通常越不热门的物品越会让用户认为新颖。比方我爱周星驰。那么推荐《临岐》就非常有新颖性,由于大家都不知道这是周星驰出演的
6)惊喜度。
这个和新颖度还是有差别的。惊喜度是讲我直觉想不出来为什么会给我推荐这物品。比方电影,可是我看了之后认为非常符合我的胃口。这就是惊喜度。像上面一个样例,仅仅要我知道是周星驰演的,那可能就没什么惊喜度,由于我知道是由于演员才给我推荐的这部电影。
注:新颖性和惊喜度临时没有什么能够度量的标准
7)信任度。假设用户信任推荐系统。那么往往会添加与推荐系统的互动,从而获得更好的个性化推荐。添加信任的方法往往是提供推荐解释。即为什么推荐这个商品,做到有理有据。也能够通过类似facebook间的好友关系来添加信任度,一般相比于陌生人的推荐,总会选择好友给的推荐。
8)实时性。
新闻等一些物品具有非常强的实时性,一般得在具有有效性的时候进行推荐。必须考虑推荐系统处理物品冷启动的能力。
9)健壮性。要能防止被攻击,比如有些商家为了提高自己的排名。注冊非常多假的帐号。给与自己的商品高分这样类似的情况。要能防止。
10)商业目标。 一般推荐系统都是为了更好的盈利。
。
。。。当然,更多的不可预测。
。
。
版权声明:本文博客原创文章,博客,未经同意,不得转载。