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 什么時候做響應 做 什么響應