深圳大数据培训
达内深圳宝安中心

136-3244-2201

热门课程

【深圳大数据培训】大数据的推荐系统算法初探

  • 时间:2017-09-12
  • 发布:深圳大数据培训
  • 来源:达内新闻

深圳大数据培训】大数据的推荐系统算法初探

1. 什么是推荐系统?

推荐系统是啥?

如果你是个多年电商(剁手)党,你会说是这个:

36vq6ff.jpg!web

如果你是名充斥文艺细胞的音乐发烧友,你会答这个:

ZJrAFrz.jpg!web

如果你是位活泼在各大交际平台的点赞狂魔,你会答这个:

2InYzq.jpg!web

没错,猜你爱好、共性歌单、热门微博,这些都是推荐系统的输出内容。从这些咱们便可以或许总结出,推荐系统究竟是做什么的。

目标1. 赞助用户找到想要的商品(消息/音乐/……),挖掘长尾

帮用户找到想要的器械,谈何容易。商品茫茫多,乃至是咱们本身,也常常点开淘宝,面临目迷五色的打折运动不知道要买啥。在经济学中,有一个闻名实践叫长尾实践(The Long Tail)。

A3YnI3v.jpg!web

套用在互联网范畴中,指的便是最热的那一小部分资本将获得绝大部分的存眷,而剩下的很大一部分资本却鲜少有人问津。这不只形成了资本利用上的挥霍,也让许多口胃偏小众的用户无奈找到本身感兴致的内容。

目标2. 低落信息过载

互联网期间信息量未然处于爆炸状况,如果将一切内容都放在网站首页上用户是无从浏览的,信息的利用率将会异常低下。是以咱们必要推荐系统来赞助用户过滤掉低代价的信息。

目标3. 进步站点的点击率/转化率

好的推荐系统能让用户更频仍地拜访一个站点,并且老是能为用户找到他想要购置的商品或许浏览的内容。

目标4. 加深对用户的懂得,为用户供给定制化办事

可以或许想见,每当系统胜利推荐了一个用户感兴致的内容后,咱们对该用户的兴致喜好等维度上的抽象是愈来愈清楚的。当咱们可以或许准确描绘出每一个用户的抽象以后,便可以或许为他们定制一系列办事,让领有各类需要的用户都能在咱们的平台上获得满意。

2. 推荐算法

算法是什么?咱们可以或许把它简化为一个函数。函数接收若干个参数,输出一个前往值。

IV3Ij2Z.jpg!web

算法如上图,输出参数是用户和item的各类属性和特性,包括年纪、性别、地区、商品的种别、宣布光阴等等。颠末推荐算法处置后,前往一个依照用户喜好度排序的item列表。

推荐算法大抵可以或许分为如下几类[1]:

基于风行度的算法

协同过滤算法

基于内容的算法

基于模子的算法

混杂算法

2.1 基于风行度的算法

基于风行度的算法异常简略粗鲁,类似于各大消息、微博热榜等,根据PV、UV、日均PV或分享率等数据来按某种热度排序来推荐给用户。

ji22umr.jpg!web

这种算法的长处是简略,适用于刚注册的新用户。毛病也很显著,它无奈针对用户供给共性化的推荐。基于这种算法也可做一些优化,好比参加用户分群的风行度排序,比方把热榜上的体育内容优先推荐给体育迷,把政要热文推给酷爱评论辩论政治的用户。

2.2 协同过滤算法

协同过滤算法(Collaborative Filtering, CF)是很常用的一种算法,在许多电商网站上都有用到。CF算法包括基于用户的CF(User-based CF)和基于物品的CF(Item-based CF)。

基于用户的CF道理如下:

阐发各个用户对item的评价(经由过程浏览记载、购置记载等);

根据用户对item的评价盘算得出一切用户之间的类似度;

选出与以后用户最类似的N个用户;

将这N个用户评价最高并且以后用户又没有浏览过的item推荐给以后用户。

示意图如下:

2yqM7jQ.jpg!web

基于物品的CF道理迥然不同,只是主体在于物品:

阐发各个用户对item的浏览记载。

根据浏览记载阐发得出一切item之间的类似度;

对付以后用户评价高的item,找出与之类似度最高的N个item;

将这N个item推荐给用户。

示意图如下:

jqYji2R.jpg!web

举个栗子,基于用户的CF算法大抵的盘算流程如下:

起首咱们根据网站的记载盘算出一个用户与item的接洽干系矩阵,如下:

JRFZ7jU.jpg!web

图中,行是分歧的用户,列是一切物品,(x, y)的值则是x用户对y物品的评分(喜好水平)。咱们可以或许把每一行视为一个用户对物品偏好的向量,而后盘算每两个用户之间的向量间隔,这里咱们用余弦类似度来算:

NzUnUv2.png!web

而后得出用户向量之间类似度如下,此中值越靠近1表现这两个用户越类似:

2i2aIjM.jpg!web

末了,咱们要为用户1推荐物品,则找出与用户1类似度最高的N名用户(设N=2)评价的物品,去掉用户1评价过的物品,则是推荐成果。

基于物品的CF盘算方法大抵雷同,只是接洽干系矩阵变为了item和item之间的干系,若用户同时浏览过item1和item2,则(1,1)的值为1,末了盘算出一切item之间的接洽干系干系如下:

E7fUNnF.jpg!web

咱们可以或许看到,CF算法确切简略,并且许多时刻推荐也是很准确的。但是它也存在一些成绩:

依赖于准确的用户评分;

在盘算的过程当中,那些大热的物品会有更大的概率被推荐给用户;

冷启动成绩。当有一位新用户或许新物品进入系统时,推荐将无从根据;

在一些item生计周期短(如消息、告白)的系统中,由于更新速度快,大批item不会有用户评分,形成评分矩阵稀少,无益于这些内容的推荐。

对付矩阵稀少的成绩,有许多办法来改良CF算法。好比经由过程矩阵因子分化(如LFM),咱们可以或许把一个nm的矩阵分化为一个nk的矩阵乘以一个k*m的矩阵,如下图:

UZbmyuy.jpg!web

这里的k可以或许是用户的特性、兴致喜好与物品属性的一些接洽,经由过程因子分化,可以或许找到用户和物品之间的一些潜伏接洽干系,从而弥补以前矩阵中的缺失值。

2.3 基于内容的算法

CF算法看起来很好很壮大,经由过程改良也能克服各类毛病。那末成绩来了,如果我是个《指环王》的忠诚读者,我买过一本《双塔奇兵》,这时候库里新进了第三部:《王者归来》,那末显著我会很感兴致。但是基于以前的算法,无论是用户评分照样书名的检索都不太好使,因而基于内容的推荐算法跃然纸上。

举个栗子,如今系统里有一个用户和一条消息。经由过程阐发用户的行动和消息的文本内容,咱们提掏出数个关键字,如下图:

zQn6zym.jpg!web

将这些关键字作为属性,把用户和消息分化成向量,如下图:

Rf2mU3.jpg!web

以后再盘算向量间隔,便可以或许得出该用户和消息的类似度了。这种办法很简略,如果在为一位酷爱旁观英超联赛的足球迷推荐消息时,消息里同时存在关键字体育、足球、英超,显著婚配前两个词都不如间接婚配英超来得准确,系统该若何体现出关键词的这种“紧张性”呢?这时候咱们便可以或许引入词权的观点。在大批的语料库中经由过程盘算(好比典型的TF-IDF算法),咱们可以或许算出消息中每一个关键词的权重,在盘算类似度时引入这个权重的影响,便可以或许到达更准确的后果。

sim(user, item) = 文本类似度(user, item) * 词权

但是,常常打仗体育消息方面数据的同窗就会要提出成绩了:如果用户的兴致是足球,而消息的关键词是德甲、英超,依照上面的文本婚配办法显著无奈将他们接洽干系到一起。在此,咱们可以或许援用话题聚类:

EzIfaaz.jpg!web

利用word2vec一类对象,可以或许将文本的关键词聚类,而后根据topic将文本向量化。如可以或许将德甲、英超、西甲聚类到“足球”的topic下,将lv、Gucci聚类到“奢侈品”topic下,再根据topic为文本内容与用户作类似度盘算。

综上,基于内容的推荐算法可以或许很好地办理冷启动成绩,并且也不会囿于热度的限定,由于它是间接基于内容婚配的,而与浏览记载有关。但是它也会存在一些弊病,好比适度专业化(over-specialisation)的成绩。这种办法会不停推荐给用户内容亲密接洽干系的item,而失去了推荐内容的多样性。

2.4 基于模子的算法

基于模子的办法有许多,用到的诸如机械进修的办法也能够或许很深,这里只简略先容下比拟简略的办法——Logistics回归猜测。咱们经由过程阐发系统中用户的行动和购置记载等数据,获得如下表:

IN3yqy.jpg!web

表中的行是一种物品,x1~xn是影响用户行动的各类特性属性,如用户年纪段、性别、地区、物品的价钱、种别等等,y则是用户对付该物品的喜好水平,可以或许是购置记载、浏览、珍藏等等。经由过程大批这种的数据,咱们可以或许回归拟合出一个函数,盘算出x1~xn对应的系数,这等于各特性属性对应的权重,权重值越大则注解该属性对付用户抉择商品越紧张。

在拟合函数的时刻咱们会想到,繁多的某种属性和另一种属性可以或许实在不存在强接洽干系。好比,年纪与购置护肤品这个行动实在不呈强接洽干系,性别与购置护肤品也不强接洽干系,但当咱们把年纪与性别综合在一起斟酌时,它们便和购置行动产生了强接洽干系。好比(我只是好比),20~30岁的女性用户更倾向于购置护肤品,这就叫穿插属性。经由过程重复测试和履历,咱们可以或许调剂特性属性的组合,拟合出最准确的回归函数。末了得出的属性权重如下:

juUfY3r.jpg!web

基于模子的算法由于疾速、准确,适用于实时性比拟高的营业如消息、告白等,而如果必要这种算法到达更好的后果,则必要人工干预重复的停止属性的组合和挑选,也便是常说的Feature Engineering。而由于消息的时效性,系统也必要重复更新线上的数学模子,以顺应变更。

2.5 混杂算法

实际利用中,实在很少有间接用某种算法来做推荐的系统。在一些大的网站如Netflix,便是交融了数十种算法的推荐系统。咱们可以或许经由过程给分歧算法的成果加权重来综合成果,或许是在分歧的盘算关键中利用分歧的算法来混杂,到达更贴合本身营业的目标。

2.6 成果列表

在算法末了得出推荐成果以后,咱们每每还必要对成果停止处置。好比当推荐的内容里包括敏感辞汇、触及用户隐衷的内容等等,就必要系统将其筛除;若数次推荐后用户仍然对某个item毫无兴致,咱们就必要将这个item低落权重,调剂排序;另外,偶然系统还要斟酌话题多样性的成绩,异样要在分歧话题中挑选内容。

3. 推荐成果评价

当推荐算法实现后,如何来评价这个算法的后果?CTR(点击率)、CVR(转化率)、停顿光阴等都是很直观的数据。在实现算法后,可以或许经由过程线下盘算算法的RMSE(均方根偏差)或许线上停止ABTest来比较后果。

4. 改良战略

用户画像是近来常常被说起的一个名词,引入用户画像可以或许为推荐系统带来许多改良的余地,好比:

买通公司各大营业平台,经由过程获得其余平台的用户数据,彻底办理冷启动成绩;

在分歧装备上同步用户数据,包括QQID、装备号、手机号等;

丰硕用户的生齿属性,包括年纪、职业、地区等;

更完美的用户兴致状况,便利天生用户标签和婚配内容。

另外,公司的上风——交际平台也是一个很好利用的处所。利用用户的交际收集,可以或许很便利地经由过程用户的石友、兴致群的成员等更快捷地找到类似用户和用户可以或许感兴致的内容,进步推荐的准确度。

想知道更多关于IT行业的信息吗?想远远不如行动,行动起来,一起加入达内,一起进入IT行业,跟着达内的脚步,一起走进如今的互联网信息时代,带给你不一样的色彩生活——【深圳大数据培训

深圳达内

上一篇:【深圳大数据培训】信息大爆炸后的大数据残局,如何收拾?
下一篇:【深圳大数据培训】 DT时代,如何创造一个大数据石油的新经济?

【深圳大数据培训】大数据分类和架构简介

【深圳大数据培训】大数据的推荐系统算法初探

【深圳大数据培训】信息大爆炸后的大数据残局,如何收拾?

【深圳大数据培训】如何创建主数据资源库

选择城市和中心
贵州省

广西省

海南省