【论文阅读笔记】ICML2022 时序异质数据 聚类 深度学习

【本文首发于CSDN个人博客,转载请注明出处。In case of infringement, please contact to delete.】

今天破冰咯~ 趁着自己刚认真看完一篇论文,记录一下内容。第一篇几乎没用翻译直接看完的,学好英语太有用了。

论文是ICML 2022的《Learning of Cluster-based Feature Importance for Electronic Health Record Time-series》。这是一篇医学背景下的文章,提出通过可分聚类与深度学习处理医学高异质性时序数据,极具挑战性,并获得了效果提升。论文原文链接

下面是以我的逻辑和理解对论文的剖析,论文中提到的简单内容会略过,若有错误请指出。

p.s. 欢迎【关注&点赞&收藏】

目录

  • 术语解析
  • 研究目标
  • 推导过程
    • framework
      • encoder思路
      • identifier思路
      • predictor思路
    • encoder逻辑部分
      • LSTM
      • attention
    • k-means
    • Attention Map Visualization
    • Loss optimization
  • 实验
  • 存留问题

术语解析

  • EHR:电子健康记录,包含包括生命体征,既往病史,诊断,进度记录,药物,过敏,实验室数据,免疫接种日期和影像报告。

  • 亚组分析:参与临床试验的患者由于受各种因素(如遗传学、人口学、环境、病理生理学、合并症、合并用药、区域等)的影响,往往具有不同程度的异质性,从而可能导致试验药物在不同患者中的疗效不同。临床试验中将具有不同特征的患者分组,是探索不同患者人群之间疗效差异的直观方法,同时也是获益-风险评估不可缺少的一部分。

    亚组是全人群中的一个子集。亚组分析是指针对试验药物在亚组中的疗效和/或安全性进行试验设计与统计分析的过程,亚组是亚群的一个样本,将亚组结果推广到亚群时需要考虑亚组对亚群的代表性问题。

  • 表型分析

  • 患者轨迹建模:疾病轨迹变化,展现疾病的变化趋势,以及发展轨迹。时间可长可短,例如入住重症监护病房的患者,多久会发展为多脏器功能不全,以及发展的轨迹是怎么变化的等等。

  • vital-sign(生活特征):用来判断病人的病情轻重和危急程度的指征。主要包括体温、脉搏、呼吸、血压。它是实时了解病人病情变化的重要指标之一。

研究目标

通过表型cluster预测可能表型:来源于医疗测试数据+过往病症表型

注:本文中,表型(phenotype)= outcome = label = class

推导过程

framework

encoder E, Identifier I, Predictor P

encoder思路

第n个患者的轨迹输入为 X n \mathbf{X}_n Xn(包含feature和time的矩阵), 通过encoder压缩为 z n \mathbf{z}_n zn,再通过identifier得到属于cluster i的概率 π i \pi_i πi(∴该患者在每个cluster的概率向量为 π \boldsymbol{\pi} π)。

identifier思路

training阶段:

第k个cluster的抽样数量服从于 π \boldsymbol{\pi} π的概率数据(分层抽样)。每个cluster抽样出的样本(实际上是centroid给出的)定义为 c k \mathbf{c}_k ck,代表cluster的表示向量(cluster representation vector)。所有cluster抽样结果放在一起形成 C \mathbf{C} C

最后通过predictor得到 C \mathbf{C} C的预测结果(4个label之一)。

testing阶段:

选取概率最大的cluster i.

所以整个的目的是预测表现型。
【我认为,outcome的作用旨在encoder和predictor提供训练分类任务,实际上encoder要的是trajectory的压缩向量,predictor要的是计算cluster概率的部分】

【identifier根据k-means的分类结果来训练】

predictor思路

training和testing除了输入不同,基本思路都是使用MLP的那些。

encoder逻辑部分

LSTM

假设:feature is time-independent。
通过LSTM算出 O n , t \mathbf{O}_{n,t} On,t.

attention

Df个输入的全连接前馈神经网络,得到的输出为 R n , t R_{n,t} Rn,t,参数[D, B].

通过乘以向量 α ^ t \widehat{\mathbf{\alpha}}_t α t,得到 O ^ n , t \widehat{\mathbf{O}}_{n,t} O n,t .

最后通过 O ^ n , t \widehat{\mathbf{O}}_{n,t} O n,t得到权重 β \boldsymbol{\beta} β,是患者 n 的潜在表示和编码器网络的输出。【感觉是 β \boldsymbol{\beta} β前面可以看成一个改良版模块输出网络结果 o ^ \widehat{\mathbf{o}} o , 而 β \boldsymbol{\beta} β实际上是encoder的权重】

通过分类任务训练,其实是获得高维向量表示。【感觉很像nlp很多问题的做法啊】

k-means

初次,在E(x)后用k-means把训练数据分成K个clusters。identifier实际上是按照这个结果做的训练,给出 π \boldsymbol{{\pi}} π. 所以结果部分clustering的metric结果并不如DL好,因为实际上本质上用的是k-means。然而作者也在discussion提到了,这两者没有可比性

Attention Map Visualization

  1. α ^ t \widehat{\mathbf{\alpha}}_t α t用softmax进行normalize得到 s t \mathbf{s}_t st

  2. 根据 c k \mathbf{c}_k ck o n , t \mathbf{o}_{n,t} on,t计算每个压缩后向量落在不同cluster的权重 γ \boldsymbol{\gamma} γ,并用softmax进行normalize。

    得到K个cluster的分数矩阵 M n , k \mathbf{M}_{n,k} Mn,k(矩阵大小为 时间长度×特征数量)【得到的是每个特征在每个时刻的score】

Loss optimization

第一个:比交叉熵多乘了一个 w c w_c wc,也就是同一个人在不同outcome下的权重,该权重反比于实际分布概率,总和为1。对样本少的outcome有更大的penalty。

第二、三个:解决了cluster collapse:①只将样本分配到一小部分cluster里,对数据使用不全 ②不收敛

实验

此处略写,不难理解。

主要有几个实验:

  1. 对clustering,prediction进行的basic evaluation。使用classic algorithms&previous work的方法作为benchmark。
  2. 方法(模型和loss function)的消融实验
  3. attention map
  4. 和previous work models得到的cluster里phenotypes diversity进行了对比

存留问题

  • 不记得看到过k-means里k的选取过程?
  • 第一个loss function里的 w c w_c wc 为啥要反比?
  • 第二第三个loss function是怎么想出来的。。。

欢迎交流想法!

码字结束,期待自己的下一篇

你可能感兴趣的:(人工智能,机器学习,深度学习,论文阅读,神经网络)