简单推荐系统的个人喜好如何用向量表示?
来源:3-7 Numpy 中向量的基本使用
他门说这就是人生
2020-07-06
老师在讲向量时,以简单推荐系统举例说,个人喜好的向量与所要推荐的商品所成的向量夹角小于90度则表示喜欢这些商品,则可以推荐。那么,请问这个向量是怎样一个向量呢?这个向量的每个元素是数字还是直接是他的喜好呢?一般在推荐系统中,编程里,怎么表示的这些向量?
我现在的理解是:
例如:
一部电影(记作电影1),他的标签有:动作,喜剧,奥斯卡电影。
那么表示成向量是 (动作, 喜剧, 奥斯卡电影)。
如果某人喜欢或经常看的电影的标签有 (奥斯卡电影, 悲剧, 情感)。
那么,给此人推荐的此电影的程度就为1(有一个标签重合,或说此人喜欢的电影所成的向量对这部电影所成的向量有1一个贡献)
如果,另一部电影(记作电影2)为(奥斯卡电影, 情感, 传记),那么推荐系数就为2(有2个标签重合)。
所以,推荐系统就会优先推荐电影2,而把电影1的推荐排在后面。
对于用户标识过不喜欢的电影,则会通过其他算法算出该用户不喜欢的电影标签的向量,如果和电影1和电影2有重合,就不会推荐给此用户了。
在推荐系统中是这样吗?还是用其他方法表示的向量呢?谢谢老师。
1回答
-
一个简单的表示是,把不同的属性作为一个维度:
比如:(是否是奥斯卡电影?;是否是动作电影;是否是喜剧;是否是情感片;是否是传记片)当然,还可以有很多维度。
你说的电影1,就是 (1, 1, 1, 0,0)
你说的电影2,就是(1,0,0,1,1)
某个人的偏好,可能是(1,1,0,0,1)
根据这些向量就可以进行计算。
当然,我在课程中说的向量角度,只是一种计算形式。和这个课程中所讲的各种机器学习不同的标准一样,推荐系统的世界中也有不同的标准和计算方式,具体,需要具体学习推荐系统了,不在这个课程的范围里了。
印象里慕课网上有推荐系统相关的实战课程,有兴趣可以参考。
继续加油!:)
012020-07-06
相似问题