一个不成熟的开源小方案:关于2018中国生理信号挑战赛(CPSC-2018)(1)

动机与声明:

较早之前从某位不知名网友那里得知了CPSC-2018(http://2018.icbeb.org/Challenge.html),一个有关于12导联ECG分类诊断算法的比赛。不过当时因为忙于找工作和修改paper,并未多在意,也并没有参加。前段时间,又想起这个比赛,不过这个时候已经结束了。其实并非觉得遗憾,真正吸引我的,是这个比赛提供的大量的12导联,正常+8类症状共计9大类的ECG数据,据官方说是从11个医院收集得来的,开放的有6877个个体的数据。长时间在这个领域混的可能知道,像这么良心的数据库是不多见的,很多年了,多少paper还是在古老的MIT-BIH数据库上挣扎。我们可能不缺乏各种各样的新奇的骚操作,缺乏的可能正是高质量,大规模的数据。

截止到目前,官方公布的最优方案在9类ECG识别的平均F1值达到了0.837。而就在我开始写这个文档的前夕,官方又开源了参赛者提交的代码。不过,下载下来几个代码一看,个人认为其实没有达到开源的最低要求,起码现在还没有,可能是还没来得及完善:

  1. 很多方案里面只包含了如何提交,预测得到结果的代码,至于模型的结构设计和具体训练代码方面,则不够充分。
  2. 缺乏说明文档。当然不排除后期很多方案都会以期刊或会议论文的形式出版,但论文终究是论文,代替不了说明文档。而且,其实大家可能或多或少在写论文时都会尽量去“包装”一下去显得更“高大上”,对于一些细节可能不会特别说明。这对于发表来说是好事,但对于实操来说,可能会引起一些困惑。
  3. 由于官方开源的代码是面向比赛的提交和评分的,为了减少文件数目,有的方案代码块的耦合度很高,不利于去一点点去细究。

我也在github上找了一下,不知道是我搜索能力太差还是其他原因,只找到了一个相对完善一些的开源方案:https://github.com/amostayed/Deep-learning/tree/master/Physiological%20signal%20challenge,作者还在ArXiv上挂出了论文( https://arxiv.org/ftp/arxiv/papers/1811/1811.02090.pdf)。不过性能上可能略差一些。有兴趣的可以去看看。

不管是什么样的原因造成目前可参考的方案不多,为了抛砖引玉,同时也是提升自己的能力,我抽出了大约2-3周的时间,做了我下面要说的,一个“不成熟的小方案”。由于目前官方的测试集是不对外公布的,所以只能是在公开的部分上面自行随机划分了训练-验证-测试集(官方划分了前300条记录为验证集,个人觉得还是太小了),所有算法的调参和优化均在验证集上完成,测试集则仅用作性能评估。最终的9类平均F1,验证集上约为0.790,测试集上约为0.788。确实不算很出色,后期优化空间还很大,本来是想继续做的,可接下来自己马上要面临毕业,需要集中精力完成毕业论文。所以索性开源给大家,包含了所有的模型、训练、评估代码,数据、模型文件,抛砖引玉,希望能给大家带来一些灵感。对于大佬们,如果有新的方案和想法,可以作为baseline。而我也会在后续的文档中对可能的改进方向进行一些说明,当然如果以后有时间我也会尝试去扩展。

下一部分开始讨论技术。

开源代码地址:https://github.com/Aiwiscal/CPSC_Scheme

喜欢请给颗star以及fork。

待续……

 

以上均为个人观点,不喜勿喷~

发布了30 篇原创文章 · 获赞 205 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qq_15746879/article/details/85495349