zoukankan      html  css  js  c++  java
  • 个性化召回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矩阵的转置相乘
    • 获取无限逼近于真实的数据的分数
    • 同时预测其余节点的分数,排序后输出
  • 相关阅读:
    NodeJS优缺点
    移动端触摸相关事件touch、tap、swipe
    vscode使用技巧
    js 字符串转数字
    js 导出Excel
    <!--[if IE 9]> <![endif]-->
    js 异步请求
    关于windows串口处理
    mfc 托盘提示信息添加
    微软的麦克风处理示列代码
  • 原文地址:https://www.cnblogs.com/zhaisd/p/15611904.html
Copyright © 2011-2022 走看看