本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
因子分解机算法
因子分解机算法是通用的有监督学习算法,可用于分类和回归任务。它是线性模型的扩展,旨在经济地捕获高维稀疏数据集中的各特征之间的交互。例如,在一个点击预测系统中,当特定广告类别的广告放置在特定页面类别的页面上时,因子分解机模型可以捕获所观察到的点击率模式。对于处理高维稀疏数据集的任务 (如点击预测和项目建议),因子分解机是不错的选择。
注意
Amazon SageMaker 实现的分解机算法仅考虑特征之间的成对(二阶)交互。
因子分解机算法的输入/输出接口
因子分解机算法可在二元分类模式或回归模式下运行。在每种模式下,可以向测试通道提供数据集以及训练通道数据集。评分取决于使用的模式。在回归模式下,使用均方根误差 (RMSE) 对测试数据集进行评分。在二元分类模式下,使用二元交叉熵 (记录丢失)、准确度 (阈值=0.5) 和 F1 分数 (阈值=0.5) 对测试数据集计分。
对于训练,因子分解机算法目前仅支持具有 Float32
张量的 recordIO-protobuf
格式。由于使用案例主要针对稀疏数据,CSV
并不是合适选项。recordIO 包装的 protobuf 支持文件和管道模式训练。
对于推理,因子分解机算法支持 application/json
和 x-recordio-protobuf
格式。
-
对于二元分类问题,该算法预测分数和标签。标签是一个数字,可以是
0
或1
。分数是一个数字,它表示该算法认为标签应该为1
的强烈程度。该算法先计算分数,然后从分数值中得出标签。如果分数大于或等于 0.5,则标签为1
。 -
对于回归问题,仅返回分数,并且它是预测的值。例如,如果使用因子分解机预测电影评级,则分数是预测的评级值。
有关训练和推理文件格式的更多详细信息,请参阅因子分解机示例笔记本。
EC2因式分解机算法的实例推荐
Amazon SageMaker Factorization Machines 算法具有高度可扩展性,可以跨分布式实例进行训练。我们建议使用稀疏和密集数据集的CPU实例进行训练和推理。在某些情况下,使用一个或多个密集数据GPUs进行训练可能会带来一些好处。使用训练GPUs仅适用于密集数据。对稀疏数据使用CPU实例。因子分解机算法支持使用 P2、P3、G4dn 和 G5 实例进行训练和推理。
因子分解机示例笔记本
有关使用 SageMaker 分解机器算法分析MNIST数据集中从零到九的手写数字图像的示例笔记本,请参阅《因子分解机简介》。MNIST