zoukankan      html  css  js  c++  java
  • ALS算法 (面试准备)

    ALS算法描述:

    1、ALS算法用来补全用户评分矩阵。由于用户评分矩阵比较稀疏,将用户评分矩阵进行分解,变成V和U的乘积。通过求得V和U两个小的矩阵来补全用户评分矩阵。

    2、ALS算法使用交替最小二乘法来进行求解。

    3、ALS分为显示反馈和隐式反馈两种。显示反馈是指用户有明确的评分。对于商品推荐来说,大部分是通过用户的行为,获取隐式反馈的评分。

    隐式反馈评分矩阵需要进行处理,如果有用户评分则置为1,没有则赋值为0。但是对这个处理后的评分矩阵,再有一个置信度来评价这个评分。置信度等于1+a*用户真实评分

    4、ALS的代价函数是估计值和现有的评分值误差的平方和,引入了L2正则

    ALS算法参数:

    参数:
    rating:由用户-物品矩阵构成的训练集
    rank:隐藏因子的个数
    numIterations: 迭代次数
    lambda:正则项的惩罚系数
    alpha: 置信参数
     

    ALS交替最小二乘法求解步骤:

    最小二乘法是通过最小化误差的平方和来寻找和数据最匹配的函数。

    使用交替最小二乘法来求解。步骤是先设置一个X规定,然后求解另一个矩阵Y。然后再固定一个矩阵Y,求解另一个矩阵X。这就是交替二乘法的步骤。

    在矩阵求解的过程中,比如固定Y,求解X的话,目标评分矩阵A。X的每一行可以独立求解,X的第i行和Y的计算得到A的第i行。

    这样的话,对于每一步来说,X或者Y的行或者列都是可以独立并行求解的。这样ALS就可以进行并行化计算了。

  • 相关阅读:
    后缀数组
    网络流 HOJ1087
    备用
    css-具有缩略图的材料列表
    正则匹配log行
    vue-cli的webpack打包,icon无法正确加载
    导出CSV,导出excel数字过长显示科学计数法解决方案
    js导出CSV
    git常见操作指令
    javascript原型的意义
  • 原文地址:https://www.cnblogs.com/earendil/p/8871711.html
Copyright © 2011-2022 走看看