【今生是第一次】-学推荐系统(2)
目前学习进度:

这两日最难理解的概念便是“离线测试”和TopN推荐的预测准确率的计算,书中逐渐开始通过公式来解释定义了,对于我这种人力资源管理但是大学学了五个学期数学勉强及格的数学渣实在是有点怕。
预测准确率评测指标
1、用户满意度可以用点击率、用户停留时间、转化率、调查问卷来度量。
2、预测准确度
①评分预测
评分预测的准确度一般通过均方根误差和平均绝对误差计算。在表中查看时可以对比每个用户对某物品的实际评分和算法预测出来的评分。但我们不是为了预测用户会打多少分而坐推荐系统,我们是要给用户推荐他可能感兴趣的内容,只有看完了他才会评分。所以预测用户是否会看你系统推荐的内容更为重要。书后面会讲到如何去分析用户行为计算用户偏好,非常期待看到那里~
②TopN推荐
预测准确率=准确率除以召回率,这个可以理解,推荐命中了的除以总数嘛~
准确率=根据用户行为给用户做的推荐列表与用户在测试集上的行为列表的交集的总和 / 总推荐列表,这个也可以理解,预测准了的除以总推荐的嘛~
召回率=预测准了的 / 用户实际行为列表的总和,这个我想了半天,就是实际该发出来的内容列表除以本来想推荐的总的列表就等于召回率?怎么感觉还是猜对了用户行为的比率呢。。。问了微信上的大大,他说如果你召回数是1,正好命中了用户行为,那召回率就是百分之百,我们的目标就是召回的都命中。我想因为只有这样才能更好的把长尾的物品也分发出去给用户展现吧,这样才是一个好的推荐系统。我的理解能力真是差啊~
3、覆盖率
描述一个推荐系统对物品长尾的发掘能力,简单的定义为推荐系统能够推荐出来的物品占总物品集合的比例。覆盖率是内容生产者会关心的指标,这里我打算以后仔细观察一下淘宝的猜你喜欢相关推荐,是在哪些环节收集了我的行为数据然后做出了什么判断进而我推荐什么内容。 这里很重点要注意的一个点是避免“马太效应”,即越是热度大的头部内容越分发的多,越是长尾的内容越是不被看到。评测推荐系统是否具有马太效应的办法是使用基尼系数。基尼系数在经济学上我们经常用来表现贫富差距,在这里也是相似的意思。如果从推荐列表中计算出的物品流行度高于初始用户行为中计算出的物品流行度,那这个推荐系统就不是一个好的推荐系统,具有马太效应。因为做推荐系统的初始就是由于信息过载,导致一些尾部的也可能较好或者有匹配用户的内容不能被看到,如果还是具有强者更强弱者更弱的效应,那此推荐系统就存在问题。
4、多样性
用户的兴趣会随着时间地点年龄等等因素变化,而且每个人也都会有多领域的兴趣,比如爱重口味电影的人也可能喜欢民谣音乐,喜欢看悬疑小说的人也可能会看散文,所以好的推荐系统应该有整体多样性。可以定义为所有用户推荐列表多样性的平均值。在做推荐系统时需要通过用户行为数据在不同分类内容上的比例计算出给他推荐的列表是什么。
描绘物品间相似度根据不同物品可以用不同的函数,可以用内容相似度描述物品间的相似度得到内容多样性函数,也可以根据协同过滤,得到协同过滤的多样性函数。
关于内容相似度推荐与协同过滤推荐有什么不同可以看这篇回答:协同过滤和基于内容推荐有什么区别? 因为我们知道协同过滤是包括利用用户间的相似度、物品间的相似度来做推荐的,但是内容推荐和协同过滤有时会混淆。
5、新颖性
评测新颖度最简单的办法是利用推荐结果的平均流行度,越不热门的物品可能让用户觉得新颖。
或者采用更简单的方法:这个用户没看过的物品就给他推荐。
但是不同人对物品的了解程度不同,所以要对用户精确的统计新颖性的调查。
6、惊喜度
如果推荐结果与用户历史行为和兴趣不相符,但是却让用户满意,就可以说推荐结果的惊喜度很高。比如我一直喜欢吃川菜,但是给我推荐了个云南菜我尝试了一下觉得很好吃,我加入了收藏或者点了高的评分。提高推荐惊喜度需要提高推荐结果的用户满意度,同时降低推荐结果和用户李世兴趣的相似度。
7、信任度
这是有些文章说的“专家推荐法”或“知识推荐法”,用户对推荐系统有信任才会产生更多的交互行为,尤其是电商产品,用户对推荐系统的信任大大影响购买率。用用户信任的方式推荐会比广告形式推荐效果好很多。提升方法主要两种:①增加推荐系统透明度,即提供解释,直观的体验是在爱奇艺头条、腾讯视频、UC头条等产品点不感兴趣的理由时,让用户了解了推荐系统的运行机制,才会更高用户推推荐系统信任度。②利用用户社交网络信息,利用好友关系做推荐的解释,比如“你的微信好友xxx也关注了此话题”“你的好友也购买过xxx”8
8、实时性
新闻类的物品具有很强的时效性、需要把新加入的物品推荐给用户、实时的更新推荐列表来满足用户新的行为变化。如果推荐列表在用户有腥味前后变化不大说明推荐系统实时性不高。
9、健壮性
比如搜索引擎会遭到攻击让不法分子提高自己的商业利益一样,推荐系统也会,所以需要利用模拟攻击,在向数据注入噪声数据之后再次给用户生成推荐列表,然后通过对比攻击前后的相似度测评算法的健壮性。
10、商业目标
设计推荐系统时需要考虑最终的商业目标,因为除了要实现用户发现内容的需求,还要加快商业实现指标。
明日开始学习《推荐系统实践》第二章:利用用户行为数据