APP下载

支持向量机基础上的银屑病辅助诊断方法研究*

2020-11-25

医学信息学杂志 2020年9期
关键词:超平面中南大学银屑病

李 鹏

(1湖南中医药大学信息科学与工程学院 长沙 410208 2 中南大学湘雅三医院 长沙 410006 3医学信息研究湖南省普通高等学校重点实验室(中南大学) 长沙 410006)

闵 慧 罗爱静

(湖南信息职业技术学院软件学院 长沙 410200) (1中南大学湘雅三医院 长沙 410006 2医学信息研究湖南省普通高等学校重点实验室(中南大学) 长沙 410006)

1 引言

银屑病(Psoriasis,PS)[1]又称“牛皮癣”,是一种以表皮细胞过度增殖及免疫性炎症为特征的慢性反复发作性疾病,被世界卫生组织列入世界10大顽症之一[2]。在2018年举办的“世界银屑病日科普活动”上,专家表示人工智能技术(Artificial Intelligence,AI)结合大数据可以为患者提供更为直观的银屑病辅助诊断。大量实证研究表明[3]当前银屑病诊治方法已经无法满足患者多样化、个性化需求,将机器学习技术与银屑病诊治结合起来,提出新的诊治手段是未来的必然趋势。本文提出一种基于支持向量机(Support Vector Machine, SVM)[4]的银屑病辅助诊断方法,通过构建诊断模型对银屑病发病或复发情况进行判断,为医生治疗工作提供决策支持。

2 基于支持向量机的银屑病辅助诊断

2.1 诊断流程(图1)

图1 基于支持向量机的银屑病辅助诊断流程

银屑病是一种遗传与环境共同作用诱发、免疫介导的慢性、复发性、炎症性、系统性疾病,针对银屑病诊断困难这一现状,本研究通过对数据进行预处理、构建银屑病数据库群、面向银屑病辅助诊断的特征提取和基于支持向量机的模型训练等步骤对个体是否患有银屑病进行诊断,帮助医生判断病情,为患者做出诊断决定,还可辅助医生根据个体病情的不同,给出个性化治疗方案建议。

2.2 数据收集和预处理

首先利用数据接入及导入工具对分散在基层医疗机构、社区卫生中心、保健机构、体检机构和三甲医院等不同银屑病数据源的患者信息进行采集和集成,最终形成银屑病患者病历信息库。由于数据来源异构性,收集得到的银屑病相关数据在大多数情况下是不完整的,含有噪声以及不一致,采用这些数据进行机器学习往往得到的结果不准确。为此通过清洗和规约对数据进行预处理[5]。

2.3 构建数据库群

在数据收集基础上,采用Hadoop[6]作为基本的分布式执行架构,使用Ascential公司的Datastage作为提取-转换-加载(Extract-Transform-Load,ETL)[7]工具,通过数据抽取、转换和加工、装载等步骤构建出数据库群,见图2。

图2 银屑病数据库群逻辑结构

利用可扩展标记语言(Extensive Markup Language,XML)技术构建元数据库和词语表。其中元数据库以都柏林核心元数据集为基础,位于这些异构数据库的上层,记录各个异构数据库对象位置,负责整合并传递可以理解的描述信息。词语表被用来规范用户提交的词语,解决命名差异问题。引入数据更新中间件和缓存表以实现原有存储银屑病数据子系统的互联互通、信息同步与共享。系统互联同步框架,见图3。

图3 系统互联同步框架

2.4 特征提取

银屑病发病诱因主要包括病毒、细菌感染、压力、外伤手术、妊娠、肥胖、吸烟、酗酒、某些药物作用和免疫因素等。从预处理后的银屑病数据集中提取出上述10种因素作为特征进行模型训练。考虑到基于SVM模型的输入一定是数值类型,而提取的10个特征中大部分是字符串类型,因此需要将字符串类型转换成数值类型,如向量、矩阵或张量形式。使用独热编码(One-Hot Encoding)[8]技术将其转换为数值类型后再作为模型的输入。编码过程,见图4。

图4 独热编码

2.5 构建基于支持向量机的辅助诊断模型

支持向量机属于有监督学习模型,主要用于解决数据分类问题。SVM将每个样本数据表示为空间中的点,使不同类别的样本点尽可能明显地区分开。对于一个任意给定的银屑病训练样本集D=(x1,y1),(x2,y2),...,(xm,ym),其中yi∈{-1,+1}分别表示健康人群和银屑病患者。本研究基本思路是:基于训练集D在样本空间中找到一个划分超平面,将不同类别样本分开,见图5。这样的超平面有很多,从直观判断红色线代表的超平面抗“扰动”性最好。找到红色线代表的超平面后,在进行分类时,遇到一个新的数据点x,将x代入y中,如果y<0则将x类别赋为-1,如果y>0则将x类别赋为1。本文研究的重点是如何确定超平面,以下将详细阐述。

图5 基于SVM的样本分类

用函数y=wTx+b表示该超平面。当y=0时,x是位于超平面上的点,而y>0点对应y=1的数据点,y<0的点对应y=-1的点。令:

(1)

(2)

最大化2/||w||相当于最小化||w||,为了计算方便,转化成以下公式,即为支持向量机的基本型:

(3)

上式所示的SVM基本型是一个凸二次规划(Convex Quadratic Programming)[9]问题,其拉格朗日函数可表示为:

(4)

其对偶形式为:

max(minL(w,b,α))

(5)

为计算拉格朗日函数极小值,分别对w,b求偏导,使其为0可得:

(6)

令其分别为0,可得:

(7)

将式(7)代入式(4)中的拉格朗日函数可得:

(8)

根据式(5)可得最终的优化表达式为:

(9)

由于基本型中存在不等式约束,上式满足卡罗需-库恩-塔克条件(Karush-Kuhn-Tucker Conditions,KKT)[10],即有:

(10)

式(9)是一个二次规划问题,虽可采用二次规划算法来求解,但算法开销太大。为此采用经典的序列最小优化 (Sequential Minimal Optimization,SMO)算法[11]解出α之后,根据公式(7)求得w,进而求得b,得到SVM模型为:

(11)

基于SVM的银屑病辅助诊断模型建立后,对于任何一名疑似患者而言,只需将其10大特征数据(x1,x2,...,x10)输入公式(11)中就可以准确诊断是否患有银屑病,这一结果为临床医生提供决策依据。

3 实验

以2017年1月1日-2019年12月31日为一个时间周期,从湖南中医药大学第一和第二附属医院的皮肤科获取有关银屑病门诊数据,将其作为构建诊断模型的数据集,共筛选得到数据样本20 000余份。随机抽取70%样本数据集作为训练集来训练模型,余下30%数据作为测试集用以评估模型性能。在一台8核16线程的计算机上进行实验。其中CPU 型号为Intel Core i9-9960X @ 3.10GHz,内存为16G,操作系统为Ubuntu 16.04 LTS 64 位。使用包含Python内核的Anaconda平台和Scikit-learn库实现基于支持向量机的银屑病辅助诊断方法,采用目前常用的精度来评价方法性能,见图6。可以看出随着数据规模的增加,本文方法的诊断精度呈线性上升,但当样本规模超过10 000后,诊断精度逐渐趋于稳定。分析其原因可知: 本文方法在建模过程中采用多种技术对银屑病原始大数据进行清洗,对影响银屑病高危因素进行分析和特征提取,将噪声数据对模型的影响降到最低;对每个特征进行编码,提高特征对于模型的吻合度;采用SMO算法进行模型训练,在减少训练时间的同时进一步保证诊断准确性。

图6 本文方法精度比较

4 结语

银屑病是一种慢性炎症性皮肤病,病程较长,有易复发倾向,有的病例几乎终生不愈。如果能在潜伏期对该病进行准确诊断对于后续治疗具有重要意义,为此本文提出一种基于支持向量机的银屑病辅助诊断方法,通过实验验证其有效性。下一步将采用深度学习技术自动提取影响银屑病发病的重要因素,设计一种基于图卷积神经网络的银屑病发病率诊断方法,为医生智能诊疗提供更好的技术支持。

猜你喜欢

超平面中南大学银屑病
全纯曲线的例外超平面
涉及分担超平面的正规定则
中南大学建筑与艺术学院作品选登
中南大学教授、博士生导师
中南大学校庆文创产品设计
以较低截断重数分担超平面的亚纯映射的唯一性问题
涉及周期移动超平面的全纯曲线差分形式的第二基本定理
艾米莉·狄金森的自然:生态批评的解读
寻常型银屑病合并手指Bowen病一例
中医辨证论治联合308nm准分子光治疗寻常型银屑病的效果观察