向量代数,书评网站利用户间的不相关性推荐

本文介绍了向量和余弦距离的概念,并通过书评网站的用户评分示例,展示了如何利用余弦距离衡量用户之间的相似性。在初始应用中,全满分或全低分的用户被误判为相似。通过调整评分实际值,解决了这一问题。此外,还讨论了负余弦距离如何揭示用户间的不相关性,并在推荐系统中利用这种不相关性提高推荐的精准性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

各种大佬说,想要在开发走得远,必须学好数学。好比如,数学类似内功心法,编程技能是招数,你苦练招数,只是增加熟练度,到了后面想要打败更强大的敌人,单凭招数熟练度是啃不动的了,所以这个必须拥有强大的内功心法,让招数发挥更强大的威力才得以击败他。

这次,总结一下自己近段时间学习数学的知识和例子,并且为自己解惑一下,书评网站如何利用用户不相关性,推荐书给你,以达到自己内功和招数的融合。

向量

向量是一个有方向和大小,且满足平行四边形法则的几何对象。比如下图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i91P7lGJ-1633676799336)(sN2w8S.png)]

  • 方向:箭头表示的方向,比如你汽车行驶的方向
  • 大小:(m,n)长度,比如你汽车行驶方向时的速度

余弦距离

首先得先了解一下余弦距离,从几何上看,两个向量夹角几乎为0时,非常相似;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lHk0HZdG-1633676799339)(rgG39I.png)]

当然夹角为0的时候,两者关系最为紧密,此时余弦值为1。而相互垂直时,余弦值为0,相关性最差,或称相互独立:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m22ZH5fz-1633676799341)(rgJnx0.gif)]

也就是说,从上面可以得出:
1.两根向量夹角越小,相关性越强
2.两根向量垂直,彼此之间就没有关系,相互独立
3.两根向量夹角为180°的时候,则完全相反

利用余弦夹角挖掘用户相关性 – 某书评

正因为余弦距离解释了事物的相关性,所以有非常多的应用。比如在数据挖掘中,很多时候通过比较用户数据的余弦距离,以判断用户的相似性。

下面是某书评网站,用户对一些书籍进行了相应的评分:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-syLhf9oI-1633676799343)(rgtHK0.png)]

那么第一个用户信息可以用向量 u=(4,3,0,0,5,0) 来表示。

第二个的用户信息可以用向量 v=(5,0,4,0,4,0 ) 来表示。

则它们的相似性就可以用余弦距离来表示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pyN1y9UX-1633676799344)(rgUwpd.png)]

带入数据,结果保留到小数点后两位:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ofmmuWgg-1633676799345)(rgULh4.png)]

以此类推,我们就可以做出如下表格,表明各个用户的相似性:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-brmb9AO9-1633676799346)(rgdmRJ.png)]

但是这有一个问题,比如第一个用户喜好假如是:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IrCG0LP6-1633676799347)(rgdtRH.png)]

也就是说他对所有的书评分都为1。

而第二个用户的喜好是:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4BkgcQfv-1633676799347)(rgdDdf.png)]

也就是说他对所有的书评分都为5。

按照我们的直觉,这两个人喜好是很不相同,但是:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-heikPiRR-1633676799348)(rgdfLq.png)]

余弦距离居然表明两者的喜好是相同的。

我们来改进一下:

  • 5分,表示很喜欢,实际值为2
  • 4分,表示喜欢,实际值为1
  • 3分,表示中性态度,实际值为0
  • 2分,表示讨厌,实际值为-1
  • 1分,表示很讨厌,实际值为-2
  • 不打分,默认实际值为0

因此,第一个用户喜好的实际值为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u0i78fT3-1633676799349)(rg0GgH.png)]

而第二个用户喜好的实际值为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RQY0a8Wo-1633676799349)(rg0h5T.png)]

结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AQtrR9f8-1633676799350)(rg0jIK.png)]

-1表示两人的爱恨是相反的。

反过来利用不相关性

-1,也就是相反的爱恨不代表不相关,我们可以这么来看,比如我们知道第一个用户和第二个用户的余弦距离为-1,那么第一个用户喜欢的就不要推荐给第二个用户,第一个用户讨厌的可以推荐给第二个用户,所以实际两人是相关的,而且还非常相关。

有句话怎么说来着:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zJ0bgNjN-1633676799350)(rgDAX9.jpg)]

总结

有人可能会问,实际上开发中了解这个有什么用。其实如果你工作上真正遇到需要开发类似这种推荐系统的时候,如果你了解这个原理,你就有了方向。有了方向,你可以仿照上面书评的例子,根据自己的业务需求,更改其中的变量,或者增加一些其它参数变量以便更接近你需要的效果。

呐,这不是万变不离其宗的意思么?

参考链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值