推荐算法:基于特征的推荐算法

来源:互联网 发布:学软件开发工资待遇 编辑:程序博客网 时间:2024/05/04 00:22

http://www.cnblogs.com/zhenjing/archive/2012/09/26/recommendation_system.html

推荐算法准确度度量公式:

其中,R(u)表示对用户推荐的N个物品,T(u)表示用户u在测试集上喜欢的物品集合。

集合相似度度量公式(N维向量的距离度量公式):

Jaccard公式:

其中,N(u)表示用户u有过正反馈的物品集合。

余弦相似度公式:

UserCF公式:

其中,S(u,k)表示和用户u兴趣最接近的K个用户集合;N(i)表示对物品i有过正反馈的用户集合;w(u,v)表示用户u和用户v的兴趣相似度;r(v,i)表示用户v对物品i的兴趣。默认取r(v,i)=1或0。

 

视角:用户即是特征。完全的个性化,每个用户都是唯一的,每个用户表示一维的特征。用户数量即是特征空间的维度,用户特征表示成TU(u)={0,0,0, ... , 1, ..., },t(u, u)=1, 其余为0。 对于物品的特征向量TI(j)={0, 1, 1, 1, 0, ... , ...}, 凡购买物品i的用户维度特征均为1。 进一步,物品的特征空间可用用户购买的次数表示。相似度w(u,v)看成相应维度特征的加权值。

ItemCF公式:

其中,S(i,k)表示和物品i最相似的K个物品集合;N(u)表示用户喜欢的物品集合;w(i,j)表示物品i和物品j的相似度;r(u,i)表示用户u对i物品的兴趣。默认取r(u,i)=1或0。

 

视角:物品即是特征。每个物品都是唯一的,每个物品表示一维的特征。物品数量即是特征空间的维度,物品特征表示成TU(u)={0,0,0, ... , 1, ..., },t(u, u)=1, 其余为0。 对于用户的特征空间TI(j)={0, 1, 1, 1, 0, ... , ...}, 凡购买物品i的维度特征均为1。 进一步,物品的特征空间可用用户购买的次数表示。相似度w(i,j)看成相应维度特征的加权值。

LFM公式:

其中,F表示隐类数量;p(u,k)表示用户u对第k个隐类的兴趣度;q(i,k)表示第k个隐类和物品i的相似度。Alpha表示学习速率;lamda表示正则化参数。

 

视角:LFM的公式就是典型的特征向量空间和特征加权矩阵的泛化表示形式。

TagCF公式:

n(u,b)表示用户u打过标签b的次数;n(b,j)表示物品i被打过标签的次数。

 

视角:标签即是特征。

关系链推荐公式:

其中,F(u)表示用户u的好友集合;w(u,v)可表示用户u和v的熟悉程度(共同好友数),也可表示用户u和v兴趣的相似度(UserCF定义),也可是二者的综合度量;r(v,i)表示用户v对物品i的兴趣。默认取r(v,i)=1或0。

 

视角:好友是特征,或者好友兴趣是特征。

信息流推荐公式:

其中,信息流i的边e表示其他用户对信息流i产生行为;E(e)表示和信息流i边的集合;v(e)表示用户v和当前用户u的相似度(熟悉度);w(e)表示边类型的权重;d(e)表示边e的时间衰减参数。

推荐算法小结

所有的推荐算法都可看成是基于特征向量空间和特征加权矩阵的推荐算法。

 

当特征向量的维度很大时,基于特征向量空间和特征加权矩阵的推荐算法计算复杂度将很大。常见的做法是采用降维技术,比如使用minhash(simhash)。另一种做法是先聚类,将N维的特征空间,转变成M维的特征空间(M<N)。比如在ItemCF算法中,可对物品聚类,然后采用M类的物品作为特征。当然降维后需要计算权值矩阵。

 

另一种极致做法:抛弃权值矩阵,在分类的基础上,直接根据类别推荐。即基于特征向量的匹配。

基于特征匹配的算法框架(用户或物品均可):

1) 特征选取

a) 已知用户特征:直接根据特征分类

b) 未知用户特征:聚类,如LFM

2) 利用购买用户特征,计算物品的特征。比如简单选取TopN个用户特征作为物品的特征;

3) 根据用户特征和物品特征实现推荐,如果特征空间有限(类别不多),可采用类别推荐;如果特征空间巨大,可通过计算特征距离实现推荐。

3种关联用户和物品的推荐系统

 

基于特征的推荐算法

说明:当用户喜欢多个特征,物品具有多个特征时,即是典型的特征向量空间和特征加权矩阵的推荐算法;当用户只喜欢1个特征,物品只具有单个特征时,即基于特征分类的推荐算法。

在实际应用中,常常采用多个推荐算法,分别实现不同的推荐引擎,最后根据不同的推荐引擎的结果做融合,即算法融合,常见的就是加权融合。

推荐系统架构

 

实际推荐系统通常采用多种推荐算法,并根据用户的实时行为反馈调整用户的特征向量(特征的加权系数),进而融合各个推荐算法的推荐结果,在此基础上过滤不要的推荐项,最后结合用户使用场景调整推荐结果排名,给出最终推荐结果。

基于不同特征的推荐算法经常采用定期计算、定期更新特征物品推荐表,比如基于Item的相似度特征,可保存每个item最相关的K个Item;基于用户,保留每个用户最近的N个item;基于基于tag特征,保存每个tag最多次数的M个item;基于用户年龄特征,保存每个年龄段最热门的N个Item;基于用户like,保存各个用户最近喜欢的N个item,或最喜欢的M个类别……

用户的实时行为反馈和用户当前场景都将实时影响最终的推荐结果,用户的实时反馈可直接影响推荐结果融合,而用户的场景将决定推荐结果的排序和展示。同时用户的反馈也将影响离线计算的物品推荐数据。

参考文献:

推荐系统实践  -- 项亮 2012

Hulu’s Recommendation System


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小孩发烧后惊厥怎么办 深圳民办学校停办学生怎么办 教育机构不退钱怎么办 智慧树错过选课怎么办 河南城建学院怎么办网 建学校土地手续怎么办 德国预科不能毕业怎么办 想出国打工怎么办手续 终结执行了该怎么办 网银界面打不开怎么办 abr检查结果异常怎么办 大排畸胎儿位置不好怎么办 交社保中途死了怎么办 不知道社保密码怎么办 社保卡没有信息怎么办 医保卡没有信息怎么办 信访局不受理怎么办 没身份证怎么办健康证 海峡银行怎么办医保卡 小学借读生学籍怎么办 光头也有头皮屑怎么办 情侣没话题了怎么办 月经前后有异味怎么办 头发里有湿疹怎么办 公务员退休职业年金怎么办 迅雷打不开怎么办安卓 苹果迅雷闪退怎么办 青羊区爱君家政欺骗学员怎么办 工地拿不到钱怎么办 包工头拿不到工程款怎么办 华夏盾密码错六次怎么办 怀孕六个月有孕纹了怎么办 课堂上不会讲课怎么办 怀孕吃薏米粥怎么办 吃了薏米肚子痛怎么办 孕期吃了薏米怎么办 怀孕误食薏米水怎么办 薏米吃多了怎么办 花生米炸糊了怎么办 经期吃了薏米怎么办 身体湿气很重怎么办