个性化召回als算法原理

  • 最小二乘法

  • 利用矩阵分解的结果无限逼近现有数据,得到隐含的特征

  • 利用隐含的特征预测其余结果

  • 表一:
  product1 product2 product3

user1 

3.0     
user2   1.0 1.0
user3     3.0
user4 1.0    

假设有4个用户,对应3个产品,加入user2被采集到对product2产生了一次兴趣,则记录为1.0(只记录对product浏览一次,只记uv,不计pv,多次浏览product2也只记录1.0)

假设user1 对product1产生了一次浏览,并且不止于此,而且产生了加入购物车,购买等行为,则记录为3.0

 

我们推荐系统做的就是预测user,挖掘潜在的需求,而不是推荐已经打分的product,也就是被打0分的矩阵中的product

这个就是我们als算所要做的事情

表二:

  f1 f2 f3 f4 f5

user1

0.21 0.31 0.01 0.29 0.89
user2 0.29 0.22 0.54 0.78 0.12

user3

0.12 0.67 0.31 0.64 0.11
user4 0.12 0.98 0.56 0.45 0.43

表三:

  f1 f2 f3 f4 f5

product1

0.21 0.31 0.01 0.29 0.89
product2 0.29 0.22 0.54 0.78 0.12

product3

0.12 0.67 0.31 0.64 0.11

 

f1,f2表示特征,中间的数字则表示该用户或者该产品的特征打分,先不用管怎么算出来,这里先理解原理

 

对这两个表做一个矩阵的相乘,公式:v'=UP^t

就是表三和表二相乘相加,就会得出表一,这个就是als算法的原理,因为无限逼近,表一空的数值,就会被算出来

即:

  • 将user矩阵和product矩阵的转置相乘
  • 获取无限逼近于真实的数据的分数
  • 同时预测其余节点的分数,排序后输出

 

posted @ 2021-11-27 14:46  饿昏的猪大大  阅读(235)  评论(0编辑  收藏  举报