Lec2 协同过滤_基于邻域| 学习笔记

简介: 快速学习 Lec2 协同过滤_基于邻域。

开发者学堂课程【高校精品课-北京大学 -推荐系统 :Lec2 协同过滤_基于邻域】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/122/detail/3919


Lec2 协同过滤_基于邻域

 

内容介绍:

一、经典系统

二、基本思想

三、算法分类

四、协同过滤的一般步骤

五、收集用户行为数据

 

一、经典系统

1、协同过滤是工业界也是学术界研究最多的算法,1992年,Tapestry 系统是公开的最早的应用 CF 进行信息过滤的系统,施乐公司为解决其 PaloAlto 研究中心内部的资讯过载问题,利用其他用户的显式反馈(标注是否有用),帮助用户过滤新闻组邮件。

1994年基于协同过滤CF的跨网络新闻推荐系统 GroupLens,由 MITT 和明尼苏达大学共同推出,根据相似用户对新闻的评分(1分~5分)预测目标用户对新闻的评分并做出推荐。

在系统框架中可以看出系统会记录每一位用户看完一跳新闻之后的评分,并根据评分给相应的用户进行推荐。其他不同领域的协同过滤系统,电影推荐 MovieLens、音乐推荐 Ringo、书籍( 商品)推荐 Amazon。虽然应用领域和产品各不相同,但方法的基本思想都一样。


二、基本思想

1、协同过滤(Collaborative Filtering, CF) :

利用集体智慧,借鉴相关人群的观点进行推荐,例如小明看哈利波特,

神奇动物在哪里,少年派三部电影,小刚看哈利波特和神奇动物在哪里两部电影,小红只看过龙猫,通过用户的行为,可以看出小明和小刚的兴趣更为相似,所以可以把小明喜欢看的少年派推荐给小刚。

2、基本假设:

(1)过去兴趣相似的用户在未来的兴趣也会相似,所以会把小明喜欢的少年派推荐给小刚,假设小刚也会喜欢这部电影。

(2)相似的用户会产生相似的(历史)行为数据。根据历史行为,判断两个用户是否相似。

 

三、算法分类

1、Top-N 推荐 vs. 评分预测

输入(输出) :隐式的 0-偏好 vs. 显式的评分

Top-N 推荐的输入是隐式的反馈,比如点击购买的行为,评分预测的输入是显示的评分,比如酒店评分,Top-N 推荐的输出预测的是用户推荐项目的相对偏好程度,评分预测一般是用户对酒店评分,

2、基于领域的方法 vs. 基于模型的方法

利用信息的角度不一样

利用局部(邻域)信息 VS .基于全局信息

在内存中存储(记忆)整个数据集 vs. 训练出抽象模型,在存储时只需要存储抽象模型函数即可。

基于领域的方法可以分为基于用户形成过滤,基于项目形成过滤,以及图扩散的是三个方法,基于模型的方法可以分为矩阵分解,关联规则,机器学习。

 

四、协同过滤的一般步骤

1、基于领域的协同过滤主要包括三步,第一个收集数据,第二步针对模型方法寻找领域,第三步是计算推荐结果。

2、基于模型系统的协同过滤也是三步,第一步和第三步相同,第二步把基于领域的,寻找领域变成训练模型。

3、收集数据

目标:收集能反应用户偏好的数据,例如隐式 Top-N 推荐中的点击购买,和显示返回中的评分行为。

4、寻找领域:相似的用户(或项目)

可以根据喜欢行为寻找相似的用户,或者相似的物品。

5、计算推荐结果:根据领域信息计算推荐结果,在例子中可以为用户 a 推荐物品 c,为用户 a 推荐物品 b。

 

五、收集用户行为数据

用户行为

类型

特征

作用

评分

显式

整数,取值[0, n]

精确的用户偏好

点击流

隐式

组用户点击

定程度上反映用户的注意力和喜好

页面停留时间

隐式

一组时间信息

定程度上反映用户的注意力和喜好

保存书签

隐式

布尔值,取值0或1

较精确的用户偏好

标记标签(Tag)

隐式

一些词语

可以分析出用户的情感和兴趣

购买

隐式

布尔值,取值0或1

明确的用户兴趣

显式反馈:用户主动地向系统表达其偏好,一股需要用户在消费完项目后进行额外反馈,会影响用户的体验。

隐式反馈:隐含用户对项目偏好的行为数据,是用户在探索或消费项目过程中正常操作。虽然质量不如显式反馈,收集比较容易,不会对用户的体验产生影响,一般更容易获取较大的隐式反馈数据。

示例

用户购买行为数据:

用户 a 购买过项目{b,d}

用户 B 购买过{a, b, c}

用户 C 购买过项目{a, b, d}

用户 D 购买过项目{a, e}

目标:

为用户 A 推荐项目,如何推荐,给用户A推荐哪些项目。

相关文章
开源测试平台横向测评系列『流马』篇:流马使用及总结
【使用篇】 ● 接口测试:创建接口(添加引用公共参数、添加引用自定义参数)、测试用例(参数关联)、业务流程测试实践 ● web自动化测试:元素管理(添加元素)、测试用例(添加元素)、设计测试场景 ● 测试计划、测试集合与测试用例相互之间的关系 【总结篇】 ● 使用总结:常见的使用注意事项,如变量引用、函数引用、关联参数引用等 ● 优化建议:结合真实使用过程,从用户角度出发,提出的7条优化建议 ● 优缺点总结:优点、缺点、评分(从不同角度评测打分)
开源测试平台横向测评系列『流马』篇:流马使用及总结
|
8月前
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【模型轻量化】| GhostNetV2:利用远距离注意力增强廉价操作
RT-DETR改进策略【模型轻量化】| GhostNetV2:利用远距离注意力增强廉价操作
243 63
RT-DETR改进策略【模型轻量化】| GhostNetV2:利用远距离注意力增强廉价操作
|
3月前
|
自然语言处理 监控 算法
8款卸载流氓软件推荐,阿香婆卸载,geek、HiBit ninstaller、SoftCnkiller、UninstallTool、RevoUnistaller、Wise Force Deleter,Wise Care 365
在卸载软件时,常会留下残留文件和注册表项,影响系统性能甚至导致安装失败。本文介绍了6款专业卸载工具,包括阿香婆卸载、Geek、HiBit Uninstaller等,能深度清理残留,提升电脑运行效率。
559 0
|
9月前
|
机器学习/深度学习 计算机视觉
Make U-Nets Great Again!北大&华为提出扩散架构U-DiT,六分之一算力即可超越DiT
北京大学和华为研究人员提出U-shaped Diffusion Transformers(U-DiTs),重新审视U-Net架构在扩散模型中的潜力。通过引入Token Downsampling方法,U-DiTs在ImageNet 256x256和512x512生成任务中显著提升性能并降低计算成本。实验表明,U-DiT模型不仅超越了DiT模型的性能,在计算效率上也更具优势。论文地址:https://arxiv.org/pdf/2405.02730
195 43
|
9月前
|
存储 开发者 Python
python基本语法
Python的基本语法简洁而强大,支持多种编程范式,包括面向对象编程和函数式编程。通过掌握变量和数据类型、操作符、控制结构、函数、类和模块等基本概念,可以有效地编写高效、可读的Python代码。无论是初学者还是经验丰富的开发者,Python都提供了丰富的工具和库来满足各种编程需求。
288 13
|
10月前
|
传感器 数据采集 自动驾驶
世界模型新突破!极佳科技提出DriveDreamer4D,首次利用世界模型增强4D驾驶场景重建效果
极佳科技提出DriveDreamer4D,一种利用世界模型先验知识增强4D驾驶场景重建的方法。它通过生成符合交通规则的新轨迹视频,显著提升了自动驾驶系统的测试数据质量和时空一致性,相较于现有方法在多项指标上实现显著改进,为自动驾驶技术发展带来新机遇。
205 21
|
12月前
|
机器学习/深度学习 编解码
mmseg配置解析 contract_dilation=True
`contract_dilation=True` 是 ResNetV1c 中的一种设置,用于解决多层膨胀卷积中的“栅格效应”。通过调整膨胀率,使卷积核在不同阶段更密集地覆盖输入特征图,避免信息丢失,提升特征提取质量,尤其在语义分割任务中效果显著。
211 0
|
编解码 边缘计算 安全
阿里云视频云正式支持AV1编码格式 为视频编码服务降本提效
云端AV1视频编码服务发布,节省25%以上码率,屏幕编码和可变分辨率编码工具,让视频体验再升级。
4405 0
阿里云视频云正式支持AV1编码格式 为视频编码服务降本提效