文章创新点
- 具有可训练衰变的模型。为了从根本上解决时间序列中缺失值的问题,我们注意到时间序列中缺失值的两个重要属性,特别是在医疗领域:首先,如果最后一次观察发生在很久以前,那么丢失的变量的值往往接近某个默认值(例如一个病人长久没有去医院看病,那么他的状态就趋于一般正常人的状态,可认为是一个默认均值)。这个属性作为一种体内平衡机制,通常存在于人体的健康保健数据中,被认为是疾病诊断和治疗的关键。其次,如果变量已经消失了一段时间,那么输入变量的影响力就会随着时间的推移而消失。例如,电子健康档案(EHRs)中的一个医疗特征只是在特定的时间背景下才有意义。因此,我们提出了如图3(b)所示的基于GRU的GRU-D模型,该模型针对输入变量和隐藏状态设计了一种衰减机制来捕获上述属性。我们在模型中引入衰减率,通过考虑以下重要因素来控制衰减机制。首先,医疗时间序列中的每个输入变量在医疗应用中都有其自身的意义和重要性。衰减率应该根据与变量相关的基本属性从一个变量转向另一个变量。其次,当我们看到许多缺失的模式在预测任务中是有用的和有潜力的,但未知的和可能复杂的,我们的目标是从训练数据中学习衰减率,而不是预先确定。对向量的衰减率进行建模,可以表示为:
- 此处的W和b均为模型参数,我们将其和GRU的剩余全部参数一同进行训练。我们使用负自然函数是为了保持衰减率减小到合理的[0,1]范围内。其他的函数也可以替代这里的函数,例如sigmoid函数,只要衰减结果是单调的并且范围一致即可。
- 我们提出的GRU-D模型融合了两种不同的可训练衰减机制,直接利用输入特征值和隐含在RNN状态下的缺失性。首先,对于缺失变量,我们使用一个输入衰减rx,随经验均值衰减(选择该值作为一个默认设置),而不是使用该缺失值之前的最后一次观测值。在此假设下,可训练的衰减项可以简单地应用于测量向量中:
- 在这里,xd(t’)是第d个变量最后一次的观察值(t’<t),x~d是第d个变量的经验均值。当直接对输入变量进行衰减的时候,我们限制Wrx是对角阵,使每个变量的衰减率独立于其他变量。
- 有时输入衰减项可能无法完全捕获缺失模式,因为不是所有的缺失信息都可以由衰减输入值表示。为了能够捕获更为丰富的缺失信息,我们在GRU-D中加入了一个隐藏状态衰减rh。直观地说,这样做的效果是衰减提取的特征(GRU隐藏状态),而不是直接衰减原始的输入变量。在计算新的隐藏状态ht之前,对之前的隐藏状态ht-1进行衰减,完成该衰减部分,衰减可以表示为:
- 在这里我们不限制Wrh必须是对角阵。此外,我们直接把掩蔽向量mt喂进模型中。mt矩阵代表了该处数据是否被观察到,如果有观察值则为1,否则为0。此外,引入一个间隔矩阵δ,表示两次观测之间的时间,如果t时刻未观测到,则用t时刻的时间戳减去最后一次观测到值的时间戳作为间隔。mt和间隔矩阵δ的具体定义和示例如下:
- GRU-D的更新函数可以表示为:
- 值得注意的是,GRU-D的计算公式与标准GRU计算公式的有如下主要区别。首先,xt和ht-1由x^(t) 和h^(t-1)代替。其次,掩蔽向量mt被直接传入该模型中,Vz,Vr,V是与mt相对应的新参数。
- 在我们的最终预测模型中,我们在每一个时间步应用提出的GRU-D组件,并使用一个全连接预测层。在GRU的最后一层,选择sigmoid激活函数用于二分类任务,使用softmax激活函数用于多分类任务。网络结构如下图所示。在我们的实验中,对于所有的数据集,相同的网络结构在网络大小上使用了不同的设置,包括输入、隐藏状态、输出维度和时间长度。一些基于GRU-D模型的变体算法在补充部分Section s2中进行了讨论。衰减项的想法可以被直接推广到LSTM算法中,它可以推广到其他领域,在这些领域中,时间序列数据具有缺失的模式,这些模式在实际应用中以各种方式包含有用的信息。