文档

FM算法

更新时间:

FM(Factorization Machine)算法兼顾特征之间的相互作用,是一种非线性模型,适用于电商、广告及直播的推荐场景。

组件配置

Designer提供的FM算法模板包括FM训练和FM预测组件,您可以在原PAI-Studio控制台首页的FM算法实现推荐模型区域,单击从模板创建;或在Designer控制台工作流模板基于Alink框架的FM推荐区域,单击创建,快速构建FM实验。

您可以使用以下任意一种方式,配置FM算法组件参数。

方式一:可视化方式

Designer工作流页面配置组件参数。

组件

页签

参数

描述

FM训练

字段设置

特征列

根据输入数据表的特征选择特征列。支持STRING和DOUBLE类型的数据。

标签列

根据输入数据表的特征选择标签列。仅支持DOUBLE类型。

高级选项

仅在Designer控制台,需要配置该参数。

如果选中高级选项复选框,则Flink配置项生效。

Flink配置项

仅在Designer控制台,需要配置该参数。

配置Flink计算引擎,详情请参见Flink配置

参数设置

任务类型

支持以下取值:

  • regression

  • binary_classification

迭代数

总训练迭代次数,默认为10。

正则化系数

使用英文逗号(,)分隔的三个浮点数,分别表示0阶项、1阶项及2阶项的正则化系数。

学习率

如果训练发散,则降低该参数取值。

参数初始化标准差

参数初始化的标准差,用来归一化数据。DOUBLE类型,默认为0.05。

维度

使用英文逗号(,)分隔的三个正整数,分别表示0阶项、1阶项、2阶项长度。

数据块大小

性能参数。

输出表生命周期

仅在原PAI-Studio控制台,需要配置该参数。

输出表的生命周期。

执行调优

节点个数

单个节点内存大小配合使用。取值范围为1~9999。

单个节点内存大小

节点个数配合使用。取值范围为1024 MB~64*1024 MB。

FM预测

参数设置

预测结果列名

预测结果列的名称。

预测得分列名

仅在原PAI-Studio控制台,需要配置该参数。

预测得分列的名称。

无。

详细预测信息列名

详细预测信息列的名称。

保持列

保存至输出结果表的列。

高级选项

仅在Designer控制台,需要配置该参数。

如果选中高级选项复选框,则每个Worker预测使用的线程数目模型大小类型生效。

每个Worker预测使用的线程数目

每个Worker下预测使用的线程数目,默认为1。

模型大小类型

模型的大小类型,支持以下取值:

  • large

  • small(默认值)

执行调优

节点个数

单个节点内存大小配合使用。取值范围为1~9999。

单个节点内存大小

节点个数配合使用。取值范围为1024 MB~64*1024 MB。

方式二:PAI命令方式

组件

参数

是否必选

描述

默认值

FM训练

tensorColName

特征列名称。 数据格式为key:value,多个特征使用英文逗号(,)分隔。例如1:1.0,3:1.0

labelColName

label列名。数据必须是数值类型。如果task取值为binary_classification,则label只能取01

task

任务类型。取值范围为{regression,binary_classification}

regression

numEpochs

迭代数。

10

dim

使用英文逗号(,)分隔的三个整数,分别表示0次项、线性项及二次项的长度。

1,1,10

learnRate

学习率。

说明

如果训练发散,则降低学习率

0.01

lambda

使用英文逗号(,)分隔的三个浮点数,分别表示0次项、线性项及二次项的正则化系数。

0.01,0.01,0.01

initStdev

参数初始化标准差。

0.05

FM预测

predResultColName

预测结果列名。

prediction_result

predScoreColName

预测得分列名。

prediction_score

predDetailColName

详细预测信息列名。

prediction_detail

keepColNames

保存至输出结果表的列。

所有列

例如,使用如下数据作为FM算法模板的输入数据,训练生成的模型AUC约为0.97。输入数据模型评估报告