推荐系统保留对特定用户做出了哪些推荐以及该用户是否接受该推荐的日志。就像是
user_id item_id result
1 4 1
1 7 -1
5 19 1
5 80 1
其中1表示用户接受了推荐,而-1表示用户未响应推荐。
问题:如果我要根据上述日志类型向一堆用户提出建议,并且想最大化MAP @ 3分数,该如何处理隐式数据(1或-1)?
我的想法是将1和-1视为等级,并使用分解机类型算法预测等级。但是,鉴于隐式数据的不对称性,这似乎并不正确(-1并不意味着用户不喜欢该建议)。
编辑1 让我们在矩阵分解方法的上下文中考虑它。如果我们将-1和1视为评分,则会出现一些问题。例如,用户1喜欢电影A,其在潜在因素空间中在一个因素(例如具有光荣的背景音乐)中得分较高。系统会推荐在“光彩夺目的背景音乐”中得分也很高的电影B,但是由于某种原因,用户1太忙而无法查看推荐,因此我们将电影B评为-1。如果我们将1或-1均等对待,则可能不鼓励系统向用户1推荐具有光荣BGM的电影,而用户1仍然喜欢具有光荣BGM的电影。我认为这种情况应该避免。