未来医疗基于MATLAB、信号处理、机器学习和深度学习算法的进步
2020-11-03
驱动力 | 揭开人工智能和机器学习在医学应用的神秘面纱
经美国食品药品监督管理局(FDA)批准后,第一批可穿戴式数字健康监测仪目前刚刚上市,并集成在诸如智能手表之类的消费产品中。医学传感器技术的不断快速发展,使得小巧、经济且精度越来越高的生理传感器被应用在现有的可穿戴设备中。
前沿的机器学习和人工智能算法正是这种转变的驱动力之一,它们能够从海量数据中提取和解读有价值的信息。这些数据往往包含噪声和不太完美的信号(比如智能手表上的心电图数据),并被各种伪信号所破坏,传统算法常常是基于规则和确切性的,因此难以妥善处理这类数据。
直到最近,解开这些传感器发出的生理信号中的秘密,并做出足够准确的决策,从而被申报监管机构接受仍然非常困难,有时甚至是不可能的。而机器学习和人工智能算法的进步,正使得工程师和科学家能够克服许多这样的挑战。
通过这篇文章,让我们一同来仔细看看生理信号处理算法的总体架构,理解背后的运算过程,并将其转化为经过数十年研究建立起来的现实中的工程技术。
机器学习算法的开发主要包括两个步骤(图 1)。
第一步是特征工程,从相应的数据集中提取特定数值/数学特征。
第二步,将提取的特征输入一个广为人知的统计分类或回归算法,如支持向量机或适当设定后的传统神经网络(训练好的模型可用于对新的数据集进行预测)。利用一个合理标记过的数据集对该模型进行迭代训练,在达到令人满意的准确度后,就可以在生产环境中作为预测引擎在新数据集上使用。
图 1. 典型的机器学习工作流程包括训练和测试阶段。
那么, 对于心电信号的分类问题,这个工作流程是如何实现的呢?
在本案例中,我们采用了 2017 年的 PhysioNet Challenge dataset,其中使用了真实的单导联心电图数据。目标是将病人的心电信号分为四类:正常、房颤、其他心律和杂音过多。
在 MATLAB 中处理这个问题的整个流程和各个步骤如图 2 所示。
图 2. MATLAB用于开发心电信号分类的机器学习算法的工作流程。
预处理和特征工程
特征工程可能是开发一套鲁棒的机器学习算法中最难的部分。这类问题不能简单地视为“数据科学”问题,因为在探究解决方法时,掌握生物医学工程领域的专业知识,了解不同类型的生理信号和数据非常重要。
MATLAB 等工具为领域专家提供了数据分析和高级机器学习功能,使他们能够更容易地将“数据科学”功能(如高级机器学习功能)应用于他们正在解决的问题,从而专注于特征工程。在本例中,我们使用先进的小波技术对信号进行处理,以去除数据集中的噪声和渐变趋势,如呼吸伪影,并从信号中提取各种需要关注的特征。
开发分类模型
统计和机器学习工具箱中的分类学习应用程序,对于对机器学习不太熟悉的工程师和科学家来说,是一个特别有效的切入点。
一旦从信号中提取到足够多实用的相关特征,我们就能使用这个应用程序来快速探究各种分类器及其性能,从而缩小模型选择范围,用于进一步优化。这些分类器包括决策树、随机森林、支持向量机和 K 近邻(KNN)。您能够尝试并选择出能够为特征集提供最佳分类性能的策略(通常使用混淆矩阵或 AUC 等指标进行评估)。在示例中,我们只采用这种方法就快速实现了所有类别约 80% 的总体准确率(本次比赛的获奖项目得分大约为 83%)。注意,我们没有在特征工程或分类器调试上花费太多时间,因为重点是验证方法。
通常,花时间进行特征工程和分类器调试,可以显著提高分类准确度。深度学习等更先进的技术也可以应用于此类问题,其中,特征工程、特征提取和分类步骤会被整合到单一训练步骤中,然而与传统的机器学习技术相比,这种方法通常需要大很多的训练数据集,以达到期望的效果。
挑战、法规和对未来的承诺
虽然许多常见的可穿戴设备还不能完全取代 FDA 批准并经医学验证的对应设备,但所有的技术和消费趋势都明确地指向这个方向。FDA 已经开始在多方面积极发挥作用,例如简化法规,通过诸如“数字健康软件预认证计划”这样的举措,鼓励管理科学的发展,和设备开发的建模仿真等。
人们希望,将从日常可穿戴设备中收集到的人体生理信号转换为一种新型数字生物标记,以全面反映我们的健康状况。如今,这一愿景比以往任何时候都更加真实,这在很大程度上要归功于信号处理、机器学习和深度学习算法的进步。MATLAB 等工具所支持的工作流程,使医疗设备领域的专家,在即使不成为数据科学家的情况下,也能够采取并利用机器学习等数据科学技术。 关于作者
Arvind Ananthan 是 MathWorks 的全球医疗器械行业经理。他与医疗设备工程师、该领域的学术研究人员以及包括 FDA 在内的监管机构密切合作,以理解并解决该行业在建模、仿真和数据分析领域面临的挑战和需求。他担任过各种技术和业务角色,拥有超过 15 年的从业经验。
来源:电子发烧友网