zoukankan      html  css  js  c++  java
  • NIPS2017-The neural hawks process

    NIPS2017哪些论文值得关注

    论文链接

    1.首先这篇文章研究的是 event stream,什么是event stream呢 ?

    假如你是一个医生,你每天会看到很多病人 ,对于每一个病人,你都有他一长串的历史记录,有他在不同时间做了什么检查,得了什么病

    假如你在淘宝、亚马逊买东西的记录,在不同时间买了不同的东西, 这也是一个event stream

    在推特或者 微博上面 你可以看到 好友 在不同的时间发表微博,这些都是 event stream

    2.研究event stream的意义

    因为基于对过去的掌握,我们想对未来做出一定程度的预测

    比如你是医生,给你病人过去的事件流,你可以预测他什么时候再来,为了什么来visit(感冒、发烧、拉肚子)

    在亚马逊上,根据过往信息,你想知道用户什么时候再来买东西,买什么东西

    在微博上,你想知道什么时候会retweet ,是来做这件事

    通常用 Point Process 处理 event stream

    通常,用point process 来model 事件流,怎么来model呢 首先,前面看了一共有K个时间类别 , 每一个事件类别 有一个intensity function

    它代表:极短时间内品均有多少个这类事件,在这个极端时间内发生了 所以在一个极小的时间内时间K类事件发生的概率

    被intensity function 定义为那么在这个时间点上 没有任何事件发生的概率 是(1减去其他事件发生的总和)

    定义完这些之后,我们可以构造一个 event stream 在这个model下的probability

     

    在这张图中,我们观测到两类事件(k = 2) 绿色的五边形代表的事件,粉色的正方形事件
    在0到T的时间内 观测到了 N个不同的时间点。分别在Ti 发生了 事件ki
    整个event stream 在0-T时间的log probability 在所有时间点没有任何事件发生(也就是左边的那一行) 加上 在 N个时间点上的 log probability (也就是第二项 ) ,
    在前一页 在每一个时间点发生的概率 和 没有事件发生的概率() , 把他俩带入公式 ,并且进行一个泰勒展开 ,就可以得到最下面的公式
    这个式子就是point process 对每一个观测到的事件流给出来的 log probability
    左边这个被减去的积分 解释 0-T无穷个时间点上 没有任何时间发生
    右边这一项 解释 为什么在N个离散的时间点有你观测到的事件发生

    3.The Hawkes Process

     

    很久以前,这个hawkes教授首先做了这件事,他提出了hawkes process :
    他假设过去的事件 对未来事件 都有一个短暂的正向影响,
    也就是过去的事件 会 正向提高 未来事件发生的概率 ,
    基于这个假设, 他把intensity function 定义为一个 base level + 过去每一个事件对后面的事件带来的影响的加和,
    这个影响是不同事件之间的相互影响,有k个事件,就有k的平方个阿尔法 , 这个正向的影响随着 事件衰减,所以要加上 后面这个指数项
    也就是说 hawkes process假设每一类别事件他的intensity function在一个base level的基础上不断被过去事件激发,激发又随着事件消减

    4.Continuous-Time LSTM (neural hawkes process)

    作者提出了一个continuous-time LSTM
    先看右边的公式:正如刚才所说的,可以把intensity function 作为一个连续时间上变化的hidden state上的non-linear function 。由于我们知道 hidden state 是被update 和 cell memory 共同决定
    我们假设 cell memory 是随着时间变化的 ,从而使得H也随着时间变化
    通常在普通的lstm中gate encode cell memory C 的变化, 在新模型中有两个C
    一个表示暂态的memory 就是这个C , 他表示第i 次事件发生的时候,他变成了Ci+1
    同时类似的,我们还可以有另外一个cell memeory 表示一个稳态的memory Cbar
    他表示在稳态的时候cellmemory处于什么样的值,我们可以假设在每次事件发生之后和下一次事件发生之前,真正的cell memory T 会从暂态cell memory 开始 逐渐的向 稳态C bar变化,变化率 由一个可以被学习到的 daita function 决定
    这样的话 由于c的每一个 element都是对着时间指数变化的 这堆element做一个combination 和一个non-linear 的变换,理论上可模拟 任何方式变化的时间函数 , 也就是说当我们把很多指数变化的函数组合起来的时候,我们可以让他们的组合 来逼近任何复杂形状的函数,那我们就可以得到任何复杂
    形状的intensity function
    举个例子 ,就是左边这张图,下面的黄线代表cell memory,假设用的是有3个hidden node 的LSTM
    也就是他的维度D=3,每一个维度都随着事件递增或递减,当下一个维度发生之后,这个cell memory都会发生显著的变化,事件发生之后,cell memory 会发生显著变化,以一定速率递增或者递减
    假设有两个不同事件,绿色和粉色事件,每一个事件都有它的 intensity function,他俩都可以以一些参数被写成这三个cell,c1,c2,c3的non-linear projection,那么我们可以看到 随着横轴时间轴的推移,cell memory 不断产生变化 , intensity function 也不断产生变化 , 当粉色事件发生,粉色事件作为输入,改变了cell memory的值 ,进而改变了 intensity function的值 , 新一轮的缓慢变化又开始了
    整个这部分内容就是 neural hawkes 的核心内容 ,作者用连续时间上的LSTM 来capture连续时间
    上hidden state的变化 ,进而能把intensity function 表示成 hidden state的一个复杂的non-linear projection。从未capture到各种复杂的影响

     5.Future Work

    future work 就是跟reinforce learning 结合起来
    做连续时间 上的 reinforcement learning , 来学习环境什么时候给反馈,给什么反馈
    和 agent 什么时候做响应 做 什么响应

  • 相关阅读:
    EBS SQL > Form & Report
    oracle sql 优化分析点
    MRP 物料需求计划
    MRPII 制造资源计划
    Barcode128 应用实务
    Oracle SQL语句优化技术分析
    APPSQLAP10710 Online accounting could not be created. AP Invoice 无法创建会计分录
    Oracle数据完整性和锁机制
    ORACLE Responsibility Menu Reference to Other User
    EBS 常用 SQL
  • 原文地址:https://www.cnblogs.com/asd1234/p/8177570.html
Copyright © 2011-2022 走看看