FM算法介绍

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

概述

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

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

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

输入数据要求

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

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

如图:

组件说明

1.FM训练

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

PAI命令

参数 解释 取值
tensorColName 训练的特征列名 (kv格式的字符串,例如"1:1.0,3:1.0",特征的id必须是非负整数,取值范围是[0,Long.MAX_VALUE),可以不连续) 必选
labelColName label列名 (要求是数值类型,如果任务类型是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

相关实践学习
使用PAI+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
目录
相关文章
|
5月前
|
人工智能 并行计算 监控
别再混为一谈!万字拆解内存与显存:决定你模型训练成败的硬件真相
你好,我是AI科普博主狸猫算君!本文深入浅出解析内存(RAM)与显存(VRAM)的本质区别:前者是CPU的通用办公桌,后者是GPU的专属高速实验室。重点破除“大内存=能训大模型”误区,揭示显存带宽、容量为何直接决定AI训练成败,并提供监控、排错与硬件选配实战指南。(239字)
1687 2
别再混为一谈!万字拆解内存与显存:决定你模型训练成败的硬件真相
|
监控 Java 数据处理
【Spring云原生】Spring Batch:海量数据高并发任务处理!数据处理纵享新丝滑!事务管理机制+并行处理+实例应用讲解
【Spring云原生】Spring Batch:海量数据高并发任务处理!数据处理纵享新丝滑!事务管理机制+并行处理+实例应用讲解
|
28天前
|
弹性计算 5G 云计算
2026年阿里云秒杀活动抢购攻略:轻量应用服务器2核4G200M峰值带宽,秒杀价38元/年!
阿里云2026年秒杀活动每日两场(10:00/15:00),主打轻量服务器:2核2G仅38元/年、2核4G低至9.9元/月。新用户实名后可抢,需拼手速。文内含直达入口、抢购技巧及68元起备选方案,助力大家低成本上云!
398 3
|
人工智能 分布式计算 大数据
MCP、MaxFrame与大数据技术全景解析
本文介绍了 MCP 协议、MaxFrame 分布式计算框架以及大数据基础设施建设的相关内容。MCP(Model Context Protocol)是一种开源协议,旨在解决 AI 大模型与外部数据源及工具的集成问题,被比喻为大模型的“USB 接口”,通过统一交互方式降低开发复杂度。其核心架构包括 Client、Server、Tool 和 Schema 四个关键概念,并在百炼平台中得到实践应用。MaxFrame 是基于 Python 的高性能分布式计算引擎,支持多模态数据处理与 AI 集成,结合 MaxCompute 提供端到端的数据处理能力。
|
10月前
|
人工智能 测试技术 开发工具
如何将 AI 代码采纳率从30%提升到80%?
AI编码采纳率低的根本原因在于人类期望其独立完成模糊需求,本文提出了解决之道,讲解如何通过结构化文档和任务拆解提高AI的基础可靠性。
2070 24
|
11月前
|
机器学习/深度学习 算法 机器人
基于蚁群优化算法的直流电机模糊PID控制(Matlab实现)
基于蚁群优化算法的直流电机模糊PID控制(Matlab实现)
263 0
|
自然语言处理 前端开发 安全
指南:Claude 3.7 怎么样?国内如何使用Claude 3.7 Sonnet?
本文主要介绍了Claude 3.7 Sonnet模型的发布教你如何订阅使用Claude 3.7 Sonnect及其新功能,特别是Claude Code工具的推出。
5882 7
|
数据采集 人工智能 自然语言处理
Qwen模型角色扮演最佳实践
角色扮演大模型通过模拟特定角色的行为、语言风格和情感表达,实现高度拟人化和定制化的互动体验。与传统通用模型相比,角色扮演模型在语言风格、性格特征和情绪反应上更加细腻,提供更真实的交互体验。本文介绍了如何通过system prompt、few-shot学习和微调等技术实现大模型的拟人化,包括使用阿里云百炼平台进行角色扮演测试,以及如何通过合成数据和Lora微调提高模型的表演效果。最终,展示了如何通过优化数据质量和训练策略,显著提升角色扮演模型的表现。
|
存储 NoSQL API
使用Py2neo进行Neo4j图数据库的增删改查操作
使用Py2neo进行Neo4j图数据库的增删改查操作
900 5
|
运维 监控 持续交付
构建高效自动化运维体系:Ansible与Docker的协同实践
【7月更文挑战第42天】 在当今快速发展的云计算和微服务架构时代,自动化运维已成为提升效率、确保系统稳定性的关键。本文将探讨如何利用Ansible这一强大的自动化工具与Docker容器技术相结合,搭建一个高效、可靠的自动化运维体系。文章首先简述了自动化运维的必要性和Ansible与Docker的基本概念,随后详细介绍了两者结合的优势,并通过实际案例分析展示了如何实现自动化部署、管理和扩展应用服务。通过阅读本文,读者将获得一套可行的自动化运维解决方案,以应对日益复杂的IT环境挑战。

热门文章

最新文章