《Recommender System An Introduction》,第五章,混合推荐方法。
《Recommender System An Introduction》,第六章,推荐系统的解释。
《Recommender System An Introduction》,第七章,评估推荐系统。
如何进行混合推荐,要考虑两个问题:基础的推荐理论框架和系统的混合设计,也就是组合两个以上算法的方法。
推荐问题通常可以转换成效用函数rec,预测物品集合I中得物品i对整个用户级U中某个特定用户u的有用性。
效果指的是物品满足某种抽象目标的能力,比如最好地满足用户假定需求,或者是最大地提高零售商的转化率。因此,推荐算法的预测任务就是推算给定用户和物品的效用分数。
基于效用或基于知识的推荐系统,可以直接从先验的效用机制中得到效用分数值,而协同过滤方法根据群体的评分预测效用分数。
3种主要的推荐理论框架:
(1)协同过滤。协同过滤原理假设人以类聚,大家有着相似的行为,需求和偏好也差不多。协同推荐的任务就是确定相似的对等者,从他们喜欢的物品中得到推荐结果。
(2)基于内容的理论框架遵循“以不变应万变”的方法,根据用户过去喜欢的物品推荐相似的物品。
(3)基于知识的推荐,认为会有额外的信息源,即显式的个性化知识。
选择哪种推荐理论框架决定了要输入数据的类型:
理论框架 | 用户记录和上下文参数 | 群体数据 | 产品特征 | 知识模型 |
协同过滤 | 是 | 是 | 否 | 否 |
基于内容 | 是 | 否 | 是 | 否 |
基于知识 | 是 | 否 | 是 | 是 |
这是混合算法的第二个特点,可以概括成三种基本设计思路:整体式、并行式、流水线式。
关于混合设计,既有一些加权算法或者其他计算方法的支撑,也有很多基于浅层混合上的理解,很多情况,可以从从实际场景出发,从浅层的基于补充层面的混合开始,逐步加深。
解释是一种在沟通过程中进行交流的信息。
为什么推荐系统需要给出解释:卖家想要宣传特定的产品,而买家则比较关心做出正确的购买决策。解释是一项重要的信息,可以帮助两者在交流过程中提高各自的业绩和效率。
从实用角度来看,在推荐过程中提供解释的主要目的可以列举如下:
(1)透明性
(2)正确性
(3)可信度
(4)说服力
(5)有效性
(6)效率
(7)满意度
(8)关联度
(9)可理解性
(10)教育
以下几个因素会影响到推荐系统在与接受方沟通时的解释生成:
(1)需要解释的信息项
(2)提供(接受)解释的目的
(3)接受方的模型,包括其行为与知识
(4)沟通的状态,指交换的信息,包括提供的推荐
在基于约束、基于实例、协同过滤的推荐系统中,对于解释,都有各自的比较标准的解释方法,基于时间的原因,具体的、详细的内容,这次看书的过程先略过,留待下一步,如果有机会。
推荐系统通常采用离线实验进行评估,设法用已有的交易数据集来估计推荐结果的预测误差。有人指出这种方法有局限,也有人认为推荐系统的质量根本就不可直接衡量,因为有太多不同的目标函数。
不管怎样,推荐系统已在广泛应用,必须要有科学的方法实际准确地评估其对于用户的真实效果和作用。
本节介绍了一些评估公式,考虑了实验对象、研究方法、环境,重点讨论了如何在历史数据集上进行实验评估,并讨论了衡量推荐结果准确率或覆盖率的不同方法以及衡量指标。
Netflix算法大赛的评估办法,就是基于历史数据,采用均方根误差(RMSE)算法进行衡量的,是离散数学的知识。
在实际的生产中,我们较少采用这些实验室方法,而是用真实、客观的结果数据,进行A/B测试评估推荐的效果,这样做的原因也可能是因为:直观、简单。
一般说来,一个新的推荐算法最终上线,需要完成如下的3个实验(理想状况哈:)):
(1)首先,需要通过离线实验(offline experiment)证明它在很多离线指标上优于现有的算法;
(2)然后,需要通过用户调查(user study)确定它的用户满意度不低于现有的算法;
(3)最后,通过在线(online experiment)的AB测试确定它在我们关心的指标上优于现有的算法
(1)用户满意度:用户满意度作为推荐系统的重要参与者,其满意度是评测推荐系统的重要指标。用户满意度没有办法离线计算,只能通过用户调查或在线实验获得。
(2)预测准确度:度量一个推荐系统或者推荐算法预测用户行为的能力。这个指标是最重要的推荐系统离线评测指标,几乎99%与推荐相关的论文都在讨论这个指标。这抓哟是因为该指标可以通过离线实验计算,方便了很多学术界的研究人员研究推荐算法。简单说,就是训练集和预测集的对照。
a、对于评分预测,其预测准确度一般通过均方根误差(RMSE)和平均绝对误差(MAE)计算
b、对于TopN推荐,其预测准确度一般通过准确率(precision)/召回率(recall)度量
(3)覆盖率(coverage):描述一个推荐系统对物品长尾的发掘能力
(4)多样性:需要覆盖用户不同的兴趣领域
(5)新颖性:给用户推荐那些他们以前没有听说过的物品
(6)惊喜度(serendipity):不相似而满意
(7)信任度:同样地推荐结果,以让用户信任的方式推荐给用户就更能让用户产生购买欲,而以类似广告形式的方法推荐给用户就可能很难让用户产生购买的意愿。
提高推荐系统的信任度主要由两种方法:
a、增加推荐系统的透明度(transparency)。增加透明度的主要办法是提高推荐解释。用户了解了推荐的运行机制,认同了,才会提高信任度
b、考虑用户的设计网络信息,利用用户的好友信息给用户做推荐,并且用好友进行推荐解释
(8)实时性:特定物品需要实时性,比如新闻、微博等
(9)健壮性:衡量一个推荐系统抗击作弊的能力
(1)商业目标:比如,对于电商,目标是销售额,对于广告,可能是展示或点击。
获取各种评测指标的途径
离线实验 | 问卷调查 | 在线实验 | |
用户满意度 | × | √ | ○ |
预测准确度 | √ | √ | × |
覆盖率 | √ | √ | √ |
多样性 | ○ | √ | ○ |
新颖性 | ○ | √ | ○ |
精细度 | × | √ | × |
对于一个在线零售商而言,重要的性能指标包含:
(1)提高转化率,即如何将网站访问者转化为实际购买者;
(2)如何影响访问者,让他们买更多可赚钱的物品。
通过对一个移动互联网个性化游戏推荐的7种不同算法:CF、Slope One、基于内容、混合、Top-Rating(非个性化:根据物品的评价评分)、热销(非个性化:根据热销)、对照组(非个性化:按照日期最新),比较7种不同算法,评估的重点是以下假设:
(1)H1:个性化推荐能吸引更多地用户到详细产品信息页面(物品浏览转化率)
(2)H2:个性化推荐有助于将更多访问者变成购买者(销售转化率)
(3)H3:个性化推荐促使单个用户浏览更多物品
(4)H4:个性化推荐促使单个用户购买更多物品
对于H1、H2,7种算法差别细微,因此额外采用个性化推荐列表并不会增加门户网站访问者浏览或购买物品的数量;对于H3、H4(提高每个用户浏览及购买物品的数量),所有的个性化算法都要胜过非个性化的热销列表和对照组。
总体上说:当用户没有对某种类型有强烈预期时(比如“我的推荐品牌”),协同过滤方法(也推荐用户之前没有见过的类别)表现的特别好;在一些其他的情况,用户更喜欢他们已经知道的游戏子类别的推荐结果。。。
最重要的结论是:在实际销售方面基于内容和基于物品的方法明显比其他方法要好。总而言之,可以确认推荐系统能够在整个平台上促使整体销量有超过3%的可观提升。