FM算法介绍

概述

FM (Factorization Machine) 算法可进行回归和二分类预测,它的特点是考虑了特征之间的相互作用,是一种非线性模型,目前FM算法是推荐领域被验证的效果较好的推荐方案之一,在诸多电商、广告、直播厂商的推荐领域有广泛应用。

PAI平台的FM算法基于阿里内部大数据的锤炼,具备性能优越、效果突出的特点。具体使用方式可以参见首页模板:

ca4a7c1b0486891a3992f7e03ec7db8cd5c.jpg

使用FM算法整体流程需要包含FM训练和FM预测组件,可以搭配评估组件使用。

ce23acfa10d700c672c4c94115f19171bf6.jpg

输入数据要求

目前PAI的FM算法只支持libsvm格式的数据,数据需要包含两列,分别是特征列和目标列。

  • 目标列:Double类型
  • 特征列:String类型,特征要以k:v格式输入,特征直接以逗号分隔

如图:

41051171c5dad05c98eba148b17097cf23a.jpg

组件说明

1.FM训练

在“参数设置”中可以设置回归或者分类两种模式:

7fb8ca5558617811e52f188ab3e22b19520.jpg

PAI命令
参数解释取值
tensorColName训练的特征列名 (kv格式的字符串,例如"1:1.0,3:1.0",特征的id必须是非负整数,取值范围是[0,Long.MAX_VALUE),可以不连续)必选
labelColNamelabel列名 (要求是数值类型,如果任务类型是binary_classification,那么label值必须是0或1)必选
task任务类型必选,"regression" or "binary_classification"
numEpochs迭代数可选,默认值10
dim因子数,字符串,用逗号分隔的三个整数,表示0次项、线性项、二次项的长度可选,默认值 "1,1,10"
learnRate学习率可选, 默认值 0.01
lambda正则化系数,字符串,用逗号分隔的三个浮点数,表示0次项、线性项、二次项的正则化系数可选, 默认值 "0.01,0.01,0.01"
initStdev参数初始化标准差可选, 默认值0.05

备注1:

  • 如遇到训练发散,可适当降低学习率的值

2.FM预测

PAI命令
参数解释取值
predResultColName预测结果列名可选,默认"prediction_result"
predScoreColName预测得分列名可选,默认"prediction_score"
predDetailColName详细预测信息列名可选,默认"prediction_detail"
keepColNames保持到输出结果表的列可选,默认全选

评估结果

在首页模板案例的数据情况下,使用PAI FM生成的模型可以达到接近0.97的AUC

667bf410997d52932a4d05087e789754828.jpg


原文链接
本文为云栖社区原创内容,未经允许不得转载。

转载于:https://my.oschina.net/u/1464083/blog/3084038

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值