相似度计算方法:余弦相似度

最近接触到了推荐系统 ,在这个专题中,和大家分享一下自己的收获和心得。

基于用户的协同过滤算法

基于用户的协同过滤算法是推荐系统中最古老的算法,这个算法是1992年提出的,是用在了邮件过滤系统中,后面被用到了新闻过滤系统中。简单的来说,推荐系统中,基于用户的协同过滤就是,先找到与目标用户兴趣相似的用户,然后把这些用户喜欢的推荐给目标用户,先找到与目标用户兴趣相似的用户就是计算用户之间的相似度,今天主要就是讲讲用余弦相似度。

余弦相似度原理

用向量空间中的两个向量夹角的余弦值作为衡量两个个体间差异大小的度量,值越接近1,就说明夹角角度越接近0°,也就是两个向量越相似,就叫做余弦相似

余弦相似度公式

从书里面拿出来的公式,犹豫不会在线打数学公式,用手写的照片代替


书里面的公式

直接背书可能大家会迷糊,给大家来个通俗版的


通俗版公式

这个通俗版的大家应该可以看明白,下面就来说说推导公式的过程

推导公式的过程

如图a、b向量,夹角为θ


a、b两个向量

如图做辅助线c


辅助线c

现在的问题,就是求θ的余弦值,根据余弦定理,相比大家还记得吧
余弦定理

如图,把这个模型放到二维坐标系中


三角形的三个顶点坐标如图

那么,构建出来的三角形,三条边的边长如下:
a、b、c三条边的边长

把a、b、c边长带入余弦定理公式,计算过程如下:
推导过程如下

这是在二维坐标中,进行推导的,如果过程扩展到n位坐标系中,这个公式就是上面说通俗版公式

举个栗子

A用户对a、b、d物品有兴趣,B用户对a、c物品有兴趣,C用户对b、e物品有兴趣,D用户对c、d、e物品有兴趣,把这个转化成向量图,带入公式计算得出相似度,计算过程如图所示


计算过程

余弦相似度就为大家分享到这里,欢迎大家来交流,指出文中一些说错的地方,让我加深认识,愿大家没有bug,谢谢!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 协同过滤和推荐系统几乎可以划等号,协同过滤的重点在于“协同”,所谓协同,也就是群体互帮互助,互相支持是集体智慧的体...
    andyham阅读 5,858评论 0 3
  • 在《程序员》12月刊A中,我们介绍了POI(兴趣点)的设计及其搜索。由于推荐系统是兴趣点系统的核心,所以接下来,我...
    阿七笔记阅读 10,282评论 0 8
  • 作者 | HCY崇远 01 前言 本文源自于前阵子连续更新的推荐系统系列,前段时间给朋友整理一个关于推荐系统相关的...
    daos阅读 10,983评论 0 77
  • 概述及标签体系搭建 1 概述 随着信息技术的迅速发展和信息内容的日益增长,“信息过载”问题愈来愈严重,愈发带来很大...
    JinkeyAI阅读 23,221评论 10 241
  • 这篇文章的技术难度会低一些,主要是对推荐系统所涉及到的各部分内容进行介绍,以及给出一些推荐系统的常用算法,比起技术...
    我偏笑_NSNirvana阅读 14,238评论 5 89

友情链接更多精彩内容