035棋牌

2019-08-08 | 作者:微軟亞洲研究院

编者按:KDD 2019于8月4-8日在美国阿拉斯加州的安克雷奇举行。本届大会上,微軟亞洲研究院有多篇论文入选,内容涉及在线预测任务、 在线影响力最大化、AI金融、推荐系统、异常检测等多个前沿领域。本文将为大家介绍其中有代表性的7篇论文。


DeepGBM: A Deep Learning Framework Distilled by GBDT for Online Prediction Tasks

論文鏈接:https://dl.acm.org/citation.cfm?id=3330858

在线预测任务是在实践中常见的任务,如点击率预测、推荐系统等。在这些任务里面,数据有如下两个重要特性:第一是包含大量的表格特征,既有稀疏的离散类别特征,如用户 ID、商品类别等,又有稠密的连续数值特征,如用户年龄、商品价格等;第二是这些数据会在实际业务场景中实时增加,且分布可能会随时间发生变化。

而目前广泛用于这些任务的机器学习模型都没有完美适配这两个重要的特性。常用的机器学习模型大致可分为三类:梯度提升树(GBDT)、神经网络(NN)和二者(GBDT+NN)结合的模型。其中 GBDT 可以很好地处理连续的数值特征,但很难处理好稀疏的类别特征,并且 GBDT 是利用全量数据学习的,很难高效地进行在线更新;而 NN(如Wide&Deep、DeepFM等)虽然可以用 embedding 技术处理好稀疏类别特征,且可以高效地在线更新,但其难以很好地处理数值特征;常见的 GBDT+NN 方法会单独使用 GBDT 再使用 NN,但同样由于 GBDT 的缘故,难以在线更新。综上,其特点对比如表1所示:

表1:不同機器學習模型之間對比

本文提出了 DeepGBM 的端对端模型,结合 GBDT 和 NN 的优势。DeepGBM 主要包含两个子模块——面向类别特征的 CatNN 和面向数值特征的 GBDT2NN。CatNN 主要继承了 NN 中对类别特征友好的 Deep 模块和 FM 模块;GBDT2NN 是文章最主要的贡献之一,其基于 GBDT 进行知识蒸馏构造了一个 NN 模块,可以有效地处理类别特征并可以在线更新。综上,DeepGBM 既支持含有类别特征和数值特征的表格型数据输入,还能利用实时产生的数据进行学习和更新,其基本框架如图1所示:

圖1:DeepGBM模型框架

GBDT2NN 主要包含了3个部分:特征选择、结构蒸馏和决策树输出,其数学形式表达和大致框架如下所示:

图2:GBDT2NN 数学形式表达(左)和框架(右)

考虑到 GBDT 中远不止一棵树,且每棵树的叶子数量很多,这样一个 NN 对应一棵树的转化代价太大。因此,我们引入 Tree Grouping 和 Leaf Embedding Distillation 的技术。具体来说,我们先将树进行分组,在每一组里面先把稀疏离散的叶子索引输出映射到稠密的 embedding,再把这个 embedding 作为蒸馏的目标,如图3所示。结合这两个技术,可以大大降低蒸馏多棵树的代价。

图3:使用Leaf Embedding Distillation进行结构蒸馏

该论文使用了7个数据集来验证 DeepGBM 模型的效果。离线实验和在线实验的结果分别如表2和图4所示。离线实验表明:1)基于 GBDT 的模型较 NN 模型有更好的表现;2)GBDT2NN 在 GBDT 的基础上还有一定提升;3)DeepGBM 的表现比所有的基线模型都要好。在线实验表明:DeepGBM 契合在线场景,且效果比所有的基线模型都要好。

表2:DeepGBM 模型的离线实验结果

图4:DeepGBM 模型的在线实验结果

目前,这项工作已经在 GitHub 上开源。

GitHub 地址:https://github.com/motefly/DeepGBM

Factorization Bandits for Online Influence Maximization

論文鏈接:https://arxiv.org/abs/1906.03737

影响力最大化(influence maximization)是在一个社交网络中找到少数种子结点使得从种子结点出发传播达到范围最大的优化问题。但是传播过程是一个随机过程,由网络中每个边上的参数决定,而这些参数需要从传播数据中学习得到。在线影响力最大化(online influence maximization)就是在网络中反复优化和学习相结合的迭代过程:每一轮我们选出一个种子集合,观察这些从种子集合出发的传播过程,通过传播反馈更新边上的参数,再用更新过的参数选取新的种子集合作为下一轮最大化的起始结点,使得在多轮传播中总的效果最好。

之前的工作将每个边作为独立的参数进行学习,这导致参数过多,学习过程较慢。在本文中,我们依据社会科学研究中提出的人际影响力主要由发出方的影响因子(influence factor)和接收方的易感因子(susceptibility factor)联合决定的思想,将每个结点建模为两个低维的向量,一个对应于影响因子,一个对应于易感因子,而从结点 u 到结点 v 的有向边的影响力参数就是 u 的影响因子与 v 的易感因子的点积。基于这一模型,我们给出了在线影响力最大化的学习和优化方法,我们称之为因子分解老虎机(factorization bandit)方法。我们给出了如何从观察数据反推结点的影响因子和易感因子的方法和估计参数置信度的方法,并由此给出了算法遗憾度的理论分析。通过实验,我们验证了该算法比已有算法能更快地学习,从而在同样轮次内达到更好的影响力效果。

Individualized Indicator for All: Stock-wise Technical Indicator Optimization with Stock Embedding

論文鏈接:https://dl.acm.org/citation.cfm?id=3330833

在金融市场的风险决策中,金融特征因子是通过对过去一段时间内市场价格的进行数学运算而形成的,它们往往能反映对应股票的一系列特征,从而对构建金融投资策略起到重要的作用。然而我们发现不同股票对于同一个金融特征因子的亲和度往往是不同的,也就是说即使两个股票拥有相同的金融特征因子的数值,这并不意味着它们此刻的状态是相同的。如图5所示,对于两只不同的股票(ID 601558和ID 000892),即使在特征因子bias-in-30-days上拥有同样的值(例如-0.1),但对两只股票来讲,含义是非常不同的。

圖5:擁有相同特征因子的不同股票的市場表現

爲此,我們提出了一個針對金融特征因子的優化模型,它能夠根據不同的股票性質去對原始的金融特征因子進行相應地調整優化,使得優化後的因子能夠更准確地反映股票此時的狀態和特征。爲了得到對于每支股票性質的合理表示方法,我們注意到基金經理們對于股票有自己的偏好,例如有的更喜歡投資穩定股,有的更喜歡投資成長股。

圖6:基金經理與投資股票的二分圖

所以我們認爲,被相同基金經理投資的股票之間會具有相似的性質,從而可以從基金經理們的行爲模式中學習得到股票的性質的表達方式。因此,我們將過去時間內基金經理們對股票的投資構建出一個二分圖(如圖6),其中點表示爲基金和股票,邊表示投資的份額。然後我們通過圖嵌入的算法得到股票的向量表達方式。最後通過一個神經網絡模型,以股票的向量表征方式和原始的因子作爲輸入,學習出優化後的因子數值。實驗證明,相比于原始特征因子而言,優化後的因子對于金融投資具有更好的借鑒意義。

圖7:不同投資策略導致的累計收益在不同年份之間的對比圖

Investment Behaviors Can Tell What Inside: Exploring Stock Intrinsic Properties for Stock Trend Prediction

論文鏈接:https://www.kdd.org/kdd2019/accepted-papers/view/investment-behaviors-can-tell-what-inside-exploring-stock-intrinsic-propert

隨著計算機技術的快速發展,量化分析逐漸成爲了一項重要的投資參考。股市專家們根據基本面、技術面和實時新聞等信息推斷股票價格從而實現利潤最大化。爲了快速計算和發掘新的價格波動模式,大量的研究者嘗試使用各種各樣的機器學習模型來預測股票。盡管如此,相比于已有的模型,股票專家投資仍然能夠獲得較好的投資回報。其中的原因之一是股市專家通過長時間的學習和觀察對股票的本質特征有著專業的理解,而這些本質特征卻很難被清晰的表述出來。基于上述原因,本文主要聚焦于發掘股票的這些本質特征並將其用于改進已有的股票預測模型。

圖8:對投資者的行爲偏好進行建模

事實上,投資者的行爲偏好透露了其對股票本質的理解(如圖8建模)。比如,有些投資者偏好成長型股票,有些偏好周期型股票;有些投資者更了解重工業,而有些更多地投資了高新技術。基于這樣的情景,我們嘗試從投資者的投資行爲中學習股票的本質特征。

由于基金經理是一群特殊的金融投資專家,他們對股票的理解更加專業;而且根據相關規定,他們的投資方案會定期公布,這有利于數據的采集和學習。因此本文使用基金經理的投資數據來發掘股票的本質特征。接下來,爲了能夠將相對靜態的股票本質特征應用到頻繁波動的價格預測,本文提出了一種新的框架來改進已有的股價預測模型,從而實現特征輸出同步。

圖9:股價預測模型新框架

LambdaOpt: Learn to Regularize Recommender Models in Finer Levels

论文链接: https://arxiv.org/abs/1905.11596

推荐系统经常涉及大量的类别型变量,例如用户、商品 ID 等,这样的类别型变量通常是高维、长尾的——头部用户的行为记录可能多达百万条,而尾部用户则仅有几十条记录。这样的数据特性使得我们在训练推荐模型时容易遭遇数据稀疏的问题,因而适度的模型正则化对于推荐系统来说十分重要。正则化超参的调校十分具有挑战性。常用的网格搜索需要消耗大量计算资源,且通常无法顾及更细粒度的正则化。针对推荐模型和推荐数据集的特性,我们提出了一种新的、更加细粒度的自动正则化超参选择方案 λOpt。

图10:细粒度正则化的 MF-BPR 为每个用户、商品、维度选择合适的正则化超参

图11:λOpt 整体流程

除了正常的模型更新之外,在每一步迭代中,λOpt 基于验证集的表现调整正则化超参:1)在训练集上,预估使用当前超参 Λ 进行一步模型更新后的模型参数 Θ ?_(t+1)。为了实现更便捷的自适应细粒度正则化,λOpt 以目前流行的自动求导框架为基础,将梯度拆分为未正则化与正则化两部分分别计算;2)在验证集上,求解图12所示约束优化问题。考虑到方法的通用性,λOpt 采用了一个单独的网络 Λ-Net 来更新Λ。

圖12:基于預估的模型參數,最小化驗證集上的損失函數

我们在矩阵分解模型上展示了如何使用 λOpt 来进行细粒度超参的选择。在 Amazon Food Review 和 MovieLens 10M 两个数据集上,考虑用户+商品+维度的细粒度正则化后,λOpt 可以同时照顾到不同频率的用户、商品,显著提高推荐性能(如表3所示)。

表3:λOpt的性能表現

 

NPA: Neural News Recommendation with Personalized Attention

論文鏈接:https://arxiv.org/pdf/1907.05559.pdf

每天都有大量用戶在微軟新聞等在線新聞平台閱讀電子新聞,然而,面對互聯網上每天都在産生的海量新聞,用戶從中逐個尋找感興趣的內容是不現實的。因此,新聞推薦是在線新聞平台的一項重要任務。可以幫助用戶找到他們感興趣的新聞文章,並減輕信息過載。在浏覽新聞時,不同的用戶通常具有不同的興趣,並且對于同一篇新聞,不同的用戶往往會關注其不同方面。然而已有的新聞推薦方法往往無法建模不同用戶對同一新聞的興趣差異。

该论文提出了一种 neural news recommendation with personalized attention(NPA) 模型,可在新闻推荐任务中应用个性化注意力机制来建模用户对于不同上下文和新闻的不同兴趣。该模型的核心是新闻表示、用户表示和点击预估。

在新闻表示模块中,我们基于新闻标题学习新闻表示。新闻标题中的每个词语先被映射为词向量,之后我们使用 CNN 来学习词语的上下文表示,最后通过词语级的注意力网络选取重要的词语,构建新闻标题的表示。

在用戶表示模塊中,我們基于用戶點擊的新聞來學習用戶的表示。由于不同新聞表示用戶具有不同的信息量,我們應用新聞級的注意力網絡選取重要的新聞文章,構建用戶的表示。

图13:NPA 模型的架构

另外,相同的新闻和词语可能对表示不同的用户具有不同的信息量。因此,我们提出了一种个性化的注意力网络,其利用用户 ID 的嵌入向量来生成用于词和新闻级注意的查询向量其结构如图14所示。

圖14:個性化注意力網絡的結構

最終候選新聞的點擊預估分數通過用戶和新聞表示向量之間的內積計算,作爲對用戶進行個性化新聞推薦時的排序依據。

該論文在微軟新聞推薦的真實數據集上進行了實驗,並和一系列基線方法進行了對比,結果如表4所示。

表4:不同模型在微软新闻推荐数据集上的实验结果。*相对基线方法的改进显著水平为 p <0.001。

實驗結果表明,應用個性化注意力機制能夠有效地提升新聞個性化推薦的效果,因此該論文提出的方法在多個指標上一致地優于基線方法。

Time-Series Anomaly Detection Service at Microsoft

論文鏈接:https://arxiv.org/abs/1906.03821

时序数据的异常检测在实际生产环境中有着重要且广泛的应用,包括业务指标、DevOps 数据以及 IOT Sensor 数据的监控等。及时地发现异常可以有效降低企業成本,增加服务的稳定性。构建一个准确并实用的异常检测算法主要有以下几点挑战:1)缺乏标注:在系统中有百万级别的时间序列,我们很难对每种类型的数据进行足够的标注;2)泛化:时间序列的模式多种多样,产品要求算法对各式各样的时间序列具备很好的泛化能力;3)效率:线上服务对算法的执行效率有较高要求,一些复杂的模型虽然精度不错,但效率达不到产品的要求。

在微软内部,AI Platform of Cloud+AI 产品组构建了一个异常检测平台,应用于包括 Azure、Office 以及必应在内的多个产品组,同时在微软认知服务上提供 API 供外部客户使用。我们针对该产品面临的挑战,发明了一种准确、高效的异常检测算法,带来了显著的效果提升。

圖15:異常檢測算法示意圖

算法示意如图15所示。一个时间序列输入首先经过 Spectral Residual(SR) 模块。SR 是一种基于傅里叶变换的非监督模型,在视觉显著性领域取得了非常好的效果。经过 SR 变换的时间序列被称为 Saliency Map,在此基础之上,我们应用了一个额外的 CNN 网络输出预测结果。我们首次在时间序列异常检测问题中迁移使用了 SR 模型,该方法显著地提升了 SOTA 的精度。同时,我们首次将 SR 与 CNN 相结合,进一步改进了 SR 的性能(评测如表5所示)。在我们的应用中,CNN 可以由完全虚构的数据训练,从而解决了数据标注的问题。

表5:SR 性能评测结果

API說明:

https://azure.microsoft.com/en-us/services/cognitive-services/anomaly-detector/

開源代碼:https://github.com/microsoft/anomalydetector

?