返回列表

6th place solution, Factorial HMM with a shared factor

378. University of Liverpool - Ion Switching | liverpool-ion-switching

开始: 2020-02-24 结束: 2020-05-25 药物研发 数据算法赛
第6名方案:带共享因子的因子隐马尔可夫模型

第6名方案:带共享因子的因子隐马尔可夫模型

作者: Masaki Shimizu | 排名: 第6名

我们的模型是因子隐马尔可夫模型的一种。有关FHMM的详细信息,请参阅这篇论文。
http://www.ee.columbia.edu/~sfchang/course/svia-F03/papers/factorial-HMM-97.pdf

本次比赛使用的FHMM如下图所示。
FHMM Model Diagram

\( M \) 和 \( N \) 分别代表通道数和时间步数。\( Z_{mn} \in \{0,1,2,3\} \) 代表第 \( m \) 个通道在第 \( n \) 个时间步的隐状态。每个通道的隐状态独立遵循一阶马尔可夫过程,并共享转移概率;即 \( P(Z_{m,n+1}=k | Z_{mn}=j) =A_{jk} \)。

\( C_n \) 是第 \( n \) 个时间步的开放通道数,计算公式为 \( C_n = \sum_{m=1}^M F(Z_{mn}) \),其中 \( F(0)=F(1)=0 \)(关闭状态),\( F(2)=F(3)=1 \)(开放状态)。\( S_n \) 代表第 \( n \) 个时间步的信号,由高斯分布生成;\( P(S_n| C_n) = \frac{1}{\sqrt{2\pi}\sigma} \exp \left[ -\frac{1}{2\sigma^2} (S_n-aC_n-b)^2\right] \)。

在上述模型中,可调整的参数为 \( A, a, b \) 和 \( \sigma \)。在训练阶段优化参数 \( A \),其他参数在预测阶段进行优化。

(1) 训练阶段:获取 A

利用训练数据中的 open_channels 时间序列,优化转移概率 A 以最大化似然函数 \( P(C)=\sum_{Z} P(C,Z) \),其中 \( C=(C_1,C_2,...,C_N) \),\( Z =(Z_{11},Z_{21},...,Z_{M1},Z_{12},Z_{22},...,Z_{M2},...,Z_{1N},Z_{2N},...,Z_{MN}) \)。使用常规的 EM 算法进行最大化。EM 算法每一步的计算成本为 \( O({}_{M+3} C_{3} N) \)。相比上述论文中原始 FHMM 的成本 \( O(4^{M+1} N) \),这一成本大大降低。

以下 Notebook 展示了该阶段的实现:
https://www.kaggle.com/shimizumasaki/6th-place-solution-training-phase

(2) 预测阶段:获取 \( a, b, \) 和 \( \sigma \)

在测试数据中,每个时间点的 "open_channels" 预测值 \( C_{n} \) 计算如下。利用测试数据中的 "signal" 时间序列 \( S \) 和阶段 (1) 中获得的转移概率,优化剩余参数 \( a,b,\sigma \) 以最大化似然函数 \( P(S)=\sum_{C,Z} P(S,C,Z) \)。此优化过程与 (1) 基本相同。在优化的 EM 算法结束时,可以获得给定信号下 \( C_n \) 的后验概率 \( P(C_n|S) \)。然后,通过 MAP 估计确定 "open_channels" 的预测值:\( Pr_n={\rm argmax}_{C_n} P(C_n|S) \)。

注意:我们将 \( a \) 固定为 \( \simeq 1.234 \),因为在开放活动最低的部分,EM 算法无法正确求解该参数。

详情请见:
https://www.kaggle.com/shimizumasaki/6th-place-solution-fhmm-with-a-shared-factor

(3) 噪声去除

利用预测的 "open_channels" 时间序列 \( Pr \),将时间序列 \( S - aPr -b \) 通过短时傅里叶变换分解为傅里叶级数。然后,去除功率谱中的几个峰值,并使用逆短时傅里叶变换获得纯净信号。重复阶段 (2) 和 (3) 数次以逐渐净化信号。有关我们噪声

同比赛其他方案