机器学习PAI全新功效——实时新闻热点Online Learning实践

本文涉及的产品
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: (本实验会用到流式机器学习算法,正处于邀测状态,需要申请开通)PAI地址:https://data.aliyun.com/product/learn流式机器学习算法申请:https://data.aliyun.com/paionlinelearning打开新闻客户端,往往会收到热点新闻推送相关的内容。

(机器学习PAI Online Learning模块上线邀测,目前只支持华北2(北京)区域使用,本实验会用到流式机器学习算法)
PAI地址:https://data.aliyun.com/product/learn
邀测申请地址:https://data.aliyun.com/paionlinelearning

打开新闻客户端,往往会收到热点新闻推送相关的内容。新闻客户端作为一个承载新闻的平台,实时会产生大量的

新闻,如何快速挖掘出哪些新产生的新闻会成为成为热点新闻,决定着整个平台的新闻推荐质量。

如何从平台中海量的新闻素材中找到最有潜力成为热点的新闻需要使用机器学习相关的算法,传统做法是将每天获取的历史咨询下载并且离线训练模型,再将生成的热点发现模型推上线供第二日使用。但是这种离线训练所生成的模型往往缺乏时效性的属性,因为每天热点新闻都是实时产生的,用过去的模型预测实时产生的数据显然是缺乏对数据时效性的理解。

针对这种场景,PAI平台开创性的提出来Online-Learning的解决方案,通过流式算法和离线算法的结合,既能够发挥离线训练对大规模数据的强大处理能力,又能够发挥流式机器学习算法对实时模型的更新能力,做到流批同跑,完美解决模型时效性的问题。今天就以实时热点新闻挖掘案例为例,为大家介绍PAI OnlineLearning的解决方案。

实验流程

1.切换新版

进入PAI后,点击“体验新版”按钮即可开启试用(目前OnlineLearning只支持新版,且与旧版不兼容)可在模板中一键创建类似于本文介绍的案例,数据和流程都已经内置,开箱即用

模板打开,点击运行后效果(模板目前为简化版本)

2.实验流程介绍

(注:PAI中离线计算组件用蓝色标识,流式计算组件由绿色标识,流式组件相连将形成计算组,因为流式组件需要多个组件的运行停止状态一致)

步骤1:离线模型训练

本文使用的数据是3万条来自UCI开放数据集提供的新闻文本数据。

地址:https://archive.ics.uci.edu/ml/datasets/Online+News+Popularity

数据组成:包含新闻的URL以及产生时间,另外还包含了58个特征以及1个目标值,目标值“share”是新闻的分享次数,建模过程中将share字段利用sql组件处理成一个二分类问题,新闻share次数超过10000次为热点新闻,小于10000次为非热门新闻

特征的组成如下图所示:

利用逻辑回归模型训练生成一个二分类模型,这个模型用来评估新闻是否会成为热点新闻。

(注:目前PAI OnlineLearning只支持逻辑回归算法)

步骤2:离线模型转换成流式模型

通过“模型转换”组件,可以将离线生成的逻辑回归模型转换成流式算法可读取的流式模型。

步骤3:流式模型训练

从步骤3开始就进入了流式算法组件的步骤,PAI平台提供多种流式数据源,本案例以Datahub为例。

Datahub地址:https://datahub.console.aliyun.com/datahub

Datahub是一种流式数据对列,支持JAVA、PYTHON等多种语言采集方式,在具体使用过程中可以通过Datahub链接用户实时产生的数据以及PAI的训练服务。注意:Datahub输入的数据流格式需要与离线训练的数据流的字段完全一致,这样才可以对离线的模型进行实时更新。

  • Ftrl训练组件:左侧输入的是转化为流式的离线模型,右侧输入是流式数据表

FTRL算法基本等同于流式的逻辑回归算法,在使用过程中需要按照LR算法配置参数,需要注意”模型保存时间间隔参数“的配置,这个参数决定了实时计算产生模型的时间周期。

新版PAI已经内置了大量流式算法组件:

####

  • PMML模型生成组件:将输出的模型转化成PMML格式
  • OSS文件导出:将模型导出到用户自己的OSS中,可以自己设置名称的前缀和后缀,生成模型可在OSS中查看,如下图

步骤4:流式模型评估

流式模型评估指的是利用评估数据对Ftrl训练生成的模型进行评估,输出的评估指标也可以写入OSS,评估指标与模型一一对应。每个模型和评估指标都有一个ID,如果ID一致,说明模型和评估指标是对应关系,如下图:

评估指标是一个json格式文件,包含精确率、准确率、混淆矩阵等指标:

步骤5:流式预测结果实时导出

可以利用实时生成的模型做实时数据预测,实时的预测结果可以写出到datahub中,如下图:

同时如果输入的预测数据集包含label,还可以添加分类评估组件,可以打开组关系中的最右边按钮:

打开实时的流式预测结果评估页面:

3.模型使用介绍

通过以上步骤已经产生了新闻热点预测模型,生成的模型已经存入OSS,可以直接在PAI-EAS在线预测服务引擎进行部署也可以下载下来在本地预测引擎使用。新闻数据进来后先要做特征工程(同”步骤1:离线模型训练“中的特征处理方式),然后将特征工程处理结果输入”热点新闻挖掘服务“,将会返回新闻是否是热点新闻。

总结

通过本文的案例,实现了将离线历史数据生成LR模型推送到实时训练环境,再利用实时生成的数据对模型进行更新, 这种实时训练的架构可以完美解决实时热点新闻对于新闻推荐模型的影响问题。欢迎大家试用并给出建议。

目录
相关文章
|
3月前
|
机器学习/深度学习 人工智能 算法
探索机器学习:从理论到实践的旅程
【8月更文挑战第26天】机器学习,这个听起来既神秘又充满无限可能的领域,实际上已经深入到我们生活的方方面面。本文将通过一次虚拟的“旅行”,带领读者了解机器学习的基本概念、主要技术和应用实例,同时提供一个简单的Python代码示例,帮助初学者迈出探索这一激动人心领域的第一步。无论你是科技爱好者,还是对未来充满好奇的学生,这篇文章都将成为你理解并应用机器学习技术的启航点。
|
1月前
|
机器学习/深度学习 数据采集 人工智能
AI与机器学习:从理论到实践
【10月更文挑战第2天】本文将深入探讨AI和机器学习的基本概念,以及它们如何从理论转化为实际的应用。我们将通过Python代码示例,展示如何使用机器学习库scikit-learn进行数据预处理、模型训练和预测。无论你是AI领域的初学者,还是有一定基础的开发者,这篇文章都将为你提供有价值的信息和知识。
|
6天前
|
机器学习/深度学习 数据采集 人工智能
探索机器学习:从理论到Python代码实践
【10月更文挑战第36天】本文将深入浅出地介绍机器学习的基本概念、主要算法及其在Python中的实现。我们将通过实际案例,展示如何使用scikit-learn库进行数据预处理、模型选择和参数调优。无论你是初学者还是有一定基础的开发者,都能从中获得启发和实践指导。
15 2
|
7天前
|
机器学习/深度学习 数据采集 人工智能
探索机器学习:从理论到实践
【10月更文挑战第35天】在这篇文章中,我们将深入探讨机器学习的世界。我们将从基础理论开始,然后逐步过渡到实际应用,最后通过代码示例来展示如何实现一个简单的机器学习模型。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和见解。
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
机器学习中空间和时间自相关的分析:从理论基础到实践应用
空间和时间自相关是数据分析中的重要概念,揭示了现象在空间和时间维度上的相互依赖关系。本文探讨了这些概念的理论基础,并通过野火风险预测的实际案例,展示了如何利用随机森林模型捕捉时空依赖性,提高预测准确性。
45 0
机器学习中空间和时间自相关的分析:从理论基础到实践应用
|
1月前
|
机器学习/深度学习 算法 Python
探索机器学习中的决策树算法:从理论到实践
【10月更文挑战第5天】本文旨在通过浅显易懂的语言,带领读者了解并实现一个基础的决策树模型。我们将从决策树的基本概念出发,逐步深入其构建过程,包括特征选择、树的生成与剪枝等关键技术点,并以一个简单的例子演示如何用Python代码实现一个决策树分类器。文章不仅注重理论阐述,更侧重于实际操作,以期帮助初学者快速入门并在真实数据上应用这一算法。
|
1月前
|
机器学习/深度学习 算法 PyTorch
【机器学习】大模型环境下的应用:计算机视觉的探索与实践
【机器学习】大模型环境下的应用:计算机视觉的探索与实践
56 1
|
1月前
|
机器学习/深度学习 算法 自动驾驶
探索机器学习:从理论到实践
本文将带你进入机器学习的世界,从基本概念出发,深入探讨其背后的数学原理,再通过Python代码示例,展示如何实际应用这些理论。无论你是初学者还是有经验的开发者,都能从中获益。
|
1月前
|
机器学习/深度学习 数据可视化 算法
机器学习中的回归分析:理论与实践
机器学习中的回归分析:理论与实践
|
2月前
|
机器学习/深度学习 算法 自动驾驶
探索机器学习:从理论到实践
【9月更文挑战第24天】本文将带你走进机器学习的世界,了解其基本概念,探索其背后的数学原理,并通过Python代码示例,展示如何实现一个简单的线性回归模型。无论你是初学者还是有经验的开发者,都能在这篇文章中找到新的视角和深入的理解。
42 9

热门文章

最新文章

相关产品

  • 人工智能平台 PAI