暑假写的,放在知乎备份
基本思想
推荐系统里面需要用到MF算法,也就是把一个矩阵(user_num x item_num)分解为两个矩阵(user_num x trait_num) , (trait_num x item_num) 的乘积。这个过程很好理解,就是从评分矩阵中提取出来物品的特征,分解出来的两个矩阵分别表明用户对该特征的偏好程度和物品对该特征的包含程度。比如
其中,三个特征分别表示喜剧、恐怖、剧情,所以U矩阵的第一行就表示用户1对喜剧爱好程度是1,恐怖爱好程度是2,剧情爱好程度是3,以此类推。而V的第一列就表示电影1包含了1的喜剧成分,0的恐怖成分,1的剧情成分。所以显然就有用户1对电影的评分是
分。
这便是基本的矩阵分解(Matrix Factorization)方法。利用这个算法,我们只需要让最小化目标为
R(i)表示第i个评分,U(i)表示第i个评分对应的用户。
进一步可以用矩阵表示,让
表示第
i个用户对 第
j个商品的评分,让