算法--itemCF

概述:

电子商务网站是个性化 推荐系统重要地应用的领域之一。亚马逊就是个性化推荐系统的积极应用者和推广者,亚马逊的推荐系统深入到网站的各类商品,为亚马逊带来了至少30%的销售额。

不光是电商类,推荐系统无处不在。

QQ,人人网的好友推荐;新浪微博的你可能感觉兴趣的人;优酷,土豆的电影推荐;豆瓣的图书推荐;大从点评的餐饮推荐;世纪佳缘的相亲

思考

购买成功后:购买了该商品的其他用户购买了以下商品

根据用户的实时行为

搜索成功后:您可能感兴趣的以下商品

根据用户的主观意识

主页或广告:您可能感兴趣的以下商品

根据用户的特征向量

推荐;天际网的职业推荐等。

推荐系统

协同过滤(Collaborative Filtering)算法

UserCF

基于用户的协同过滤,通过不同用户对物品的评分来评测用户之间的相似性,基于用户之间的相似性做出推荐。简单来讲就是:给用户推荐和他兴趣相似的其他用户喜欢的物品。

ItemCF

基于item的协同过滤,通过用户对不同item的评分来评测item之间的相似性,基于item之间的相似性做出推荐。简单来讲就是:给用户推荐和他之前喜欢的物品相似的物品。

 同现矩阵和用户评分向量

Co-occurrence Matrix(同现矩阵)和User Preference Vector(用户评分向量)相乘得到的这个Recommended Vector(推荐向量)

基于全量数据的统计,产生同现矩阵

体现商品间的关联性

每件商品都有自己对其他全部商品的关联性(每件商品的特征)

用户评分向量体现的是用户对一些商品的评分

任一商品需要:

用户评分向量乘以基于该商品的其他商品关联值

求和得出针对该商品的推荐向量

排序取TopN即可

 思路解析

通过历史订单交易记录

计算得出每一件商品相对其他商品同时出现在同一订单的次数

so:每件商品都有自己相对全部商品的同现列表

用户会对部分商品有过加入购物车,购买等实际操作,经过计算会得到用户对这部分商品的评分向量列表 查看(点击),收藏,加入购物车,付款

使用用户评分向量列表中的分值:

依次乘以每一件商品同现列表中该分值的代表物品的同现值

求和便是该物品的推荐向量

 计算步骤

去除重复数据

计算用户评分向量

计算同现矩阵

计算乘积

计算求和

计算取TopN

原始数据

MapReduce(k:v,原语)

i161,u2625,click,2014/9/18 15:03

i161,u2626,click,2014/9/23 22:40

i161,u2627,click,2014/9/25 19:09

i161,u2628,click,2014/9/28 21:35

用户评分向量(所有用户对所有商品的评分)

同现矩阵

乘积计算

求和计算

去除重复数据

计算用户评分向量

key:用户

value:商品:评分 列表

计算同现矩阵

将每个用户的平分向量列表中的商品,两两组合输出(笛卡儿积),sum次数

key:商品A:商品B

key:商品B:商品A

value:1

计算乘积

按商品分组

同现矩阵:A商品同现列表

评分矩阵:所有用户对A商品的评分

乘机逻辑:不同同现商品下,A商品的乘机

but:计算商品A对于用户甲的推荐向量需要满足:

商品A同现商品各自的评分乘机,再求和

map@key:商品

map@val:

reduce@key:用户+同现

reduce@val:map@key+乘机

计算求和

计算取TopN

同现:

101:101 3

101:102 2

101:103 5

102:101 3

102:102 2

102:103 5

用户评分:

101:12

102:6

猜你喜欢

转载自blog.csdn.net/yaya_jn/article/details/131362783
今日推荐