因子分解机算法 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

因子分解机算法

因式分解机算法是通用的受监管机器学习算法,适用于分类和回归任务。它是线性模型的扩展,旨在经济地捕获高维稀疏数据集中的各特征之间的交互。例如,在一个点击预测系统中,因式分解机模型可以捕获当特定广告类别的广告放置在特定页面类别的页面上时所观察到的点击率模式。对于处理高维稀疏数据集的任务 (如点击预测和项目建议),因子分解机是不错的选择。

注意

Amazon SageMaker 实施因式分解机算法时仅考虑功能之间的两两 (二阶) 交互。

因子分解机算法的输入/输出接口

因式分解机算法可在二进制分类模式或回归模式下运行。在每种模式下,可以向测试通道提供数据集以及训练通道数据集。评分取决于使用的模式。在回归模式下,使用均方根误差 (RMSE) 对测试数据集计分。在二元分类模式下,使用二元交叉熵 (记录丢失)、准确度 (阈值=0.5) 和 F1 分数 (阈值=0.5) 对测试数据集计分。

适用于训练,则分解机算法当前仅支持recordIO-protobuf格式与Float32张量。由于使用案例主要针对稀疏数据,CSV 并不是合适选项。recordIO 包装的 protobuf 支持文件和管道模式训练。

适用于推理,则分解机算法支持application/jsonx-recordio-protobuf格式。

  • 对于二元分类问题,该算法预测分数和标签。标签是一个数字,可以是 01。分数是一个数字,它表示该算法认为标签应该为 1 的强烈程度。该算法先计算分数,然后从分数值中得出标签。如果分数大于或等于 0.5,则标签为 1

  • 对于回归问题,仅返回分数,并且它是预测的值。例如,如果使用因子分解机预测电影评级,则分数是预测的评级值。

有关训练和推理文件格式的更多详细信息,请参阅因子分解机示例笔记本

因子分解机算法的 EC2 实例建议

Amazon SageMaker 因式分解机算法高度可扩展,并可跨分布式实例进行训练。建议对稀疏和密集数据集使用包含 CPU 实例的训练和推理。在某些情况下,对密集数据使用包含一个或多个 GPU 的训练可能具有一些优势。包含 GPU 的训练仅适用于密集数据。对稀疏数据使用 CPU 实例。

因子分解机示例笔记本

有关使用 SageMaker 因子分解机算法来分析 MNIST 数据集中从 0 到 9 的手写数字图像的示例笔记本,请参阅MNIST 分解机介绍. 有关如何创建和访问可用于在 SageMaker 中运行示例的 Jupyter 笔记本实例的说明,请参阅使用 Amazon SageMaker 笔记本实例. 在您创建笔记本实例并打开之后,请选择SageMaker End的示例选项卡以查看所有 SageMaker 示例的列表。使用分解计算机算法的笔记本电脑示例位于Amazon 算法简介部分。要打开笔记本,请单击其 Use (使用) 选项卡,然后选择 Create copy (创建副本)