南宁服装销售交流组

【技术分享】如何训练一个深度循环网络来预测你的血压

只看楼主 收藏 回复
  • - -
楼主
  


背景介绍

近年来,随着高血压人口的增加,慢性病高血压的预防和治疗已经成为了影响全球公共健康的一项重要问题。通过世界卫生组织(WHO)的调查,直到2015年,世界上超过20%的成年人都患有高血压。对于高血压病人而言,持续观察其血压情况是十分重要的。测量血压的传统方法是由医生在诊所对病人进行测量。相较于传统的方法,家用血压仪可以避免一些测量偏差,比如白大衣效应。同时,通过连接智能手机,家用血压仪可以提供大量测量数据。通过这些数据,我们可以借助云端服务器实时后续的数据分析,对用户的未来血压状况进行预测。其具体工作流程图如图1所示:

1  智能家用血压仪的工作流程


血压数据是典型的序列数据,它在时序上的前后依赖关系非常明确,这些数据很适合用来对用户的血压序列进行建模,并对未来的血压情况进行预测。因此,我们的工作就是如何充分利用这些数据来对用户未来的血压情况进行预测。

研究现状

在机器学习领域,隐式马尔科夫模型(HMM)是经典的序列预测模型,它通常被用在语音识别上。隐式马尔科夫模型(HMM)基于马尔科夫假设,即只有当前状态影响后一状态,然而血压序列值之间相互联系,马尔科夫假设过于强烈。事实上,它只能利用最近的几次血压数据来作出预测,无法对更长的序列进行建模。循环神经网络(RNN)和其变体Long Short Term Memory(LSTM),Gated Recurrent Unit(GRU)在序列预测问题上已被证明是更加有效的模型。它们可以利用所有的历史序列数据来对序列的下一次进行预测。在语音识别、点击率预测、推荐系统等问题上,RNN及其变体都取得了最好的结果。

目前,机器学习方法已经被应用到了许多医学问题中,在预测中风、心脏病等问题上都取得了显著效果。然而,血压预测问题上,目前还没有人对家用血压仪的数据进行分析,所以如何根据这种数据的特性来构建血压预测模型是我们任务的重点。


我们的工作

我们的数据分为两部分,一部分是用户的测量数据,包括高压、低压、心率等。它们按照时序排列,反应出了用户身体状况的变化。另一部分是上下文信息数据,包括用户的身高、体重、年龄、性别、地理位置等,它们是用户在注册账号时填写的,一般不会及时更新,但这部分数据与人的血压息息相关,尤其是由身高和体重决定的身体质量指数(BMI),它反映了用户的胖瘦程度,这个信息对高血压预测有很大帮助。因此,如何将两部分数据合理的利用是我们血压预测任务的一项难点。

针对以上问题,我们提出了带有上下文信息层的循环模型来进行血压预测。如图2所示,我们在原有的LSTM层后又加入了一个新的隐层,这个隐层的输入是LSTM层的输出以及上下文信息数据,然后用ReLU函数激活,从而得到预测结果。

2  带有上下文信息层的循环模型


该模型实现了在同一框架下同时根据测量数据和上下文信息数据对未来血压进行预测,其参数我们选用二次损失函数来实现端到端的学习。模型学习采用误差沿时间反向传播算法来获取目标函数关于所有权值参数的梯度。在实验中我们证明了相对于其它模型包括支持向量机(SVM),因式分解机(FM),以及传统的RNN、LSTM,我们的模型在预测精度上有着明显的提升。更多详细内容请参考以下文章:

Xiaohan Li, Shu Wu, Liang Wang, Blood Pressure Prediction via Recurrent Models with Contextual Layer, International World Wide Web Conference (WWW), 2017。



举报 | 1楼 回复