保健分析是一个新兴的应用领域,以帮助降低患者治疗成本和获得更好的治疗效果。为了达到这一目标就需要复杂的软件,这些软件可以模仿一些真正的现实生活中医生的智慧。在瑞典的隆德大学和斯科讷大学,研究人员正在试图建立一个心脏移植受者和捐助者的模型,以改善生存时间模型。

所谓的“生存模式”,旨在发现受助和捐助者的心脏移植之间的最佳匹配。它需要考虑到捐助者和接受者的年龄,血型,体重,性别,以及在移植时没有血液流向心脏时等因素,只要分析这几个变量,就会有约30,000不同的组合需要跟踪。当你想匹配数以万计的捐助者和受助者时,就会产生更多的组合,这就需要一个相当复杂的软件模型和高效的计算马力。

为了构建应用程序,在隆德的研究人员使用MATLAB和相关MathWorks库,即神经网络工具箱,并行计算工具箱,和MATLAB分布式计算服务器。在这些工具的帮助下,他们建立了其预测的人工神经网络(ANN)模型,模拟捐助者匹配适宜的基础上,预测心脏移植患者的生存率。人工神经网络模型已经被“训练”,使用分别在两个数据库里的捐赠者和接受者的数据:一个是国际心脏和肺移植(ISHLT)数据库,一个是北欧胸腔移植数据库(NTTD)。人工神经网络应用程序的关键软件技术是MathWorks公司的神经网络工具箱。该软件包包含了用于设计和模拟神经网络的工具,可用于人工智能型应用,如模式识别,量子化学,语音识别,玩游戏和过程控制。

人工神经网络模型还被“培训”成可以对涉及相关的捐赠者和接受者的数据进行风险因素加权。如果做得正确,这个模拟可以将这些因素与心脏移植存活率关联起来。在这种情况下,从模拟的结果中为任何特定的接受者挑选出最好和最差的捐助者。

最终目标是确定受助者等待移植后平均存活时间,使医生可以做出关于匹配的最佳决定。在研究性学习中,他们分析了约10000已经接受移植的病人,以验证算法的准确性。

他们发现,与传统的执业医师进行选择标准相比,人工神经网络模型将五年存活率提高5%至10%。隆德大学心胸外科系约翰尼尔森博士表示一项随机调查显示,约20%以上的患者会选择这个模型做移植。由于接受捐助者的变量组合负载增加,该机型是属于非常密集型计算。在一个相对小的集群上运行MATLAB人工神经网络的模拟用了大约5天。研究人员最初在这种环境下运行开源软件包 (R and Python) ,用了三至四个星期星期,并且面临系统崩溃和结果不准确的威胁。运行模拟,研究人员用一个苹果Xserve的9个节点的集群(其中包括一个头节点和文件共享节点),以及16 TB的磁盘,并搭配千兆以太网网络到了一起。节点上的内存大小为24日至48 GB。据尼尔森最新的MATLAB的配置,,他们使用64个CPU运行的人工神经网络模拟。

尼尔森医生是自己编写应用程序,他指出,MATLAB环境很容易设置和使用,并不需要深厚的行计算的知识。而他遇到的最大障碍是需要来定制一个错误函数(MATLAB神经网络没有任何交叉熵错误例程。)还有就是在设置Xserve群集中会遇到一些问题,但一旦用MATLAB分布式计算服务器更换苹果公司的Xgrid协议,许多这些问题就解决了。苹果的Xserve集群不正是最先进的高计算。他们认为如果采用最新的HPC系统,可以减少5天甚至更多的时间,这将进一步加快研究。

在短期内,隆德和斯科讷团队还会继续优化软件和探索,如回归树和逻辑回归算法,以及添加支持向量的其他解决方案。与此同时,他们要开始过渡到临床上的技术。尼尔森表示,一旦他们模型成熟,他们希望能摆脱高性能计算环境。 “在今后的临床环境中,”他说,“我希望我们应用程序可用于任何桌面计算机上,匹配过程只需要几秒钟到几分钟。”