场景将基于机器学习PAI平台,指导您如何使用ALS算法实现用户音乐打分预测。
ALS算法是基于模型的推荐算法,基本思想是对稀疏矩阵进行模型分解,评估出缺失项的值,以此来得到一个基本的训练模型。然后依照此模型可以针对新的用户和物品数据进行评估。ALS是采用交替的最小二乘法来算出缺失项的,交替的最小二乘法是在最小二乘法的基础上发展而来的。
从协同过滤的分类来说,ALS算法属于User-Item CF,也叫做混合CF,它同时考虑了User和Item两个方面。
在本次用户音乐打分场景中,首先拿到的原始数据是每个听众对每首歌的评分矩阵A,这个评分可能是非常稀疏的,因为不是每个用户都听过所有的歌,也不是每个用户都会对每首歌评分。
矩阵A=矩阵X和矩阵Y的转秩的乘积
x的列表示和Y的横表示可以称之为ALS中的因子,这个因子是有隐含定义的,这里假设有3个因子,分别是性格、教育程度、爱好。A矩阵经过ALS分解出的X、Y矩阵可以分别表示成如下所示。
X矩阵:
说明:本场景使用的机器学习PAI服务依赖于MaxCompute大数据计算服务,在运行实验时将会消耗大约2.5元的计算费用,请确保您的账户余额充足。
1.使用阿里云账号登录阿里云官网。
1.在控制台左侧导航栏,单击可视化建模(Studio)。
PAI Studio底层计算依赖MaxCompute,如果您未开通过当前区域的MaxCompute,请按照页面提示去购买。
a. 单击购买。
1.单击左侧导航栏的首页。
在该模板中已经默认配置了实验的数据源和ALS矩阵分解组件的参数。
1.右键单击数据源节点,然后单击查看数据。
user:用户ID。
item:音乐ID。
score:user对item的评分。
2. 单击ALS矩阵分解-1节点,右侧显示如下,可以看到字段设置已设置为与数据源中的字段一致。
1 单击左上角运行。
本实验中会输出2张表,对应ALS算法中的X矩阵和Y矩阵。
1.实验运行完成后,右键单击画布中的ALS矩阵分解-1,在快捷菜单,选择查看数据 > 查看输出桩1,即可查看矩阵X。
user1:[-0.14220297,0.8327106,0.5352268,0.6336995,1.2326205,0.7112976,0.9794858,0.8489773,0.330319,0.7426911]
item978130429:[0.2431642860174179,0.6019538044929504,0.4035401940345764,0.254305899143219,0.4056856632232666,0.46871861815452576,0.3701469600200653,0.3757922947406769,0.26486095786094666,0.37488409876823425]
经计算,两个向量相乘的结果为2.7247730805432644,可以预测user1对音乐978130429的评分为2.7247730805432644。
联系客服