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

(机器学习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模型推送到实时训练环境,再利用实时生成的数据对模型进行更新, 这种实时训练的架构可以完美解决实时热点新闻对于新闻推荐模型的影响问题。欢迎大家试用并给出建议。

原文地址:http://blog.51cto.com/14031893/2348447

时间: 2024-10-16 02:49:28

机器学习PAI全新功效——实时新闻热点Online Learning实践的相关文章

(转载)[机器学习] Coursera ML笔记 - 监督学习(Supervised Learning) - Representation

[机器学习] Coursera ML笔记 - 监督学习(Supervised Learning) - Representation http://blog.csdn.net/walilk/article/details/50922854

[阿里云-机器学习PAI快速入门与业务实战 ]课时1-机器学习背景知识以及业务架构介绍

什么是机器学习? 机器学习指的是机器通过统计学算法,对大量的历史数据进行学习从而生成经验模型,利用经验模型指导业务. 目前机器学习主要在一下一些方面发挥作用: 营销类场景:商品推荐.用户群体画像.广告精准投放 金融类场景:贷款发放预测.金融风险控制.股票走势预测.黄金价格预测 SNS关系挖掘:微博粉丝领袖分析.社交关系链分析 文本类场景:新闻分类.关键词提起.文章摘要.文本内容分析 非结构化数据处理场景:图片分类.图片文本内容提取OCR 其它各类预测场景:降雨预测.足球比赛结果预测 当然,机器学

deep learning实践经验总结2--准确率再次提升,到达0.8,再来总结一下

deep learning实践经验总结2 最近拿caffe来做图片分类,遇到不少问题,同时也吸取不少教训和获得不少经验. 这次拿大摆裙和一步裙做分类, 多次训练效果一直在0.7,后来改动了全链接层的初始化参数.高斯分布的标准差由0.001改为0.0001,就是调小了. 然后效果很明显,准确率高了,权重图画出来后,也看得出是有意义的了,部分权重图是人的轮廓或者裙子的轮廓. 先看看图片: 大摆裙      一步裙      然后找一些响应图看一下,当然我这里展示的是一些效果好的响应图. 大摆裙   

机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码)

背景 最近互联网上出现一个热词就是“freestyle”,源于一个比拼rap的综艺节目.在节目中需要大量考验选手的freestyle能力,freestyle指的是rapper即兴的根据一段主题讲一串rap.freestyle除了考验一个人rap的技巧,其实我觉得最难的是如何在短时间内在脑海中浮现出有韵律的歌词. 本文会介绍如何自动生成歌词,到底什么工具有这样的功效呢?答案是PAI.PAI平台是阿里云人工智能平台,在上面可以通过最简单的拖拉拽的方式,完成对各种结构化以及非结构化数据的处理.因为有了

斯坦福机器学习视频笔记 Week6 关于机器学习的建议 Advice for Applying Machine Learning

我们将学习如何系统地提升机器学习算法,告诉你学习算法何时做得不好,并描述如何'调试'你的学习算法和提高其性能的"最佳实践".要优化机器学习算法,需要先了解可以在哪里做最大的改进. 我们将讨论如何理解具有多个部分的机器学习系统的性能,以及如何处理偏斜数据. Evaluating a Hypothesis 设想当你训练的模型对预测数据有很大偏差的时候,接下来你会选择怎么做? 这个需要花时间去实现,但是对你的帮助也会很大,使你不盲目的做一些决定来提升算法,而是直观地看出哪些是对提升算法是有效

机器学习基石第三讲:types of learning

博客已经迁移至Marcovaldo's blog (http://marcovaldong.github.io/) 刚刚完成机器学习基石的第三讲,这一讲主要介绍了机器学习的分类,对何种问题应该使用何种机器学习方法.将笔记整理在下面. Learning with Different Output Space 前面讲的信用卡发放问题是一个是非题,也就是说最后的输出只有两种,是一个二元分类(binary classification).下图中给出了更多的二元分类问题的例子,对于这类问题我们要做的就是找

机器学习【1】(Python Machine Learning读书笔记)

依旧是作为读书笔记发布,不涉及太多代码和工具,作为了解性文章来介绍机器学习. 文章主要分为两个部分,machine learning的概述和 scikit-learn的简单介绍,两部分关系紧密,合并书写,以致整体篇幅较长,分为1.2两篇. 首先,是关于机器学习.要点如下: 1.1 机器学习三种主要方式 1.2 四大过程 1.3 python相关实现(安装包) [1.1] 机器学习方式主要有三大类:supervised learning(监督式学习), unsupervised learning(

Coursera机器学习-第十周-Large Scale Machine Learning

Gradient Descent with Large Datasets Learning With Large Datasets 我们已经知道,得到一个高效的机器学习系统的最好的方式之一是,用一个低偏差(low bias)的学习算法,然后用很多数据来训练它. 下面是一个区分混淆词组的例子: 但是,大数据存在一个问题,当样本容量m=1,000时还行,但是当m=100,000,000呢?请看一下梯度下降的更新公式: 计算一个θ值需要对1亿个数据进行求和,计算量显然太大,所以时间消耗肯定也就大了.

机器学习基石——第3-4讲.Types of Learning

本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumlone-002/lecture) 第3讲-------Types of Learning 上一节讲到如果要回答YES/NO的是非问题,我们可以使用像PLA(感知机)这样的算法,他会在无数