最基础的协同过滤介绍

news2025/1/14 18:22:38

文章目录

    • 1.到底什么是协同过滤
    • 2.协同过滤的一般步骤
    • 3.基于用户的CF (User-CF)
      • 3.1 基本介绍
      • 3.2 用户相似度
        • 3.2.1 用户相似度基本介绍
        • 3.2.2 用户相似度改进:ICU
      • 3.3 User-CF的缺点
    • 4.基于项目的CF (Item-CF)
      • 4.1 基本介绍
      • 4.2 用户相似度
        • 4.2.1 用户相似度基本介绍
        • 4.2.2 用户相似度改进
    • 5.协同过滤:基于邻域的评分预测

该系列历史文章:

  • 1.推荐系统最通俗介绍
  • 2.推荐系统常见算法分类


资料整理,来源于北大刘宏志教授讲座内容。

1.到底什么是协同过滤

  • 协同过滤(Collaborative Filtering, CR):利用集体智慧,借鉴相关人群的观点进行推荐。
    在这里插入图片描述

  • 基本假设:

    • 过去兴趣相似的用户在未来的兴趣也会相似(由古及今)
    • 相似的用户会产生相似的(历史)行为数据(由表及里)
  • 协同过滤优缺点

    • 优点:
      • 发现新的兴趣点;不需要领域知识;个性化、自动化程度高
    • 缺点:
      • 协同失效,即基本假设失效

2.协同过滤的一般步骤

  • 收集数据:收集能反映用户偏好的数据
  • 寻找邻域:相似的用户(或项目)
  • 计算推荐结果:根据邻域信息计算推荐结果

在这里插入图片描述

  • 举例:

image-20221126105720276

  • 收集数据说明

image-20221126105846959

显式反馈:用户主动地向系统表达其偏好,一般需要用户在消费完项目后进行额外反馈;

隐式反馈:隐含用户对项目偏好的行为数据,是用户在探索或消费项目过程中正常操作。

3.基于用户的CF (User-CF)

3.1 基本介绍

基本思想:

  • 基于用户对项目的历史偏好找到相邻(相似)的用户

  • 将邻居(相似)用户喜欢的项目推荐给当前用户

image-20221126110347291
  • 假设:
    • 与我兴趣相似的用户喜欢的项目,我也会喜欢
  • 关键:
    • 寻找相似用户
    • 用户相似度度量

基于 User-CF 的推荐系统整体流程:

  • 离线预处理:

    • 计算用户之间的相似度

    • 并据此确定每个用户的邻域(K近邻)

  • 在线推荐:针对当前活跃(目标)用户,计算推荐列表

    • 确定候选项目集

    • 预测兴趣度并生成推荐列表

3.2 用户相似度

3.2.1 用户相似度基本介绍

用户相似度计算方法:

image-20221126111015732

用户相似度的问题:

  • 下面哪一组用户更相似?

    • 用户A和B都买过《新华字典》

    • 用户C和D都买过《 Recommender Systems Handbook》

  • 【思考】热门项目对我们推荐的影响,如何解决?

3.2.2 用户相似度改进:ICU

逆用户频率(Inverse User Frequency)

  • 基本思想:惩罚热门项目

  • 两个用户对冷门项目有过同样行为更能说明他们兴趣相似

image-20221126111911744

3.3 User-CF的缺点

  • 难以形成有意义的邻域集合

    • 很多用户两两之间只有很少的共同反馈

    • 而仅有的共同反馈的项目,往往是热门项目(缺乏区分度)

  • 随着用户行为数据的增加,用户间相似度可能变化很快

    • 离线(offline)算法难以瞬间更新推荐结果

4.基于项目的CF (Item-CF)

4.1 基本介绍

基本思想:

  • 基于用户对项目的反馈(偏好)寻找相似(相关)的项目
  • 根据用户的历史反馈(偏好)行为,给他推荐相似的项目
image-20221126112556163
  • 假设:

    • 我过去喜欢某类项目,将来还会喜欢类似(相关)项目
  • 关键:

    • 寻找相似(相关)项目
    • 项目相似(相关)度度量

基于 Item-CF 的推荐系统整体流程:

和前面基于用户的非常类似,在此不做展开

  • 离线预处理、在线推荐

4.2 用户相似度

4.2.1 用户相似度基本介绍

用户相似度计算方法:

image-20221126113015485

4.2.2 用户相似度改进

image-20221126113222026

5.协同过滤:基于邻域的评分预测

基于领域的协同过滤算法的关键在于相似度度量的构造。主要有:

  • 余弦相似度

  • 皮尔逊相似度

  • 杰卡德相似度

除此之外,还有通过距离度量来构造相似度:

  • 欧式距离
  • 曼哈顿距离
  • 闵可夫斯基距离

这部分内容都比较常规,或者前面讲过,在此不再展开。


本文主要介绍了协同过滤基本内容,协同过滤,即利用集体智慧,借鉴相关人群的观点进行推荐。其后又介绍了基于用户、项目的协同过滤。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/45141.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

xss-labs/level6

我们输入平常的payload如下 <script>alert(xss)</script> 界面回显如下 源代码如下所示 可以发现后台服务器对特殊字符进行插入操作 我们寄希望于后台不要插入下划线到onxxx关键字中 所以构造如下 " onclickjavascript:alert(xss)>// 由于界面没有回…

教程七 在Go中使用Energy创建跨平台GUI - Cookies

教程-示例-文档 介绍 本文介绍在energy中的cookie操作 在energy中可以对cookie的增加、修改和删除以达到某种目的 对cookie操作时&#xff0c;是以调用功能函数后触发事件的方式返回调用功能函数的结果 运行此示例&#xff0c;需要安装好Go和Energy开发环境&#xff1a;教…

有问题直接说问题,问什么在不在???

有什么问题可以直接说&#xff0c; 比如把你的项目地址、需求、错误复现步骤通过任何方式告诉我 比如&#xff1a; CSDN&#xff1a;发送消息&#xff0c;博客评论等&#xff0c;禁止发"在吗" 发邮件&#xff1a;xuxiaoweixuxiaowei.com.cn。 微信群&#xff1a; 禁…

麦芽糖-紫杉醇maltose-Paclitaxel

麦芽糖-紫杉醇maltose-Paclitaxel 中文名称&#xff1a;麦芽糖-紫杉醇 英文名称&#xff1a;maltose-Paclitaxel 别称&#xff1a;紫杉醇修饰麦芽糖&#xff0c;PTX-麦芽糖 还可以提供PEG接枝修饰麦芽糖&#xff0c;麦芽糖-聚乙二醇-紫杉醇,Paclitaxel-PEG-maltose,紫杉…

redis配置文件详解

一、概述 redis的配置文件中&#xff0c;有着许多说明和可配置项&#xff0c;了解它们能够更好的使用redis去解决开发中遇到的困难。 此配置文件基于linux下的redis-6.2.4版本。 二、单位换算描述-units 在配置文件开头就有这么一段&#xff1a; 这里描述了一些基本的度量…

信息流广告投放的技巧

随着互联网的发展&#xff0c;信息时代已经到来&#xff0c;信息流广告逐渐受到众多广告主的青睐。 做广告&#xff0c;不仅需要投入大量的精力&#xff0c;还需要一定的资金&#xff0c;花这么多&#xff0c;自然是要收获不错的收益。广告主在广告信息流的时候都追求高ROI&am…

蓝牙耳机什么牌子好?安卓蓝牙耳机性价比推荐

戴耳机所听到的音效是完全不同的&#xff0c;体验感也是完全不一样&#xff01;而有线的耳机戴起来一点也不方便&#xff0c;因此更多的人选择无线蓝牙耳机&#xff0c;但是很多新手发帖不知道蓝牙耳机啥牌子好&#xff1f;安卓手机的配置越来越好&#xff0c;深受大众的欢迎&a…

Python中的dump() 、load()和dumps()、loads()使用及示例

Python中的dump() 、load()和dumps()、loads() 结论&#xff1a; 1.不加s的标识对json文件的读写&#xff0c;将内存中值读取写入到json后缀文件&#xff0c;或者将json后缀文件中内容读取到内存 2.加了s的主要是字符串类型和其他数据类型的互转 JSON(JavaScript Object No…

KubeSphere 社区双周报 | KubeKey v3.0.2 发布 | 2022-11-24

KubeSphere 从诞生的第一天起便秉持着开源、开放的理念&#xff0c;并且以社区的方式成长&#xff0c;如今 KubeSphere 已经成为全球最受欢迎的开源容器平台之一。这些都离不开社区小伙伴的共同努力&#xff0c;你们为 KubeSphere 提出了很多建设性意见&#xff0c;也贡献了很多…

扫除知识共享障碍,天翎知识文档管理系统+群晖NAS一体化解决方案

编者按&#xff1a;知识共享是企业知识管理的重要模块&#xff0c;本文阐述了企业知识共享中常遇到的障碍&#xff0c;并指出知识文档管理系统可以帮助解决这些问题&#xff0c;而NAS与知识文档系统的结合更是锦上添花。 关键词&#xff1a;文档分类&#xff0c;版本管理&…

你想要知道的“全电发票接口”

老规矩&#xff0c;即使你看到此文前&#xff0c;你多少知道点“全电发票”的一些知识&#xff0c;这里方便那些还没得空抢先获取的知友小伙伴们梳理下相关知识点。 ** 一、全电发票具体的定义 ** 全电发票是国家税务总局随着金税四期推出的全国统一的电子发票服务平台&…

护眼台灯该怎么样选择?2022如何选择一款好的护眼台灯

随着社会的高度发展&#xff0c;人们的生活水平也渐渐得到提高&#xff0c;大家也慢慢开始在意平时生活中的健康问题了&#xff0c;比如眼睛健康就是一个很重要的点。现在的年轻人&#xff0c;尤其是青少年儿童&#xff0c;走在大街上普遍都能看见带着眼睛&#xff0c;近视情况…

B2B电子商务网站方案:为专用设备行业注入新动力,加快产业数字化转型升级

专用设备是指设备的结构、性能专门针对某一种或一类对象&#xff0c;实现一项或几项功能的工业&#xff0c;包括工程机械、光伏设备、锂电设备、3C设备、半导体设备等。近年来&#xff0c;受市场对专用设备的应用需求不断扩大、产业技术升级趋势加快等影响&#xff0c;我国专用…

段错误,虚拟内存,内存映射 CSAPP

相信写代码的或多或少都会遇到段错误&#xff0c;segmentation fault. 今天终于看到这里面的底层原理 参考&#xff1a; https://greenhathg.github.io/2022/05/18/CMU213-CSAPP-Virtual-Memory-Systems/18-Virtual-Memory-SystemsSimple memory system exampleAddress Trans…

Las Vegas 与回溯组合法解八皇后问题

八皇后问题&#xff0c;是一个古老而著名的问题&#xff0c;是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯贝瑟尔于1848年提出&#xff1a;在88格的国际象棋上摆放八个皇后&#xff0c;使其不能互相攻击&#xff0c;即任意两个皇后都不能处于同一行、同一列或同一斜线上…

刷爆力扣之卡牌分组

刷爆力扣之卡牌分组 HELLO&#xff0c;各位看官大大好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 今天阿呆继续记录下力扣刷题过程&#xff0c;收录在专栏算法中 &#x1f61c;&#x1f61c;&#x1f61c; 该专栏按照不同类别标签进行刷题&#xff0c;每个…

DDOS防护如何建设?

数字化转型发展也推动了云计算、人工智能、大数据、物联网等新一代信息技术应用普及&#xff0c;与此同时&#xff0c;新时代的发展也带来了新的网络威胁和新的安全需求。我们不难发现&#xff0c;近年网络攻击时间层出不穷&#xff0c;全球范围来看&#xff0c;企业因遭受网络…

quilt基本使用

一、简介 quilt是制作补丁和管理的工具。比如想用开源代码做一些项目&#xff0c;我们如果直接在开源代码里进行修改&#xff0c;等到下次开源代码升级后&#xff0c;我们再将我们修改的部分转移到新版本的开源代码中就需要进行大量的新旧版本对比工作。那如果我们将这些改动使…

3D视觉应用案例:引导板件定位抓取

3D引导板件定位抓取 某知名模具钢材集团 项目背景 广州某知名模具钢材集团&#xff0c;需求3D引导板件定位抓取和2D识别信息获取功能。原场景用的桁车设备加人工搬运安全系数极低。 作业流程 • 3D相机视觉识别产品位置后&#xff0c;通过机器人电磁铁完成产品的抓取。 •…

大数据 安装配置centOS

安装vmware workstation 启动vmware workstation 启动【编辑】菜单下的“虚拟网络编辑器” 更改VMnet8 查看DHCP设置 查看NAT设置 安装centos7 链接&#xff1a;https://howard2005.blog.csdn.net/article/details/126830182?spm1001.2014.3001.5502 启动虚拟机 虚拟机 查…