几种用户相似度计算方法及其优缺点

2023-11-09

 进行用户协同过滤时,一个关键问题是如何计算用户之间的相似性。比较常见的计算用户相似度的算法有余弦相似性、皮尔森系数、调整余弦相似性三种。

    这三种相似性都是基于一个称为用户-项目矩阵的数据结构来进行计算的。该数据结构如下:
    几种用户相似度计算方法及其优缺点

    余弦相似性:把用户评分看作是n维项目空间上的向量,通过计算两个向量之间的夹角余弦来度量两个用户之间的相似性。

    皮尔森系数:又称相关相似性,通过Peason相关系数来度量两个用户的相似性。计算时,首先找到两个用户共同评分过的项目集,然后计算这两个向量的相关系数。
    调整余弦相似性:将余弦相似性中的向量,减去用户平均评分向量后,再计算夹角余弦以修正不同用户评分尺度不同的问题。

    在数据比较稀疏的情况下,这几种方法均存在一定问题:余弦相似性和调整余弦相似性对于用户未评价项目评分为0的假设;皮尔森系数中用户共同评分项目集可能很小。

    在垂直搜索引擎中,用户数据具有相当的稀疏性。所以需要通过一定的手段来消除这种稀疏性。我的思路:
    1.垂直搜索中存在一个项目的目录(树形结构),如果自顶向下进行评分,并将子项目分数与父项目分数按一定规则运算后作为最后评分。从而填充稀疏矩阵为密集矩阵。
    2.按照密集矩阵进行推荐。

   

 

转载于:https://my.oschina.net/u/347386/blog/500806

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

几种用户相似度计算方法及其优缺点 的相关文章

随机推荐

  • Django4.0+使用rest_framework_jwt的问题

    问题描述 python版本 3 10 Django版本 4 1 djangorestframework jwt版本 1 11 0 在写jwt认证功能时 发现run的时候会报以下错误 from django utils translation
  • VUE 自身页面跳转自身页面

    先说一下要实现的功能 点击原案件 要回到原案件 但是原案件页面和现在的页面一样 也就是自身跳转自身页面 路由地址不变 使用vue祖传的push 方法来挑转的话 你会发现可以跳转过去 但是页面会刷新 不会触发vue生命周期函数 方法一 thi
  • [转]No response for the toolbars in BEx Analyzer 2004s

    Summary Symptom After installing the frontend either from the CD or through applying the frontend support package or the
  • 2022年蓝桥杯省赛 C/C++ A组B题灭鼠先锋题解

    问题描述 本题为填空题 只需要算出结果后 在代码中使用输出语句将所填结果输出即可 灭鼠先锋是一个老少咸宜的棋盘小游戏 由两人参与 轮流操作 灭鼠先锋的棋盘有各种规格 本题中游戏在两行四列的棋盘上进行 游戏的规则为 两人轮流操作 每次可选择在
  • 《UNIX网络编程》卷一第四章学习笔记

    UNIX网络编程 卷一第四章学习笔记 4 2 socket函数 include
  • 2023华为OD机试真题【计算快递业务主站点/回溯法/深度优先搜索】

    题目描述 快递覆盖的范围有N的站 如果A和B都可以用来中转 我们就称A B站可达 如果A B可达 B C可达 则A C达 我们现在有N个编号 如果s i j 1 表示i j可达 如果s i j 0 表示i j不可达 现用二维数组给定N个站点
  • 使用python爬取微信公众号文章

    一 背景 有时候看到某一个微信公众号中的文章 觉得写的非常不错 有种当时就想把该公众号所有的文章都看完的冲动 但是使用手机看不是特别方便 就想把文章全部下载下来到电脑上面看 二 爬虫实现步骤 使用python爬取微信公众号文章 总共分为如下
  • 图片加载防闪动的CSS方法

    图片闪动 在移动端设置图片布局时 图片使用自适应的方式 其父元素的高度是被图片高度撑开的 在图片加载前 父元素高度为0 加载后 父元素高度为图片高度 这样的过程会造成视觉上的闪烁 影响用户体验 因此 在用图片撑开父元素高度之前 就需要给父元
  • 安装sql server时提示缺少.NET 3.5 sp1

    这几天遇到了一个问题 在安装sql server的时候总是提示我没有安装 NET framework 3 5 sp1 但是我电脑上已经安装了它 多次尝试之后我百思不得其解 今天终于解决了 我的系统是win8升级上来的win10 在升级的时候
  • 一种横向业务的解决方案 -- AOP

    AOP Aspect Oriented Programming 即面向切片编程 所谓面向切片编程 就是可以按照时间 将程序分成无数个时间节点 利用AOP的思想 可以在任何一个时间节点插入其他的代码 来实现自己的业务需求 换句话说 对于那些非
  • java循环栅栏CyclicBarrier 使用详解

    1 CyclicBarrier 是什么 从字面上的意思可以知道 这个类的中文意思是 循环栅栏 大概的意思就是一个可循环利用的屏障 它的作用就是会让所有线程都等待完成后才会继续下一步行动 举个例子 就像生活中我们会约朋友们到某个餐厅一起吃饭
  • 单片机c语言屏蔽第四位,【单片机C语言基础入门】第四章:运算符与表达式

    大家好 今天和大家探讨的是单片机C语言中的运算符和表达式 前边介绍了C语言中的变量的表示 然而在计算的过程中只有变量是不能完成计算的 因此运算符和表达式为变量 包括常量 来做特定的操作 来实现数据的运算 因此运算符和表达式是C语言中不可或缺
  • 网卡多队列 (解决traceroute路由不能直达)以及高丢包问题

    多队列指实例规格支持的最大网卡队列数 单个ECS实例vCPU处理网络中断存在性能瓶颈时 您可以将实例中的网络中断分散给不同的CPU处理 经测试 在相同的网络PPS和网络带宽的条件下 与1个队列相比 2个队列最多可提升性能达50 到100 4
  • Keras-9 实现Seq2Seq

    A ten minute introduction to sequence to sequence learning in Keras 简单介绍如何用Keras实现Seq2Seq模型 原文链接 https blog keras io a t
  • SIMD简介

    SIMD简介 知乎本篇文章包含的内容有SIMD指令集简介以及简短的practice环节 1 SIMD的历史与分类SIMD Single Instruction Multiple Data 即单指令流多数据流 是一种采用一个控制器来控制多个处
  • 【EI检索】第五届信号处理与机器学习国际会议

    2022年第五届信号处理与机器学习国际会议 SPML 2022 及其分会2022年第四届人工智能技术国际会议 AITC 2022 将于2022年8月4 6日在中国大连召开 SPML AITC 2022目前已成功在上海 杭州 北京 线上召开过
  • c++实验总结_史上最全场景文字检测资源合集(70篇重要论文 + 15个开源代码 + 176个实验结果 + 1305个统计信息)...

    本文总结了2012年以来在场景文本检测领域的70篇代表性论文 21个常用数据集 15份开源代码 包含176个实验结果以及超过1300条统计信息 Github资源链接见文末 一 前言 许多自然场景中包含着丰富的文本信息 对于理解自然场景图像有
  • 2020 mse 清华_【清华大学】清华大学2020届推免生入围名单汇总

    我把能找到的清华入围名单 进入复试名单 都给大家发一下 做一个资料备份 尤其是有些系所的名单有本科学校 这可是非常珍贵的分析资料 首先给我的现在专业 招生简章 清华大学经济管理学院 http masters sem tsinghua edu
  • pop服务器未响应,servlet测试控制台无反应啊??求大神帮忙,

    String path request getContextPath String basePath request getScheme request getServerName request getServerPort path gt
  • 几种用户相似度计算方法及其优缺点

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 进行用户协同过滤时 一个关键问题是如何计算用户之间的相似性 比较常见的计算用户相似度的算法有余弦相似性 皮尔森系数 调整余弦相似性三种 这三种相似性都是基于一个称为用户 项