0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

中国团队Getmax为何能在高手如云的KDD Cup中脱颖而出?

DPVg_AI_era 来源:未知 作者:李倩 2018-07-23 09:03 次阅读

近日,有数据挖掘领域“奥运会”之称的KDD Cup 2018比赛结果出炉。今年的主题为空气质量预测,中国团队Getmax包揽三项大奖,获得两项第一,一项第二的好成绩。本文带来该团队亲述算法思路与技术细节。

KDD Cup是由 ACM 的数据挖掘及知识发现专委会(SIGKDD)主办的数据挖掘研究领域的国际顶级赛事,从1997年至今已有 21 年的历史。作为目前数据挖掘领域最有影响力、最高水平的国际顶级赛事,KDD Cup 每年都会吸引来自世界各地数据挖掘领域的顶尖专家、学者和工程师参赛,因此也有“大数据奥运会”之名。

与往年只有最终成绩奖项不同,KDD Cup 2018计算了比赛过程中的成绩并设立了三项大奖——“The General Track”、“最后10天专项奖”、“最佳长期预测奖”,从三个维度来奖励比赛中表现突出的队伍。而“Getmax”也因全面而突出的表现,从4000多个参赛队伍中脱颖而出,成为唯一包揽三项大奖的队伍,分别取得一项亚军、两项冠军的成绩。

如何在KDD Cup这样高手如云的国际赛事中脱颖而出?Getmax团队向新智元详细介绍了他们今年的参赛解决方案,包括如何理解空气质量问题,分析数据,特征工程,以及如何针对应用特点进行深度学习建模与优化。

背景介绍:KDD CUP 2018预测空气质量

KDD Cup 2018关注空气质量问题。在过去几年中,空气质量问题已经影响了很多发展中国家的大城市。2011年,康奈尔大学空气质量专家Dane Westerdahl在接受《洛杉矶时报》的采访时表示,有些时候,发展中国家城市的空气质量和“森林大火下风口的空气质量”相当。

在众多空气污染物中,悬浮颗粒(particulate matters,简称PM)是最致命的一种之一。直径小于或等于2.5 μm的悬浮颗粒可以进入肺部深处,进入血管,导致 DNA 突变和癌症,中枢神经系统损伤和过早死亡。

主办方在比赛中提供中国北京和英国伦敦的数据。比赛选手需要预测未来48小时内 PM2.5, PM10和O3的浓度(伦敦只需要预测PM2.5和PM10)。

Getmanx团队介绍:

罗志鹏微软Bing搜索广告算法工程师,北京大学软件工程专业硕士,专注于深度学习技术在NLP, 广告相关性匹配,CTR预估等方面的研究及应用。

胡可阿里妈妈搜索直通车团队算法专家,硕士毕业于香港中文大学机器学习方向。工作技术方向为深度学习与广告算法。

黄坚强北京大学软件工程专业硕士在读,擅长特征工程、自然语言处理、深度学习。

评测指标

每天,提交的结果将会和真实空气质量数据(也就是空气监测站测量的污染物浓度)比较,并根据Symmetric mean absolute percentage error评分:

At是真实值,Ft是预测值。

题目特点以及常用方法

空气质量相关预测问题相对比较新,涉及的领域包括环境科学、统计学、计算机科学,近年也有机器学习方面的研究工作。国内外多个网站,APP都有对空气质量预测的应用。现有的方法主要集中于统计学以及线性回归等机器学习模型,近年也有RNN相关的研究[1],现有的模型主要预测时间段在8~24小时以内。

空气质量预测具有规律性弱,不稳定,易突变的特点。因为比赛要预测48小时时间序列以及北京/伦敦城市内几十个预测地点,建模更长的时间序列以及地理拓扑关系给机器学习模型带来挑战。

现有的方法针对的预测的时间段较短,没有基于位置拓扑以及利用天气预报进行建模,在机器学习尤其深度学习模型的运用也处于探索阶段。并且,由于比赛赛制每天需提交未来结果,相对于很多基于固定测试集的方案或比赛更接近真实工业界,对模型的稳定性以及迭代开销也有很多挑战。

比赛数据与数据分析

本题提供主要三方面数据:

空气质量数据, 主要包括以下几种重要的空气污染物:PM2.5, PM10, O3

天气气象数据:地理网格数据点的天气,温度,气压,湿度,风速,风向

未来48小时天气预报:与天气气象数据相同网格点的天气,温度,气压,湿度,风速,风向预报值

其中过去一年的数据有空气质量数据与天气数据,过去一个月的数据有天气预报数据。

首先,我们观察了北京站点2018年2月到5月之间的空气污染物(PM2.5)浓度变化情况,以北京奥体中心站点PM2.5为例,下图显示了PM2.5随时间的变化,从图中可以看出,北京的PM2.5浓度变化不定,最低能达到10以内,最高能达到350左右。并且在数小时就可以产生剧烈的变换,为预测增加了很大的难度。

特征工程

我们首先提取了每个站点过去72小时的空气质量,以及每个站点最近网格过去72小时的气象数据来作为站点的气象特征,使用这些特征构建了第一个模型。

我们发现,基于历史统计量的模型对于长期预测尤其是突变效果并不理想。以 5 月 7 号对于未来两天预测为例,下图可以看出,在 5 月 8 日到 5 月 9 日模型一的 PM2.5 浓度从 40 上升到 80 又下降到 40,而我们基于历史统计量特征的模型始终保持在 50 左右,经过数据分析我们发现,这段时间的天气发生了一定的变化,我们分析未来天气预报是问题的关键并构建相关特征。

北京奥体中心站点5月8号-5月9号的PM2.5预测值及真实值

而天气预报数据只有 2018 年 4 月 10 号后约一个月的数据,在此前一年的训练数据缺失天气预报,没法做有效的训练。所以我们使用 2018 年 4 月 10 号以前的真实气象数据代替此时段天气预报数据。

然而,由于真实天气数据与预测天气数据分布并不一致,我们采取对训练数据中的真实数据引入高斯噪声,并且考虑到短期预报与长期预报估计误差的不同,针对于不同的预测小时段进行了不同的参数估计,缓解了训练集与预测集合不一致所造成的过拟合问题。

针对于某些特殊时段天气预报预测偏差过大造成的不稳定问题,我们进一步使用分箱平滑。参照真实天气预报一个月数据的树模型训练集上的特征重要性与测试集效果进行了超参数确定。并且我们也尝试transfer learning等方法优化分布不一致问题,但由于最后一个月数据太少效果不稳定,并且迭代开销大没有采用。

在基于单点构建天气预报特征后,我们发现很多周围方位的天气预报信息对于当前点也有很大影响。我们由利用几百个网格数据点进行拓扑信息特征构建。首先我们针对每个城市的每个站点的 8 个临近方位角去提取 8 个网格数据点的天气预报特征。考虑到其他位置的天气如风速等会影响到当前方位的污染状况,我们也针对北京 12 个经纬度跨度较大的网格数据点作为全局预报特征,取得了较大的提升。Model1 是基于历史统计量以及初步天气预报特征模型,Model2 是细化天气预报特征与地理位置特征的模型。

北京奥体中心站点5月8号到5月9号的PM2.5预测值及真实值

我们也在其他预测日验证了模型效果。下图为两个模型在 5 月 28 号和 29 号的效果图(29 日后面有数据缺失),我们的细粒度天气预报特征也可以更好的预测趋势。图中空气质量有较大的突变,而我们的模型也捕捉到了突变趋势。突变是对于实际应用有重要应用价值的场景,在这次突变天气提交我们成绩为0.48,同当日第二名成绩 0.54 相比有明显优势。

北京奥体中心站点5月28号到5月29号的PM2.5预测值及真实值

最终,特征主要分为六类:

基本特征:需预测的第几个小时,样本是在当天的第几小时,所在的经纬度等

空气质量特征:过去1,3,5……72小时的污染物浓度/过去1,3,5, 7天同小时时间污染物浓度均值,中位数,最大值,最小值等统计值,不同小时之间rate/diff等趋势特征等

天气特征:过去1,3,5……48小时平均风速,风向分箱聚合

天气预报特征:预测时间所在小时风速风向,预测时间之前1,3,6,12小时风速平滑统计量累计值、极值等,按照风向分箱聚合等统计量等

拓扑位置相关特征:全局统计量,离当前位置最近的 8 个方位统计量,该城市 12 个方位统计量等

历史突变相关特征:历史最大/最小统计量距离当前隔多久,相隔的时间内平均统计量,极值的差,以及历史的极值之间的时间差等

我们从 2027 个特征中采用较为重要的 885 个特征,训练数据共 75 万条。

实验模型:GBDT、DNN、RNN

我们主要用采用3种模型,GBDT, DNN与RNN(Seq2Seq-GRU) 模型。由于数据分布差异很大,我们对于不同城市以及不同污染物分别建模。针对时间序列问题我们一共有 2 种建模方式,序列模型 (RNN) 是每条样本未来 48 小时的空气质量为 48 个label,而常规回归模型(GBDT/DNN)是将一条序列样本根据预测未来的 48 小时序列数展开为48条样本,每条样本预测一个状态,48 条样本间历史统计特征相同,存在二个区别:1)用hour flag标识是第几个样本;2)天气预报特征。

GBDT模型用 LightGBM 两种模型,主要用于特征迭代。针对问题特点对 DNN 模型和RNNSeq2Seq-GRU 模型进行了优化。

DNN模型相对于 GBDT 模型有更强的特征交叉关系学习能力,并且可以学习到一些在训练集中没有出现的交叉关系,下图为 DNN 模型的结构图。

基于DNN模型,我们有如下调整与优化:

对特征进行标准化处理,计算均值和方差的时候对缺失值暂不做处理

标准化后进行特征值clip,减少离群特征值对模型的影响

对缺失值填充 0,并添加缺失标志位

使用b-swish激活函数[2],其公式为 b-swish(x) = x*sigmoid(b*x),b为可训练参数;b-swish 拥有不饱和、光滑、非单调性的特征

参考 product neural network[3]概念以及 LSTM 中的 Gate 设计,对时间与位置信息 embedding 进行了 product 以及后面 sigmoid 激活,再与模型本身的统计特征进行组合

传统的回归损失函数MSE与比赛的评分函数SMAPE有较大的差异,直接优化MSE会导致与评测目标不一致。而SMAPE在0点不可导且有临近点不稳定问题,我们为了直接优化SMAPE参照kaggle web traffic prediction比赛分享进行了损失函数逼近[4],使得模型优化与评测更一致:

epsilon = 0.1

summ = tf.maximum(tf.abs(true) + tf.abs(predicted) + epsilon, 0.5 + epsilon)

smape = tf.abs(predicted - true) / summ * 2.0

由于空气质量预测特征的噪音较大,神经网络相对于树模型对于异常值更敏感,我们做了更多的数据处理(a/b/c)。并且由于传统回归模型由于基于历史统计量相同,会有序列间预测值接近问题,以及不能很好的利用其他拓扑方位的统计信息。我们针对时间与空间概念,参考了LSTM中的 Gate,通过点乘与后续连接,增强时间/空间特征在模型中的区分度,并且相对于普通全连接网络更好建模了时间/空间信息与统计特征的组合能力。最终结果序列间预测值方差显著增加,提升了模型精度与相对于树模型的模型差异性。

同时,在基于时间/空间的点乘优化时间序列取得增益后,我们为了进一步建模时间序列,进行了 RNN 模型的尝试。使用 RNN 模型的主要好处是,能够根据上一步的模型预测信息结合当前步的输入特征进行预测当前步,并且可以对不同状态学习不同的权重。这样可以进一步使得序列间结果的方差,与常规回归建模方式形成很好的融合差异性。

下图为RNN (Seq2Seq-GRU)模型结构:

在RNN每一步从上一步获得预测结果,并加入到当前时间步的输入特征中(以天气预报特征为主)。考虑到了模型精度以及训练速度,模型在 Encoder 和 Decoder 中均使用 GRU。

除采用在 DNN 模型中的 a/b/c/d/g 优化方法,RNN 模型有如下优化:

在 Seq2Seq 网络中加入状态间隐藏层正则项[5],解决模型不稳定的问题。

传统的 Seq2Seq 模型中 decoder 的输入信息主要来自 encoder, 由于本次任务的预测序列比较长,并且我们有天气预报这种未来信息可以用,因此我们针对decoder 的每个时态设计了特定的特征 T1-T48(当前时态的天气预报等其他空气质量特征)。

Seq2Seq 模型训练开销大并且对于参数更敏感,我们使用 Cocob优化器[6],结合梯度截断进行训练。主要可以通过预测学习率加快收敛速度,对迭代的速度有一定帮助,也可以少量提高模型精度。

由于我们预测序列含有 48 状态,每个状态都依赖于之前状态学习,而空气质量以及天气预报数据含有大量噪音,前面序列预测不准确经常会导致后面预测偏移较大,我们使用状态间正则项,可以使得模型更稳定,提升模型精度。

由于未来每个状态均有天气预报特征,我们不同于传统的 decoder,在未来时态也输入了本状态特征(空气预报等特征),这样相对于把这些特征直接输入到 encoder 端具有更强的表达能力,并且可以缓解长序列梯度消失等问题。

模型融合

模型融合是算法大赛中常用的提高模型精度方法,有些比赛在竞争激烈的后期用了几十甚至上百模型。由于本次比赛赛制是每天早上 8 点提交,预测未来 2 天成绩,相对于静态测试集更接近真实工业届天级更新模型场景。为了平衡模型精度和迭代成本,我们用了 5 个基模型,融合结构主要是 2 层 stacking 结构[7],第1层(L1) 是基模型,主要包括 GBDT/DNN/Seq2Seq 等模型差异以及特征差异,第2层(L2) 模型 L1 模型之后的 7 天数据进行训练。基于非线性模型的L2 模型有更强的表达能力,也是我们之前比赛最常用方案之一。

由于天气数据噪音重等数据特点,采用非线性模型如GBDT易引起模型过拟合。我们最终根据融合建模特点采用基于约束的线性模型,并且我们基于时间,地点等多个维度进行了统计,发现不同模型在不同预测段之间的相对精度有一定差异,不同于一个整体的L2模型,我们对每一个预测小时分别求解一个L2模型,精度有进一步提升。相对于L2在基于约束的线性模型的基础上基于统计适当引入非线性,取得表达能力与泛化能力的一个平衡。

下面是单模型和融合模型的结果,相对于更依赖网络调优的深度学习模型, GBDT 模型更依赖于特征工程,深度学习与树模型本身有较强的差异性产生较大的融合增益。

空气质量预测问题不同于KDD Cup 早年的一些广告、推荐类题目,已经在工业届有了大量应用,我们的努力也是做了初步探索。我们先是从数据与特征角度出发,对天气预报做了大量特征以及添加高斯噪音都处理,同时又在时间与空间维度进行进一步添加特征。而单纯从特征角度解决问题也逐渐遇到瓶颈,我们进一步运用深度学习模型角度对时间以及空间角度进行进一步建模,可以与本身基于大量特征工程的树模型有很好的补充,为后续融合打下很好的基础。之后我们基于多个单模型优化最终的第二层融合模型。

在比赛中做了很多尝试,我们认为这次过程中比较重要是基于空气质量问题的理解以及找到问题的关键点,在建模过程中尽量从多方面(如特征+特征)对关键问题进行求解,从多个角度优化到高精度的模型是最终融合模型取得效果的基础与关键。

进一步工作

我们曾尝试用CNN建模地理位置拓扑关系,没有取得明显增益,考虑到地理数据不够充足以及时间有限放弃此尝试,考虑到基于地理位置的特征带来了一定的增益,地理位置的进一步建模也是有意思的进一步尝试点。

同时,在比赛中也提供了 5 年的北京历史空气质量数据,由于时间有限我们没有使用,数据的增加,以及以年为单位进行建立周期性特征也是后面的一个尝试点。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8122

    浏览量

    130556
  • 数据分析
    +关注

    关注

    2

    文章

    1352

    浏览量

    33732

原文标题:中国团队两冠一亚包揽KDD CUP三项大奖,作者亲述技术细节

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    大模型推理显卡选购指南:4090显卡为何成为不二之选

    开发者非常关注的话题。 现在市面上加速卡型号多如牛毛,但说到适用大模型推理的显卡,那4090显卡绝对是现阶段“推理王卡”般的存在。论性能不如H100,论价格不如3090,看似平平无奇的4090显卡为何能在众多竞争者中脱颖而出,成为大模型推理的不二之选
    的头像 发表于 04-11 11:00 138次阅读
    大模型推理显卡选购指南:4090显卡<b class='flag-5'>为何</b>成为不二之选

    ​云知声荣登“2023年度中国高科技高成长企业系列榜单”

    近日,由第一新声、天眼查共同发起的“数字未来”系列之2023年度中国高科技高成长企业系列榜单正式发布,凭借出色的市场表现,云知声在综合榜、细分领域榜两类榜单中脱颖而出
    的头像 发表于 04-10 10:28 197次阅读
    ​云知声荣登“2023年度<b class='flag-5'>中国</b>高科技高成长企业系列榜单”

    华为强势崛起,苹果等手机品牌面临销售挑战

    2024年,中国手机市场正经历着一场前所未有的变革。在这场变革中,华为凭借其卓越表现,成功脱颖而出,成为市场的领跑者。
    的头像 发表于 03-08 16:17 357次阅读

    历史中的佼佼者,FPGA为何能脱颖而出

    数字电路有两大类:组合电路和时序电路,时序电路即“组合电路+存储”。所有组合电路都有对应的真值表,FPGA的可编程逻辑块中的LUT,本质上是一个对应真值表输出的查找表,可以完成任意组合电路的功能。
    发表于 02-21 12:33 166次阅读

    回流焊炉选购指南:这些国内厂家为何能脱颖而出

    在现代电子制造业中,回流焊炉作为关键的生产设备,其性能与质量直接影响到电子产品的成品率和可靠性。随着国内电子制造业的迅猛发展,回流焊炉的市场需求也日益增长。那么,在众多的国内回流焊炉厂家中,究竟哪家的产品更好用呢?本文将从多个维度对这一问题进行分析和探讨。
    的头像 发表于 01-04 10:34 472次阅读
    回流焊炉选购指南:这些国内厂家<b class='flag-5'>为何能</b><b class='flag-5'>脱颖而出</b>?

    无刷电机技术演进与高速风筒行业现状【其利天下高速风筒PCBA方案】

    在市场层面,仿佛大品牌的逐步介入将推动高速风筒行业朝着更高水平发展。对于小公司而言,保持创新并构建良好的产品生态是关键。观察这个行业的动态,我相信未来将迎来更多的技术革新和市场变革,而小公司有望在这场高手如云的竞技中脱颖而出
    的头像 发表于 12-27 21:40 635次阅读
    无刷电机技术演进与高速风筒行业现状【其利天下高速风筒PCBA方案】

    诠视科技荣登「甲子光年」中国元宇宙与交互领域最具商业潜力榜单

    诠视科技脱颖而出,荣登“中国元宇宙与交互领域最具商业潜力榜单”。此次登榜彰显了诠视科技的行业综合影响力,以及在推动元宇宙产业发展过程中发挥的重要作用。
    的头像 发表于 12-04 14:05 294次阅读
    诠视科技荣登「甲子光年」<b class='flag-5'>中国</b>元宇宙与交互领域最具商业潜力榜单

    NVG002F语音芯片:低功耗 宽电压工作与可重复烧写脱颖而出

    在芯片日益发展的时期,为满足用户的需求,九芯一款具有颇高竞争力的语音芯片-NVG002F出现在市场上。这款芯片低成本、生产周期短,适合大中小型批量生产以及在2.4V~5.2V宽电压范围内工作的特性,特别是可重复烧写的特点,在语音芯片市场中脱颖而出
    的头像 发表于 11-29 15:59 209次阅读

    灵犀微光荣获2023中国眼谷眼视光创新创业全球挑战赛优秀奖

    近日,2023中国眼谷眼视光创新创业全球挑战赛总决赛落下帷幕,经过多轮激烈又精彩的角逐,灵犀微光从众多的全球前沿眼健康科技项目中脱颖而出,荣获本次大赛优秀奖。
    的头像 发表于 11-15 17:30 297次阅读

    怎样使用Streamlit创建AutoGen用户界面?

    AutoGen作为一个最大化LLM(如GPT-4)能力的框架而脱颖而出
    的头像 发表于 11-08 14:56 300次阅读
    怎样使用Streamlit创建AutoGen用户界面?

    STM32为何在诸多的单片机中脱颖而出

    STM32为何在诸多的单片机中脱颖而出
    的头像 发表于 10-19 18:05 288次阅读
    STM32<b class='flag-5'>为何</b>在诸多的单片机中<b class='flag-5'>脱颖而出</b>?

    中微电荣获第十五届中国深圳创新创业大赛行业决赛三等奖

    中微电科技“高性能自主安全 GPU 芯片‘南风一号’”项目荣获三等奖,从七千多个参赛项目中脱颖而出,成功晋级中国创新创业大赛。
    的头像 发表于 10-19 17:27 766次阅读
    中微电荣获第十五届<b class='flag-5'>中国</b>深圳创新创业大赛行业决赛三等奖

    锂电涂布模头技术派崛起 打造模头“六边形”战士

    锂电产业在全新的升级迭代要求下,技术能力更强、产业积淀更雄厚的公司将脱颖而出
    的头像 发表于 09-02 17:21 1618次阅读

    橙群微电子NanoBeacon SoC 在 &amp;quot;Truly Innovative Electronics &amp;quot;评选中脱颖而出

    InPlay我们的#NanoBeaconSoC产品在ElectronicsForYou的"TrulyInnovativeElectronics"评选中脱颖而出
    的头像 发表于 08-18 08:32 395次阅读
    橙群微电子NanoBeacon SoC 在  &amp;quot;Truly Innovative Electronics &amp;quot;评选中<b class='flag-5'>脱颖而出</b>

    企业数字化办公,华为云 WeLink 为何能脱颖而出

    平台中,华为云 WeLink 凭借其安全、开放、智能的特点脱颖而出。它提供了一站式的办公协同解决方案,帮助企业实现全场景智能办公,让企业无边界协同。下面,我们将详细介绍华为云 WeLink 办公协同解决方案的优势和特点。 华为云 WeLin
    的头像 发表于 07-03 22:32 527次阅读