没有合适的资源?快使用搜索试试~ 我知道了~
2. 这个方法不依赖于物品本身的数据,所以这个方法在不同物品的领域都可以使用,它是领域独立的(domain-independent) 2.
资源详情
资源评论
资源推荐
关于 2015 阿里移动推荐算法大赛的总结(一)
写在最前面,第一场比赛的第一轮早已结束,lz 组的团队已被淘汰~跟 lz 组队的人跟 lz
一样也是新手菜鸟,参加比赛只是兴趣与好奇。现在第二场比赛开始了,lz 还会继续玩下
去(虽然 lz 校内科研、项目压力都很大)~
官方给了两个集合表——用户在商品全集上的移动端行为数据表和商品子集表。行为数据
里面分别有用户名、商品名、行为类型(浏览、收藏、加购物车、购买)、地理位置、商
品类别、行为时间。商品子集里面有商品名、商品类别、地理位置。
题目是根据官方给的一个月的用户行为数据,预测这个月过完的第一天在商品子集中用户
可能购买的商品。评分使用的是正确率与召回率的加权。
首先,我们想到的是根据行为的统计特征进行购买的预测,简单的说就是假如用户加入购
物车,那么购买的可能性就很大,收藏,浏览产生购买行为的可能性递减。
同时还有地理位置这组信息,从经验判断,地理位置相近购买可能性也越大,在武汉的童
鞋一般不会买杭州的电影票或者餐券吧。(这里要说明下,因为是移动端行为数据,很大
一部分是类似电影票、门票、代金券、外卖等等商品,当然也肯定会有我们熟知的淘宝物
品。)
还有一点,很显然商品子集里的商品是行为数据表中商品的子集(也就是说假如购买了
pad,会继续购买个 pad 套,而这个 pad 套在子集里,pad 只在行为数据表里,需要寻
找出这样一种规律)。
初期,我们把侧重点放在题目的“推荐”两个字上了,搜集并研究了大量的“推荐算
法”,然后也分析整理出了一套模型,但是在最后要得出结果那一步发现,根本不是题目
要的结果。题目要的就是在那一天用户会购买那些商品,而不是用户可能对那些商品感兴
趣。这样我们就推翻了我们的这条路,当然我们自己在这条“黑路”上也学到了不少,后
面我会单独总结整理一下,我们关于“推荐算法”的种种。
后来,看了一些官方给的建议。我们才明确,简单的说我们要做就是二分法的预测,买还
是不买。然后我们就想到对用户行为抽象为特征向量,利用时间划分数据,使用机器学习
的方法训练模型,对某一天的购买行为进行预测。我们在这方面也是从开始学习,到做了
一些工作,分析总结。虽然最后的结果还是差强人意,最终是 948 名,但是中间有最好排
名 303 过(最终取前 500 进入第二轮)。关于这部分的工作,后面我也会单独总结整理
的。这里就先开个总结的头,逼自己把做过的东西整理出来~~~
关于 2015 阿里移动推荐算法大赛的总结(二)——推荐算法
虽然开始走错了路,但是也学到了东西,美团技术团队的文档还是不错的,喜欢的童鞋可
以经常去瞅瞅,后面我会给链接的~~~~
———————————————————————————————————————
———————————————————————
具体流程
基本流程如下,借用美团的图。
从框架的角度看,推荐系统基本可以分为数据层、触发层、融合过滤层和排序层。数据层
包括数据生成和数据存储,主要是利用各种数据处理工具对原始日志进行清洗,处理成格
式化的数据,落地到不同类型的存储系统中,供下游的算法和模型使用。候选集触发层主
要是从用户的历史行为、实时行为、地理位置等角度利用各种触发策略产生推荐的候选
集。候选集融合和过滤层有两个功能,一是对出发层产生的不同候选集进行融合,提高推
荐策略的覆盖度和精度;另外还要承担一定的过滤职责,从产品、运营的角度确定一些人
工规则,过滤掉不符合条件的 item。排序层主要是利用机器学习的模型对触发层筛选出来
的候选集进行重排序。
在这次比赛中相当于给了数据,不需要考虑数据产生,有可能要考虑存储,暂时先不考
虑。所以大体流程是先对数据进行分析,然后对数据进行预处理,进入候选集触发环节,
考虑采用协同过滤与位置聚类的方法推荐出集合,然后通过机器学习的方法训练得出最终
结果。
理论分析
数据应用
行为类别
行为详情
主动行为数
据
搜索、筛选、点击、收藏、下单、支付、评分
UGC
文本评价、上传图片
负反馈数据
左滑删除、取消收藏、取消订单、退款、负评、低评
用户画像
用户人口属性、美团 DNA、品类偏好、消费水平、工作地与居住
地
用户主动行为数据记录了用户在美团平台上不同的环节的各种行为,这些行为一方面用于
候选集触发算法(在下一部分介绍)中的离线计算(主要是浏览、下单),另外一方面,
这些行为代表的意图的强弱不同,因此在训练重排序模型时可以针对不同的行为设定不同
的回归目标值,以更细地刻画用户的行为强弱程度。此外,用户对 deal 的这些行为还可以
作为重排序模型的交叉特征,用于模型的离线训练和在线预测。
负反馈数据反映了当前的结果可能在某些方面不能满足用户的需求,因此在后续的候选集
触发过程中需要考虑对特定的因素进行过滤或者降权,降低负面因素再次出现的几率,提
高用户体验;同时在重排序的模型训练中,负反馈数据可以作为不可多得的负例参与模型
训练,这些负例要比那些展示后未点击、未下单的样本显著的多。
用户画像是刻画用户属性的基础数据,其中有些是直接获取的原始数据,有些是经过挖掘
的二次加工数据,这些属性一方面可以用于候选集触发过程中对 deal 进行加权或降权,另
外一方面可以作为重排序模型中的用户维度特征。
通过对 UGC 数据的挖掘可以提取出一些关键词,然后使用这些关键词给 deal 打标签,用
于 deal 的个性化展示。
推荐引擎
1、推荐引擎是不是为不同的用户推荐不同的数据
根据大众行为的推荐引擎,对每个用户都给出同样的推荐,这些推荐可以是静态的由系统
管理员人工设定的,或者基于系统所有用户的反馈统计计算出的当下比较流行的物品。
个性化推荐引擎,对不同的用户,根据他们的口味和喜好给出更加精确的推荐,这时,系
统需要了解需推荐内容和用户的特质,或者基于社会化网络,通过找到与当前用户相同喜
好的用户,实现推荐。
这是一个最基本的推荐引擎分类,其实大部分人们讨论的推荐引擎都是将个性化的推荐引
擎,因为从根本上说,只有个性化的推荐引擎才是更加智能的信息发现过程。
2、根据推荐引擎的数据源
其实这里讲的是如何发现数据的相关性,因为大部分推荐引擎的工作原理还是基于物品或
者用户的相似集进行推荐。根据不同的数据源发现数据相关性的方法可以分为以下几种:
根据系统用户的基本信息发现用户的相关程度,这种被称为基于人口统计学的推荐
(Demographic-based Recommendation)
根据推荐物品或内容的元数据,发现物品或者内容的相关性,这种被称为基于内容的推荐
(Content-based Recommendation)
根据用户对物品或者信息的偏好,发现物品或者内容本身的相关性,或者是发现用户的相
关性,这种被称为基于协同过滤的推荐(CollaborativeFiltering-based
Recommendation)。
3、根据推荐模型的建立方式
可以想象在海量物品和用户的系统中,推荐引擎的计算量是相当大的,要实现实时的推荐
务必需要建立一个推荐模型,关于推荐模型的建立方式可以分为以下几种:
基于物品和用户本身的,这种推荐引擎将每个用户和每个物品都当作独立的实体,预测每
个用户对于每个物品的喜好程度,这些信息往往是用一个二维矩阵描述的。由于用户感兴
趣的物品远远小于总物品的数目,这样的模型导致大量的数据空置,即我们得到的二维矩
阵往往是一个很大的稀疏矩阵。同时为了减小计算量,我们可以对物品和用户进行聚类,
然后记录和计算一类用户对一类物品的喜好程度,但这样的模型又会在推荐的准确性上有
损失。
基于关联规则的推荐(Rule-basedRecommendation):关联规则的挖掘已经是数据挖掘
中的一个经典的问题,主要是挖掘一些数据的依赖关系,典型的场景就是“购物篮问题”,
通过关联规则的挖掘,我们可以找到哪些物品经常被同时购买,或者用户购买了一些物品
后通常会购买哪些其他的物品,当我们挖掘出这些关联规则之后,我们可以基于这些规则
给用户进行推荐。
基于模型的推荐(Model-basedRecommendation):这是一个典型的机器学习的问题,
可以将已有的用户喜好信息作为训练样本,训练出一个预测用户喜好的模型,这样以后用
户在进入系统,可以基于此模型计算推荐。这种方法的问题在于如何将用户实时或者近期
的喜好信息反馈给训练好的模型,从而提高推荐的准确度。
其实在现在的推荐系统中,很少有只使用了一个推荐策略的推荐引擎,一般都是在不同的
场景下使用不同的推荐策略从而达到最好的推荐效果,例如 Amazon 的推荐,它将基于
剩余33页未读,继续阅读
love彤彤
- 粉丝: 32
- 资源: 311
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0