简单推荐系统的个人喜好如何用向量表示?

来源:3-7 Numpy 中向量的基本使用

他门说这就是人生

2020-07-06

老师在讲向量时,以简单推荐系统举例说,个人喜好的向量与所要推荐的商品所成的向量夹角小于90度则表示喜欢这些商品,则可以推荐。那么,请问这个向量是怎样一个向量呢?这个向量的每个元素是数字还是直接是他的喜好呢?一般在推荐系统中,编程里,怎么表示的这些向量?

我现在的理解是:

例如:

一部电影(记作电影1),他的标签有:动作,喜剧,奥斯卡电影。

那么表示成向量是 (动作, 喜剧, 奥斯卡电影)。

如果某人喜欢或经常看的电影的标签有 (奥斯卡电影, 悲剧, 情感)。

那么,给此人推荐的此电影的程度就为1(有一个标签重合,或说此人喜欢的电影所成的向量对这部电影所成的向量有1一个贡献)

如果,另一部电影(记作电影2)为(奥斯卡电影, 情感, 传记),那么推荐系数就为2(有2个标签重合)。

所以,推荐系统就会优先推荐电影2,而把电影1的推荐排在后面。


对于用户标识过不喜欢的电影,则会通过其他算法算出该用户不喜欢的电影标签的向量,如果和电影1和电影2有重合,就不会推荐给此用户了。

在推荐系统中是这样吗?还是用其他方法表示的向量呢?谢谢老师。

写回答

1回答

liuyubobobo

2020-07-06

一个简单的表示是,把不同的属性作为一个维度:


比如:(是否是奥斯卡电影?;是否是动作电影;是否是喜剧;是否是情感片;是否是传记片)当然,还可以有很多维度。


你说的电影1,就是 (1, 1, 1, 0,0)

你说的电影2,就是(1,0,0,1,1)

某个人的偏好,可能是(1,1,0,0,1)


根据这些向量就可以进行计算。


当然,我在课程中说的向量角度,只是一种计算形式。和这个课程中所讲的各种机器学习不同的标准一样,推荐系统的世界中也有不同的标准和计算方式,具体,需要具体学习推荐系统了,不在这个课程的范围里了。


印象里慕课网上有推荐系统相关的实战课程,有兴趣可以参考。


继续加油!:)

0
1
他门说这就是人生
好的,谢谢老师。一定加油!
2020-07-06
共1条回复

结合编程学数学 专为程序员设计的线性代数

创新设计,通俗易懂。编程结合数学,bobo带你彻底征服线性代数

3404 学习 · 375 问题

查看课程