文档

使用ALS算法实现音乐评分预测(旧版)

更新时间:

通常,每个人对每个商品(例如电影或音乐)都有一个心理分数,该分数表示用户对商品的满意程度。作为商品提供方,如果能够预测每个用户对商品的心理分数,就能更好地理解用户,从而提供更好的商品推荐。本文为您介绍如何使用ALS矩阵分解算法预测用户对音乐的评分。

前提条件

已创建工作空间,详情请参见创建工作空间

ALS算法

交替最小二乘ALS(Alternating Least Squares)算法的原理是对稀疏矩阵进行模型分解,评估缺失项的值,从而得到基本的训练模型。在协同过滤分类方面,ALS算法属于User-Item CF(Collaborative Filtering),兼顾UserItem项,也称为混合CF。

以音乐打分为例,您可以获取的原始数据是每个听众对每首歌的评分矩阵A。因为每个用户不一定听过所有歌,且每个用户不一定对每首歌进行评分,所以该评分矩阵可能是稀疏矩阵,如下图所示。原始数据矩阵AALS矩阵分解算法会将矩阵A分解为两个矩阵(矩阵X和矩阵Y)相乘。
矩阵A=矩阵X*矩阵Y的转秩
矩阵X的列和矩阵Y的行可以称为ALS因子。假设有3个因子(性格、教育程度及爱好),则矩阵A经过ALS分解得到的矩阵X如下。矩阵X矩阵A经过ALS分解得到的矩阵Y如下。矩阵Y如果需要预测听众6红豆这首歌的评分,则将听众6在矩阵X中的向量M与红豆在矩阵Y中对应的向量N相乘即可。

预测音乐评分

  1. 进入PAI-Designer页面。
    1. 登录PAI控制台
    2. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。
    3. 在工作空间页面的左侧导航栏选择模型开发与训练 > 可视化建模(Designer),进入Designer页面。
  2. 可视化建模(Designer)页面右上方,单击前往旧版可视化建模(Studio)
  3. 构建并运行实验。
    1. 在PAI-Studio控制台的左侧导航栏,单击首页
    2. 模板列表,单击ALS实现音乐推荐下的从模板创建
    3. 新建实验页面,配置参数(您也可以全部使用默认参数)。
      参数描述
      名称输入ALS实现音乐推荐
      描述输入利用ALS实现音乐的内容推荐
      位置选择我的实验
    4. 单击确定
    5. 等待大约十秒钟,在PAI-Studio控制台的左侧导航栏,单击实验
    6. 我的实验下,单击ALS实现音乐推荐_XX,构建的实验如下图所示。
      其中我的实验为已配置的实验位置ALS实现音乐推荐_XX为已配置的实验名称_XX为系统自动添加的实验序号)。ALS实验
    7. 单击画布上方的运行
      系统已自动配置了实验的数据源和ALS矩阵分解组件的参数(单击画布中的组件,在右侧面板可以查看已配置的参数),您直接运行实验即可。
  4. 查看实验结果。
    1. 实验运行完成后,右键单击画布中的ALS矩阵分解-1,在快捷菜单,选择查看数据 > 查看输出桩1,即可查看矩阵X。输出矩阵X
    2. 右键单击画布中的ALS矩阵分解-1,在快捷菜单,选择查看数据 > 查看输出桩2,即可查看矩阵Y。输出矩阵Y
  5. 预测评分。
    如果预测user1对音乐Item978130429的评分,则将矩阵X中的向量M和矩阵Y中的向量N相乘即可。
    #向量M。
    [0.5775652527809143,0.6737191677093506,0.9059759974479675,0.9866708517074585,0.15602371096611023,0.2735472023487091,0.4610620439052582,0.5312653183937073,0.3408969044685364,1.4993919134140015]
    #向量N。
    [0.2431642860174179,0.6019538044929504,0.4035401940345764,0.254305899143219,0.4056856632232666,0.46871861815452576,0.3701469600200653,0.3757922947406769,0.26486095786094666,0.37488409876823425]
  • 本页导读 (1)
文档反馈