推荐系统学习汇报
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于概念层次树的协同过滤
基于概念层次树的用户模型的生成 1.表示用户Ci的偏好模型为vi={vi1,vi2,...vi|D|}其中,维数为概念层次树中结点的总数|D| vik表示用户ci对树中结点dk∈D的评价,以下介绍该用户模型的计算方法 | D| S v ik 2.设总分S为用户Ci对各个项目种类的评分之和,即 k 1 3.将S平均分配给用户Ci喜好的项目,再将各个项目分得的分值平均分配给该项目所属的各 S 个项目种类,由此得到用户ci喜好项目bj∈f(bj)的初始分值t(djk),即 t ( ) d jk | f ( ) | * | | b j Ri 其中,|Ri|为用户Ci喜好的项目数目;|f(bj)|为bj所属的项目种类数目 4.将djk分得的初始分值按一定规则分配给它的上层项目类别。用(p0,p1,…pr)表示从概念 层次树的顶层结点P0到底层结点Pr=djk的路径,则该路径,则该路径中各级结点Pt的分得的 分值s(Pt)为
数据支持 1.用户信息库 2.学习行为数据 3.资源信息库 4.用户评分库
数据处理 1.数据清理 2.数据转化 3.归一化
形成模型
计算数据稀疏度 计算匹配 度,产生 推荐
内容过滤
冷启动
否
相 似 用 户 的 聚 类
是否大于阈值 预测评分, 产生推荐 协同过滤 是
数据支持:
1.获取数据的方式,即为用户的特征提取,有显式获取,隐式获取,启发式获取 2.数据存在于数据库的管理系统中。数据库管理系统用于数据的存储和管理,主 要涉及到原始数据和转化数据的存放及表之间关系的确立,并便于程序访问和使 用。 数据处理: 1.数据清理具体来说是一个数据优化的过程。删除那些不合要求的记录,能够 更加有效地为用户获取高质量的推荐商品。随着时间的变化,用户的学习或感 兴趣的内容会发生变化,对于需要的商品会产生与之前较大差别。删除时间太 早的用户记录,能够更好的把握用户当前的需求。 2.数据转化式是将用户的信息用向量来表示。 3.归一化处理是把数据值限制在你需要的一定范围内。首先归一化是为了后面 数据处理的方便,其次是保证程序运行时收敛加快。
c:使用决策树归纳作为用户模型学习技术的系统将用户偏好的获取 过程表达成一颗决策树,用户从根节点开始,被引导完成一系列问题的回答。树 的每个节点表示了决策点,所采取的方向取决于问题的回答或者对可用数据的计 算。一旦叶节点被达到,则可得到对用户偏好的完整描述 d:运用神经网络建模的算法,对系统对用户偏好的输入假设进行 学习并调整网络连接权重,直到网络中的所有节点达到稳定激活状态。此时输出 层中被激活的节点所对应的模式类,如感兴趣/不感兴趣类,即表示了系统识别的 用户偏好 e:聚类将具有相似特征的项目或用户分类,使用这类技术的系统 一般建立用户群组的综合模型 3.推荐对象模型:基于内容和基于分类的方法
访问项目总数 10%
则视该项目种类子集为用户不喜好的项目种类,算法将不再在其上寻找邻居进行推荐,以 节省资源。 判定用户喜好的项目种类后,在各喜好的项目种类子集Dh上,依次计算用户Ci和用户Cj的 在各个集合中的相似度。 vi
sim (c , c )
h i j
(v v) (v v )
基于概念层次树的协同过滤
寻找最近邻居 (1)划分项目种类子集 从概念层次树中的结点属性分析,根的各直接子树包含的项目种类的属性相对独立,相互 间关联最小。因此,对项目种类集合做如下划分,即D={Root,D1,D2,…Dw}.Root为Th的根 结点,Dh(h=1,2,…w)为Root的子树Th中各结点(项目种类)组成的集合,w为Root的子树棵树。 (2)寻找喜好种类的邻居 对于用户关注较少或从未关注过的项目种类,本算法将其视为用户“不感兴趣”。根经验 值,若 访问种类子集中的项目 数
| D h| k 1 ik jk j
其中, vik和vjk为用户Ci和用户Cj对项目种类dk∈Dh的评分; 和 v j 为对所有项目种类的平均评分,v i = v j =S/|D|
(vik v ) (v jk v )
| Dh| | Dh | k 1 k 1 i j
2
2
参考文献:
《个性化推荐系统综述》--王国霞,刘贺平(主要对模型的理解与定义) 《一种基于用户聚类的协同过滤个性化图书推荐系统》--孙守义,王蔚(fcm聚类) 《基于概念层次树的个性化推荐算法》--张晓敏,王茜(概念层次树) 《基于协同过滤技术的学习资源个性化推荐研究》--王永固,邱飞岳,赵建龙,刘晖 《个性化推荐系统的研究与实现》--查大元
预测用户i对资源s的评分Ri,s 检索邻居集X中用户j对目标资 源评分Rj,x
检索用户i与J中用户j共同评分过的资源集合Res i,j
计算用户i和用户j的相似度 取相似度最大的前T个用户作为目标用户的邻居集X
协同过滤推荐系统的案例分析
赵 大 TCP/IP协议解 析 算法导论 1 0 钱 二 1 1 孙 三 1 1 李 四 0 0 赵大 钱二 孙李 李四 TCP/ IP协 议解 析 3 1 3 —— 算法 人工 Linu 概率 导论 智能 x操作 统计 系统 —— 6 2 6 5 —— —— —— 5 —— 7
s( p ) t (d jk)
t 0 t
r
s( p )
t
s( p ) b( p ) 1
t 1 t 1
其中,b(Pt)表示结点Pt的兄弟结点个数。 将计算得到的s(Pt)值加到vi中Pt所对应的向量分量上。重复计算每个项目bj∈Ri的每个项 目种类djk∈f(bj)所属路径上各结点的分值,由此建立用户Ci的偏好模型。
参考网址: http://wenku.baidu.com/view/827e7feae009581b6bd9eb3c.html http://wenku.baidu.com/view/740da4fa0242a8956bece421.html?re=vie w http://wenku.baidu.com/view/8c2ac7e0b9f3f90f76c61b5a.html http://www.cnblogs.com/zcftech/p/3147062.html
Comedy
Action
Romantic
Adventure
Military
R1,R2,R3
A1,A2,A3
M1,M2
基于概念层次树的协同过滤
将用户对商品的评分转化为对每个商品种类的评分,建立起基于概念层次树的新用户模型; 利用新的用户模型计算用户在不同商品种类上的相似性,寻找在该商品种类上的最近邻居; 综合各商品种类上的邻居推荐产生top-n推荐。 相关符号的定义 C={c1,c2,...cn}:用户集 B={b1,b2,...bm}:项目集,即商品集 R={R1,R2,...Rn}:用户评价集,R1⊆B为根据隐式访问记录发现的用户Ci所喜好项目的集 合 D={d1,d2...dl}:项目种类集 T:根据领域分类知识由D中所有元素组成的概念层次树,T中各结点互异 f:B→2D:项目种类分配描述,即把项目bj∈B分配到项目种类dj∈Dk下,Dk⊆D由T中的 叶子结点组成,通常具体分配由网站或领域专家给出
人工智能
Linux操作系统 概率统计
1
0 0
1
0 1
0
0 0
0
0 1
—— ——
—— —— ——
TCP:Vecl1=<1,1,1,0> 算:Vecl2=<0,1,1,0> 人:Vecl3=<1,1,0,0> Linux:Vecl4=<0,0,0,0> 概:Vecl5=<0,1,0,1> TCP与其他书目的相似度:Sim1,2=0.82 Sim1,3=0.82 Sim1,4=0.82 Sim1,5=0.41 人与其他书目的相似度:Sim2,1=0.82 Sim2,3=0.5 Sim2,4=0 Sim2,5=0.5
THANKS
冷启动
新进入的用户由于得不到他们 的兴趣偏好而无法获得推荐, 新的,新的推荐项目由于没有 用户评价它就得不到推荐 我们设置了一个阈值, The_value作为选择进行评分 预测或者内容过滤的临界值。 当Sparisty<The_value时,即 可认为系统处于“冷启动”或 者“准冷启动”状态,此时应 选择内容过滤作为对协同过滤 算法的修正。
协同过滤推荐的主要两大问题:
数据的稀疏性
由于用户数目的大量增长,而且用户 之间选择存在差异性,使得用户的评 分差别非常大。同时推荐对象的数量 也大量增长wk.baidu.com使得大量的推荐对象没 有经过用户的评价。这会导致部分用 户无法得到推荐,部分推荐商对象得 不到推荐。 数据稀疏度定义为: 资源已评分条目数 Sparsity= 用户— 用户数 资源数
学习汇报2
蒋炎红 2016.5
contents
1.前期回顾 2.推荐算法的流程
检索用户-资源评分数据 将用户-资源评分数据表示为向量并形成向量 确定用户目标 确定与用户i有共同评分资源的用户的集合J
计算J中用户数M
进入循环(for (x=1;x<M;x++))
取Ri,s值最大的前N个资源推荐给用户
基于概念层次树的协同过滤
Movie
如图所示,用户A评分的电影为 {A1,A2,F1,F2},用户B评分的电影为 {A3,M1,F4}.若按传统的协同过滤, 稀疏的评分使用户A和用户B的相似 为0,他们没有对任何相同电影进行 评分。但从分类关系分析,用户A和 Sci-Fi 用户B应该具有一定相似性,因为他 们都喜欢Adventure和Fantasy类电 影。另外,虽然用户B喜好的M1属于 Military类,但是它和Adventure类 同属于Action类,在传统计算中, Fantasy 原本是无用项甚至破坏项 的M1,实际上对用户A和 用户B的相似性是有一定 贡献的,它使用户A和用 F1,F2,F3,F4 户B的在上层的Action类 上具有了一定的相似性。
建立模型:
用户模型,推荐对象模型 1.基于模型的方法不是基于一些启发规则进行预测计算,而是基于对已有数 据应用统计和机器学习生成的模型进行预测。目前,基于模型推荐的协同过 滤算法主要有聚类模型,Bayes模型,关联规则模型,语义生成模型等。 2.用户模型:建模方式主要有遗传算法,基于机器学习的方法,例如TF-LDF、 自动聚类、贝叶斯分类器,决策树归纳和神经网络方法等。 (1)遗传算法采用遗传结合、遗传交叉变异以及自然选择等操作实现建 模,通过遗传进化满足用户兴趣变化时完成模型的更新。 (2)机器学习:a.TF-LDF将用户感兴趣的文档表示成关键词向量,并计 算出每个关键词权重来建立用户模型 b.使用贝叶斯分类器的系统计算用户浏览或访问过的推 荐对象属于某个给定类的概率,然后依据概率将资源项目分类来建立用户对 这些资源项目的偏好模型
相似用户的聚类-FCM
由上述两个必要条件,模糊C均值聚类算法是一个简单的迭代过程。在批处理方 式运行时,FCM用下列步骤确定聚类中心ci和隶属矩阵U[1]: 步骤1:用值在0,1间的随机数初始化隶属矩阵U,使其满足式(a)中的约束条 件 步骤2:用式(d)计算c个聚类中心ci,i=1,…,c。 步骤3:根据式(6.10)计算价值函数。如果它小于某个确定的阀值,或它相 对上次价值函数值的改变量小于某个阀值,则算法停止。 步骤4:用(6.13)计算新的U矩阵。返回步骤2。 上述算法也可以先初始化聚类中心,然后再执行迭代过程。由于不能确保FCM收 敛于一个最优解。算法的性能依赖于初始聚类中心。因此,我们要么用另外的快 速算法确定初始聚类中心,要么每次用不同的初始聚类中心启动该算法,多次运 行FCM。