介绍
日常生活中,推荐工作都是怎样开展的呢推荐来源于经验。假设现在有人需要你基于现实生活中的数据立刻作出推荐,你会怎样做呢首先,我们会感觉自己得像智能顾问一样聪明。其次,我们做的已经超出人类的能力范围了。因此,我们的目标就是建立智能软件,让它为我们提供值得信赖的推荐系统。
当我们访问亚马逊、Netflix、 imdb等许多网站时,我们的潜意识里已经接触到了一些推荐系统了。显然,这些都已经成为了网络营销(网上推送产品)不可分割的一部分。我们在此做进一步了解。
本文中笔者通过生活中的例子向大家解释了推荐系统的工作原理,目的就是让大家看到推荐系统的使用范围不限于网络营销,各行各业都在应用。同时,我们也将通过R语言中的实际操作来了解它的类型。“推荐引擎”和“推荐系统”这两个术语在此可以互换,希望大家理解。
银行中的推荐系统——实例
如今各行各业都在充分运用独具本行业特色的推荐系统。我们以银行业为例进行说明。
X银行想使用其交易信息向其现有的信用卡和借记卡用户提供定制服务。本次分析的最终状态如下:
Z客户走进了一家必胜客。他用X银行卡进行支付。根据过去的交易信息,银行X了解到Z客户喜欢在吃完披萨之后再吃一个冰淇淋。通过在必胜客的交易信息,银行对客户进行定位。接着,银行系统发现客户所在位置附近有5家冰淇淋店,其中3家与银行有合作关系。
有意思的点就在这里。与冰淇淋店的交易如下:
商店1:银行利润——$2,客户消费$10,客户回应率——20%商店2:银行利润——$2,客户消费$10,客户回应率——20%商店3:银行利润——$5,客户消费$12,客户回应率——20%商店4:银行利润——$6,客户消费$12,客户回应率——20%商店5:银行利润——$4,客户消费$11,客户回应率——20%
我们假设标价与冰淇淋对客户的吸引程度成比例。因此,客户会纠结于是多花点钱满足自己的愿望呢,还是买价钱较低的冰淇淋。X银行希望客户去商店3、4 或5(利润更高)。如果店家提供合理的折扣客户的回应率就会增加。假设折扣数都取整。目前,期望值为:
期望值 =20%*{2 + 2 + 5 + 6 + 4 } = $ 19/5 = $3.8
通过打折可以增加期望值。商店3、4和5 的回应率变化如下:
商店3 :$1的折扣使回应率提高5%,$2的折扣使回应率提高7.5%,$3的折扣使回应率提高10%
商店4 :$1的折扣使回应率提高25%,$2的折扣使回应率提高30 %,$3的折扣使回应率提高35%,$4的折扣使回应率提高80%
商店5:不管打什么折扣,回应率都没有变化
面对竞争商家,银行无法同时给出多种折扣选择。大家要假设提高一家商店回应率就会导致对其他商店的回应率同等数量的下降。针对这一具有启发意义的案例计算如下——在商店4进行$2折扣的促销。
期望值 =50%/4 * (2 + 2 + 5 + 4) + 50% * 5 = $ 13/8 + $2.5 = $1.6 + $2.5 = $4.1
思考宝盒:还有其他使银行利润更高的好方法吗笔者很有兴趣了解!
大家看到了吗做推荐并不是仅通过提取数据、写代码就能完成的。相反,做推荐需要具有数学(显然)、逻辑思维和使用编程语言的天分。相信我,第三点其实是最简单的。有点自信了吗大家开始吧。
推荐引擎的工作原理到底是什么呢
前面的例子相信应该已经给了大家一个很好的思路。这时候就需要使思路更加清晰。我们来理解下推荐引擎在刚才的例子中可以发挥什么作用(X银行):
1. 它能发现顾客在购物之后仍有兴趣光顾的店家或购买的产品。
2. 可以在向客户推荐许多产品时估计利润与损失。基于客户的情况作出以客户为中心或以产品为中心的推荐。你可能希望对其他银行也希望争取到的高价值客户,提供最上乘的服务。
3. 通过向客户提供极具吸引的折扣可以增强与客户的联系。也许客户本来也要购买这个商品,但是另有折扣的话,银行对他们的吸引力可能更大。
推荐引擎有什么类型
根据行业不同,我们广义上一般可以把推荐引擎分为两类。在此想通过实例帮助大家更容易地理解。
笔者根据应用的行业背景和适用行业的因素对这些算法做了解释。
1基于背景的算法:
正如名字所示,这些算法是基于鲜明的商品背景。一旦收集到了商品背景层面的信息,就可以试着寻找类似的商品并进行推荐。例如在YouTube上,你可以看到对视频按照类型、语言和主演进行分类,基于这些信息我们可以找到类似(相关)的视频。一旦找到了类似的视频就可以把它们推荐给只看了同类中一个视频的客户。这种算法常见于网上视频频道、网上歌曲商店等。如果商品/物品可以按照一些维度进行分类,这种背景级的信息就很容易获取。
2协同过滤算法
这种算法最为常见,因为它不依赖于任何附加的信息。你需要的只是该行业的交易级信息。例如像亚马逊这样的电子商务公司和美国运通这样的银行多使用这种算法进行店家和产品推荐 。更近一步来看,协同过滤算法包括以下类型:
1. 用户-用户协同过滤:
这里我们发现每位客户的类似客户,并对首位客户的类似客户过去已选择的产品进行打折。该种算法很有效,不过需要很多时间和资源,因为需要计算每个成对客户的信息。因此,对于平台来说,如果没有一个相应强大的系统,这种算法就难以执行。
2. 物品-物品协同过滤:
该算法非常类似于前面的算法,不过区别就是这次找的不是类似的客户,而是尝试寻找类似的物品。一旦我们类似的物品后,就可以轻易向从商店里买过任何一种商品的顾客推荐类似商品。这种算法对资源的需求远远少于用户-用户协同过滤,因此对于新客户来说,这种算法需要的时间比用户-用户协同需要的时间少很多,因为我们不需要客户间的所有相似点。由于产品数量固定,产品-产品相似矩阵也是固定的。
3其他较简单的算法:
也有其他的方法例如市场篮子分析,一般来说它没有其他算法预测性高。
如何确定该类引擎的性能标准
这是一个很好的问题!我们要知道性能标准是由商业目标主要驱动的。一般来说,以下三个性能指标是大家考虑要优化的:
1基于利润价值:
如果你的总体目标是使用推荐引擎来增加利润/收入标准,那么评估标准应该是随着每个推荐级别收入/利润/销售呈递增收趋势。每个级别都应有不可违背的秩序,平均收入/利润/销售应在折扣成本内高于预期利润。
2基于回应率:
如果目标仅仅是激发客户热情,或使客户探索新产品/店家,本标准可能会很有帮助。在此大家需要记录每个级别的客户回应率。
3基于交易数量:
有时你会对客户的活动很感兴趣,对于大量活动,客户需进行更大数量的交易。因此,我们根据推荐级别记录交易数量。
4其他标准:
也有一些其他你可能感兴趣的标准例如满意率或呼叫服务中心的电话数量等。这些标准使用次数不多,因为它们基本上只能提供样本,不能提供整个方案的结果。
通过R 语言建立物品关联的协同过滤推荐系统
我们来学习一下建立推荐系统的实际技巧。这里我展示了建立物品关联的合作过滤推荐系统的过程。数据只包括两列,称为个人店家和个人客户,这里提供训练数据下载:http://pan.baidu.com/s/1hrKMICs
尾注:推荐引擎如今已经变得非常普遍了,因为它们可以应用到各行业的最常见的一种商业案例。代替这些推荐引擎并非易事,因为它们可以同时预测多种物品/店家。分类算法因输出数值可变而难以吸收这么多的类别。本文,我们了解了银行系统推荐系统的使用。我们同时也考察了用R语言执行推荐系统。毫无疑问,它们运用于各行各业,共同目标就是提高客户体验。
本文为专栏文章,来自:融智未来,内容观点不代表本站立场,如若转载请联系专栏作者,本文链接:https://www.afenxi.com/13205.html 。