上篇提到一个“如果不知道你的喜好,就连个方向都没有(注:从这个理论出发可以做出一个简单的推荐系统)”,下面我们就从这个理论出发实现一个简单的推荐系统。
1、背景知识
电子商品务推荐系统有些场景(或者叫页面)与优酷的视频推荐有点相似,当你在看一个视频的时候,页面的右边会出现“你可能会对这些视频感兴趣”,这个在电子商品网站中就是浏览商品的情景,以亚马逊为例,当我们浏览lumia 900的时候,页面的中部会出现“购买了此商品的顾客同时也购买”
可以看到推荐列表中的商品与lumia900都有很强的相关性。
这个数据是如何得出来的呢?仅仅依靠数据统计可以完成吗?是完全真实的吗?
2、算法1--从数据出发
从直观意义上讲,要得到“买了lumia900的顾客还购买了”的商品列表,只需要查找网站的购买记录,找到买了lumia900的顾客,再找出他们还买过的其它商品就可以了。但是这里需要解决两个问题:时间、排序。在顾客购买的其它的商品中是不是所有的商品都与lumia900有关?如果用户一年前买了件衣服,与这个手机一点关系都没有,所以需要界定一个时间,用户多长时间购买的商品跟这个手机有关系呢?联想到现实生活中,我们去超市购物的时候,会把要买的东西都放入购物车、结帐,这样的一次购买就相当于用户在网站的一次会话,所以这个时间我们暂定为一次会话;买过这个手机的顾客不止一个,他们在这次会话中购买的其它商品有时也不止一个,最终会得到一个比较长的列表,那么如何排序呢?一般来说最相关的商品应该排在前边,如何确定相关度?可以用与lumia900同时被购买的次数做为相关度,然后可以按相关度大小排序。
上述算法描述如下:找到购买过当前商品的人在这次会话中还购买的其它商品,并统计这些商品与当前商品被同时购买的次数,最后按相关度排序,取前N个做为推荐商品展现在前台页面。N为你需要展现在前端的商品的个数
这个算法用到了大名鼎鼎的apriori算法的一部分,关联规则计算,我们最后得到的推荐结果其实就是频繁二项集。
此算法有两个硬伤:数据稀疏、关联性过强。这个留在以后讨论
3、算法2--从结果出发
其实上图的推荐列表其实很简单,就是手机推手机壳、耳机、内存卡、其它颜色的同款手机,生活常识告诉我们,买空调一般需要再买空调挂架,买笔记本电脑需要电脑包、U盘……从而我们可以用一种与算法1完全不同的做法来达到相似的效果,那就是人工配置商品关联。当然商品数有很多,需要做的工作也非常多,实际做起来可能不太好办。所以我们可以配置商品所属的目录关联规则,这样工作量就减少了很多。根据我的经验,如果目录数在500个左右的话,一个人三天就可以做完。最终得到的结果类似这样:
笔记本电脑->【U盘;笔记本电脑包;移动硬盘;……】
当我们需要为一个商品做推荐的时候,先找到它所属的目录,再找到关联目录,从中挑选一些商品做为推荐。这个也需要解决两个问题:如何从关联目录中挑选推荐商品?挑先出来的商品如何排序?
如果关联目录有很多,可以人工的为每个目录、及目录中的商品设置权重,从每个目录中挑选两个商品,加权后排序取前N个做为推荐结果。
这个算法非常简单,需要人工做的工作很多,它存在几个问题:
推荐的商品与当前商品不配套;
推荐出来的结果并非用户真实的行为结果,而是完全出于个人感觉;
无法发现隐藏的商品关联规则(如:啤酒和尿布);
基于以上两种算法就可以构建出一个简单的推荐系统了,有的人可能会觉得奇怪:连个数学函数都没,也叫算法?
这里我觉得有必要提一点,上面我说到是为了解决商品关联的问题,那么只要我解决了这个问题,用不用数据函数又有什么关系呢。所谓的算法很多时候只是一个想法,你做出来效果不错,就是一个算法,而不局限于数学函数。算法有时候也没有那么高深,后面几篇会有更深一点的理论,会出现数学函数。
另:本人也是初入推荐时间不久,国内推荐资料少之又少(真正的只有一本《推荐系统实践》),特此记录本人学习历程,大家看完后有什么建议,还望不吝赐教
分享到:
相关推荐
文献综述-餐饮电子商务个性化推荐系统推荐算法.pdf文献综述-餐饮电子商务个性化推荐系统推荐算法.pdf文献综述-餐饮电子商务个性化推荐系统推荐算法.pdf文献综述-餐饮电子商务个性化推荐系统推荐算法.pdf文献综述-...
文献综述-餐饮电子商务个性化推荐系统推荐算法.docx文献综述-餐饮电子商务个性化推荐系统推荐算法.docx文献综述-餐饮电子商务个性化推荐系统推荐算法.docx文献综述-餐饮电子商务个性化推荐系统推荐算法.docx文献综述...
本项目是一套基于SSM的电子商务推荐系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以直接作为毕设使用。 项目都...
电子商务系统中协同过滤推荐算法研究-电子商务.doc
电子商务中的推荐系统是利用数据挖掘等技术,分析访问者在电子商务网站的访问行为,产生能帮助访问顾客访问感兴趣的产品信息的推荐结果.
本项目是一套基于SSM的电子商务推荐系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以直接作为毕设使用。 项目都...
电商推荐系统 推荐算法应用 推荐系统在电子商务中应用 共27页.pdf
行业资料-电子功用-基于多算法融合的电子商务推荐方法和系统
电子商务推荐系统简介 电子商务推荐系统技术介绍 基于关联规则的推荐算法 基于最近邻居的协同过滤算法 基于项目的协同过滤算法
个性化推荐算法是电子商务推荐系统中最核心的技术,在很大程度上决定了 电子商务推荐系统性能的优劣。协同过滤是应用最为广泛的一种个性化推荐技术。协 同过滤主要分为基于用户的协同过滤和基于项目的协同过滤。 ...
1、电子商务推荐系统简介 2、电子商务推荐系统技术介绍 3、基于关联规则的推荐算法 4、基于最近邻居的协同过滤算法 5、基于项目的协同过滤算法 基于二部图的推荐算法
深入研究了电子商务推荐系统 所使用的推荐算法,重点讨论了目前使用最为广泛的协同过滤推荐算法:在上述 研究的基础上设计了基于聚类的协同过滤推荐系统,并对k一eans聚类算法进行 了改进;最后利用实际网站数据对基于...
使用场景包括电子商务、内容平台、社交媒体等需要个性化推荐的场景。文章的目标是帮助读者理解推荐算法的基本概念,并学会如何在实际中应用这些算法来设计和优化推荐系统。 **其他说明**: 文章采用口语化的语言,...
电子商务系统中协同过滤推荐算法研究.doc
协同过滤是一种常用的推荐算法,通过分析用户的历史行为和兴趣,找到与其相似的其他用户或物品,从而进行个性化的推荐。本论文主要研究了协同过滤推荐算法的原理、实现方法以及在实际应用中的效果评估等方面。 适用...
这是一论文,要是有需要的同学可以下载看一下,里面是电子商务的系统的应用的算法。
是在协同过滤算法上的一个改进,从而设计出的一个个性化推荐算法
基于SSH框架的电子商务购物网站,实现了从登录注册到购物再到结算的一系列流程,同时包含着网站管理后台,天普管理后台,运用Ajax等多种技术完成界面,同时实现了广告位等复杂管理,有着严密的技术以及强大的算法,...
本文主要介绍基于用户/项目的协同过滤推荐算法在音乐推荐系统、图书推荐系统、电影推荐系统、新闻推荐系统、电子商务网站、购物系统中的应用和实现。 一、基于用户/项目的协同过滤推荐算法在推荐系统中的应用 目前...