CN108847285B - 基于机器学习的孕前期及孕中期唐氏综合征筛查方法 - Google Patents
基于机器学习的孕前期及孕中期唐氏综合征筛查方法 Download PDFInfo
- Publication number
- CN108847285B CN108847285B CN201810436034.3A CN201810436034A CN108847285B CN 108847285 B CN108847285 B CN 108847285B CN 201810436034 A CN201810436034 A CN 201810436034A CN 108847285 B CN108847285 B CN 108847285B
- Authority
- CN
- China
- Prior art keywords
- sample
- training
- samples
- normalized
- class
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/30—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for calculating health indices; for individual health risk assessment
Landscapes
- Medical Informatics (AREA)
- Engineering & Computer Science (AREA)
- Public Health (AREA)
- Health & Medical Sciences (AREA)
- Pathology (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Epidemiology (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Investigating Or Analysing Biological Materials (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于机器学习的孕前期及孕中期唐氏综合征筛查方法,该方法包括如下步骤:选择孕妇中孕期唐氏筛查结果数据中的ns个字段作为训练特征;将Ns条样本加入数据集A;对数据集A内的样本进行预处理,使少数类集合与多数类集合中的样本数目达到均衡,获得合成数据集;将合成数据集中的样本进行处理获得胎儿是否患有唐氏综合征的预测模型,利用预测模型对测试样本进行预测得到预测结果。本发明避免了人为划分指标阈值的过程,减轻了人力资源,能够取得较高的准确率和较低的假阳性率。
Description
技术领域
本发明涉及一种应用于产前诊断领域的唐氏综合征的筛查方法,更具体地说,涉及一种基于机器学习技术的孕前期及孕中期唐氏综合征筛查方法。
背景技术
唐氏综合征以John Langdon Down命名,又称21-三体综合征或先天愚型,是一种常见的严重染色体异常病,在新生儿中的发病率为1/1000,高龄孕妇比非高龄孕妇的发病率高5倍以上,并随年龄增高呈上升趋势。但低龄孕妇也有可能生出唐氏综合征患儿,且其占分娩孕妇总数的绝大部分。患儿临床表现为智力低下、特殊面容、肌张力低下、指趾畸形等。主要特征是面部扁平、鼻梁扁平、眼距宽、通贯掌、舌肥厚、流涎、傻笑、智能落后、躯干四肢短。少数患者可有不自主运动及共济失调,部分患者可有抽搐。患儿双眼上斜,头后部偏平,后颈发迹低;口腔比一般人稍小,舌头比一般人稍大;手宽大,手指短,小指往里弯曲;肌肉紧张度下降、松软;出生时,身高和体重低于新生儿平均值。
很多患有唐氏综合征的人可以持续健康生活40至60年,大约40%的唐氏综合征患者合并心脏畸形,其中一半的人需要外科手术治疗。25%的唐氏综合征患儿有严重的视听障碍。30%的唐氏综合征患儿易患甲状腺疾病。唐氏综合征患者易患阿兹海默症,有时在30岁左右即可发病。唐氏综合征患者普遍出现皮肤干燥、咳嗽、发冷等轻度不适,生活能力水平差异非常大。
本病目前尚无有效的治疗手段,预防以产前筛查为主,即在孕中期进行母血唐氏综合征产前甲胎蛋白(AFP)、β促绒毛膜性腺激素(βhCG)和游离雌三醇(uE3)三项指标筛查。验血或者专门超声波检查是有效的诊断手段。
目前关于唐氏综合征筛查的研究大多采用超声筛查、胎儿颈部透明层厚度(NT)、胎儿股骨长度与肱骨长度以及胎儿鼻骨(NB)发育不良等标准。这些方法都存在检出率低,假阳性率高等问题。建立高检出率、低侵入性、低成本的检测方法,是该领域发展的方向之一。
随着大数据挖掘技术和机器学习技术的发展,机器学习方法中的支持向量机(Support Vector Machine,SVM)算法、决策树算法以及提升方法(AdaBoost)等应用于唐氏综合征的产前筛查成为可能。目前我国产前筛查所用计算软件大多基于国外的统计数据,大部分医院采用欧美设备,这些产前筛查风险评估软件不是针对黄种人进行设定的,所以存在准确率低的问题,而机器学习方法可以对电子医疗记录进行分析和挖掘,得出符合地域特性的筛查模型。
对于本发明所使用的数据集而言,未清理的数据中存在许多噪声,而且类别之间数量不平衡。实际问题中,患有唐氏综合征的患儿数量要远远小于正常出生的婴儿数量,如何从大量阴性病例中找出我们感兴趣的阳性病例,是本发明解决的问题之一。面对这类问题,传统算法往往偏向于多数类,因为它们的损失函数没有考虑数据的分布情况,最坏的情况是,小类别的样本会被认为是大类别的异常值而被忽略,学习算法会简单地生成一个平凡分类器,将每个样本都分类为大类别。
发明内容
本发明要解决的技术问题是提供一种基于机器学习的孕前期及孕中期唐氏综合征筛查方法,该方法能够提高筛查准确率、降低假阳性率的。
技术词语解释:
训练特征:孕妇中孕期唐氏筛查结果数据中的字段,即产检指标;
训练特征值:产检指标测试值:
数据集A:由多条样本组成的数据集;
合成数据集:对少数类集合和多数类集合中的样本均衡处理并合成后得到的数据集;
少数类集合S:采用过采样技术处理前的少数类样本的集合,即患病类样本的集合;
少数类点集S’:采用过采样技术处理后得到的少数类样本的集合;
过采样少数类点集S′h:均衡处理得到的少数类样本的集合;
欠采样多数类集合M’:结合欠采样技术对多数类集合M进行处理后得到的多数类样本的集合,即均衡处理得到的多数类样本的集合;
本发明的基于机器学习的孕前期及孕中期唐氏综合征筛查方法包括下述步骤:
为解决上述技术问题,本发明的基于机器学习的孕前期及孕中期唐氏综合征筛查方法包括如下步骤:
步骤一、选择孕妇中孕期唐氏筛查结果数据中的ns个字段作为训练特征;将Ns条样本加入数据集A,其中每条样本包含ns个训练特征值及其对应的诊断结果y,y=1代表患病,y=0代表未患病;其中3≤ns≤10,1000≤Ns≤100000;记数据集A为其中,Ai表示第i个样本,
步骤二、对数据集A内的样本进行预处理,使少数类集合S={Ai|yi=1}与多数类集合M={Ai|yi=0}中的样本数目达到均衡,然后将样本数目达到均衡后的少数类集合和多数类集合中的样本合成在一起获得合成数据集;
步骤三、将合成数据集中的样本进行处理获得胎儿是否患有唐氏综合征的预测模型,利用预测模型对测试样本进行预测得到预测结果。
所述步骤二中,使用合成少数类过采样技术(SMOTE)结合欠采样技术对数据集A进行处理,使少数类集合S={Ai|yi=1}与多数类集合M={Ai|yi=0}中的样本数目达到均衡获得合成数据集。
使用合成少数类过采样技术结合欠采样技术对数据集进行处理的方法如下:
1.将数据集中的每条样本作为一个样本点;对于少数类集合S中的样本点p∈S,计算在S中与样本点p的欧氏距离最近的ks个样本点,记作点集Ks;
2.在点集Ks中有放回地随机抽取R个样本点,R≤ks;
3.将所抽取的R个样本点与样本点p连线,得到R条线段,在每条线段上随机取一个样本点,产生R个新的样本点;
4.将步骤3产生的新的样本点加入少数类集合S中,得到少数类点集S′;
5.结合欠采样技术对少数类点集S′进行筛选,步骤如下:
(1)设样本点xi和xj分别属于少数类集合S和多数类集合M,d(xi,xj)表示两样本点间的距离,若不存在第三个样本点xl使d(xi,xl)<d(xi,xj)或d(xl,xj)<d(xi,xj)成立,则称(xi,xj)为一个Tomek links对;
(2)删除Tomek links对中属于少数类点集S′的样本点和多数类集合M的样本点,得到过采样少数类点集S′h和欠采样多数类集合M′;最后得到包括过采样少数类点集S′h和欠采样多数类集合M’的合成数据集C。
所述步骤二中,还可以采用ADASYN算法对数据集A进行处理,使少数类集合S={Ai|yi=1}与多数类集合M={Ai|yi=0}中的样本数目达到均衡获得合成数据集。
采用ADASYN算法对数据集A进行处理的方法如下:
(1)计算类不平衡度d=ms/ml;ms表示少数类集合中样本的数目,ml表示多数类集合中样本的数目;以下将少数类集合中的样本称为少数类样本,多数类集合中的样本称为多数类样本;
(2)计算需要合成的少数类样本总数目:G=(ml-ms)×β,式中β∈[0,1]表示加入合成的少数类样本后所期望的不平衡度,取β=1;
(3)对于每个少数类样本xi,找出它在ns维空间的Ka个近邻,并且计算其比率ri=Δi/Ka,i=1,2,…,ms,其中Δi是xi的Ka个近邻中属于多数类样本的数目;
(6)为每个少数类样本xi合成gi个样本;每次迭代,从xi的Ka个近邻中随机选择一个少数类样本xzi,根据sj=xi+(xzi-xi)×λ,合成新的少数类样本sj,式中λ为随机数,λ∈[0,1];将新的少数类样本sj加入少数类集合S,得到少数类样本集S”,将多数类集合M与少数类样本集S”合在一起得到合成数据集C′。
所述步骤三中,使用SVM算法得出唐氏综合征预测模型,并对测试样本进行预测得到对应的预测结果,其方法如下:
2、采用rbf核的SVM核函数,得出适用于唐氏综合征筛查的SVM预测模型,SVM预测模型如下:
式中:
w——分类超平面的法向量;
C——惩罚因子,取1;
ξi——松弛变量,取值范围[0,1];
yi——第i个样本中的诊断结果;
b——分类超平面偏置项;
s.t.代表约束条件;
通过公式(1)、(2)进行优化得到分类超平面的法向量w和分类超平面偏置项b;
所述步骤三中,还可以采用CART决策树得出胎儿是否患有唐氏综合征的预测模型,并对测试样本进行预测得到对应的预测结果,其方法如下:
(1)选择合成数据集内N条样本加入训练集Ctrain中,N≤Ns,对训练集Ctrain中的训练特征值进行归一化处理,得到归一化样本向量
(2)遍历ns项归一化特征将每个归一化特征bk,k=1,2,...,ns,的所有可能取值按升序排列,定义tk为(bk)i排序后的所有可能取值,将满足(bk)i<tk的数据作为左子树,满足(bk)i≥tk的数据作为右子树;在所有可能的tk值中,计算按对应tk值分割归一化训练集Btrain所得的Gini指数,取Gini指数最小的tk值作为分割点tkz;设分割点tkz对应的Gini指数为Gini(k),k为1,2,…ns;
(3)对于ns项归一化特征bk,k=1,2,...,ns,分别找到对应的分割点tkz值,比较得出Gini(k)中最小的Gini指数Gini(min),将Gini(min)对应的归一化特征值及分割点tkz分别作为基准特征值bkj和基准分割点tkzj,然后将归一化训练集Btrain按照(bkj)i<tkzj作为左子树,(bkj)i≥tkzj作为右子树的方式分为两棵子树;将归一化训练集Btrain作为根节点,将两棵子树作为两个分支节点;
(4)对于步骤(3)得到的两个分支节点,按照步骤(1)、(2)的方式继续分割成左子树和右子树,形成子节点;以此类推,再对子节点进行分割,每次分割都产生新的子节点,直至所有新的子节点的数据集都属于同一个类别,或者所有新的子节点中样本个数都小于设定阈值,则将此时新的子节点作为叶子节点,整棵CART决策树预测模型生成;叶子节点的类别按照该叶子节点多数样本的诊断结果y分为阳性叶子节点和阴性叶子节点;
对于一个测试样本的归一化特征向量从根节点开始,按照步骤(1)~(3)确定的根节点、分支节点、子节点的基准特征值和基准分割点对其进行分类,若最终将其分入阴性叶子节点,则认为该测试样本为未患病,若最终将其分入阳性叶子节点,则认为该测试样本为患病。
对训练集Ctrain样本数据中的训练特征值进行归一化处理可以采用下述方法:
采用公式对训练集Ctrain内样本中的训练特征值进行归一化处理,使得每一训练特征的所有训练特征值的均值为0,方差为1,得到归一化样本向量其中Xstd(ak)i表示训练特征值(ak)i的归一化结果,即(bk)i;X表示当前待归一化的训练特征值(ak)i,k∈[1,2,…k...,ns],i=1,2……N;μ为训练集Ctrain在对应训练特征值上的均值;N为Ctrain中元素的个数,为训练集Ctrain在对应训练特征值上的方差。
对训练集Ctrain样本数据中的训练特征值进行归一化处理还可以采用下述方法:
使用归一化函数对训练集Ctrain样本数据中的训练特征值进行归一化处理,得到归一化样本向量其中Xstd(ak)i表示训练特征(ak)i的归一化结果,即(bk)i;Xmin为训练集样本在训练特征值ak中的最小值mini(ak)i,Xmax为训练集样本在训练特征值ak中的最大值maxi(ak)i。
测试样本的归一化特征向量获得方法与训练集Ctrain中的训练特征值归一化处理方法相同,
本发明首次提出利用机器学习中的决策树算法、SVM算法对唐氏综合征产前筛查数据进行预测分析,该方法利用机器学习方法训练唐氏综合征产前筛查模型,用于预测胎儿患有唐氏综合征的可能性。
本发明针对唐氏综合征产前筛查数据集阴性病例与阳性病例数目差距巨大的特点,使用了AdaBoost算法和SMOTE算法对数据集进行了预处理,达到了提高算法准确率到0.9以上、降低假阳性率到0.2以下的效果。
本发明使用机器学习方法构建了孕中期唐氏筛查结果的预测模型,为患者诊前自我评估和辅助医生进行诊断提供了依据,为孕中期唐氏筛查提供了一项新的方法。
与现有技术相比,本发明的有益效果是:
1.本发明所述的机器学习方法是一种唐氏综合征产前筛查的新方案,充分利用了机器学习技术在处理海量数据情景下的优势,通过学习大数据中的特征,建立机器学习模型,对样本进行有效预测。该方法避免了人为划分指标阈值的过程,减轻了人力资源并且能够提高效率和精度。
2.本发明所述的SVM方法在二类分类问题中能够取得较高的准确率和较低的假阳性率。
3.本发明所述的决策树和提升方法是指CART算法和提升方法,该方法在实验中也取得了较高的准确率和较低的假阳性率。
4.本发明所述的机器学习方法获得了比现有技术方案更高的假阳性率(FalsePositive Rate,FPR)和检出率(Detection Rate,DR)。该方法可以针对特定人群进行训练,能够得出适合于黄种人的结果,使结果更有针对性,适应数据集严重偏斜情况下的分类问题,准确率更高。
附图说明
下面结合附图和具体实施方式对本发明做进一步的详细说明。
图1是本发明的基于机器学习的孕前期及孕中期唐氏综合征筛查过程框图。
图2是本发明的使用机器学习方法处理孕中期唐氏筛查数据的流程图。
图3是本发明所述的SVM算法的原理示意图。
图4是本发明所述的基于SVM算法的产前筛查假阳性率与统计学方法假阳性率的对比图。
图5是本发明所述的基于SVM算法的产前筛查检出率与统计学方法检出率的对比图。
图6是本发明所述的产前筛查准确率同筛查所选取的T21临界值之间的关系图。
图7是本发明所述的SVM算法在选取不同的核函数情况下的准确率比较图。
图8是本发明所述的决策树与统计学方法在不同T21临界值下的假阳性率对比图。
图9是本发明所述的决策树与统计学方法在不同T21临界值下的检出率对比图。
图10是本发明所述的两种技术方案的准确率在不同T21临界值下的趋势对比图。
图11分类回归树(CART)结构原理图。
具体实施方式
本发明所要解决的技术问题是针对现有技术准确率不高、数据集的类间样本数目严重不均衡且缺少适合特定地域特定人群数据的问题,提供了一种基于机器学习的孕前期及孕中期唐氏综合征筛查方法。
本发明的基于机器学习的孕前期及孕中期唐氏综合征筛查方法具体步骤如下:
步骤一、数据获取
本发明使用的数据来自于吉林大学附属第一医院的临床诊断记录,数据内容为100138条孕妇中孕期唐氏筛查结果,共58个字段,清洗后得到81626条样本。本发明测试了在特征向量选择不同属性时预测模型的性能。结果显示,当使用“AFP Conc.”,“hCGbConc.”,“uE3Conc.”三个字段作为训练特征时,预测模型的准确率为87%至89%,而增加训练特征的个数,选用“AFP Conc.”,“hCGb Conc.”,“uE3Conc.”,“预产年龄”,“体重”,“孕周”为训练特征时,能够将准确率提升至94%至96%。
以下以选取其中的“预产年龄”、“AFP浓度”、“hCGb浓度”、“uE3浓度”、“体重”、“孕周”等字段为训练特征,对胎儿是否患有唐氏综合征进行预测为例进行说明。
将清洗后得到81626条样本中的“预产年龄”、“AFP浓度”、“hCGb浓度”、“uE3浓度”、“体重”、“孕周”数据作为原始数据加入数据集中,数据集中的字段说明如下:
因此,该数据集可记作A=(A1,A2,…Ai...,A81626),其中,Ai表示第i个样本,即Ai=(a1,a2,...,ak,...,a6,y)i,i∈[1,81626]。
步骤二、数据预处理
数据集A中共有17例患有唐氏综合征的病例,以及81609例正常病例,共计81626条样本。可见该数据集是严重不平衡的,需要对数据集进行处理使两个类别的样本分布均衡,以提高预测模型的准确率。
可以使用合成少数类过采样技术(SMOTE)结合欠采样技术(Tomek)对数据集进行处理,使阴性样本与阳性样本数目达到均衡,便于预测算法的进一步处理,以提高分类准确率。记少数类集合为S={Ai|yi=1},为患病类样本集合;多数类集合为M={Ai|yi=0},为未患病类样本集合。SMOTE算法中将每条样本称为一个样本点,采用该算法对数据集进行处理的基本步骤如下:
1.对于少数类集合S中的样本点p∈S,计算在S中与样本点p的欧氏距离最近的ks个样本点,记作点集Ks。
2.在点集Ks中有放回地随机抽取R(R≤ks)个样本点。
3.对于所抽取的R个样本点,每一个样本点可以与样本点p连成一条线段,在这条线段上随机取一个样本点,就产生了一个新的样本点,重复这一过程直至产生R个新的样本点。
4.将步骤3产生的新的样本点加入少数类集合S中,得到少数类点集S′。
5.结合Tomek算法对新产生的少数类点集S′进行筛选,步骤如下:
(1)设样本点xi和xj分别属于少数类集合S和多数类集合M,d(xi,xj)表示两样本点间的距离,若不存在第三个样本点xl使d(xi,xl)<d(xi,xj)或d(xl,xj)<d(xi,xj)成立,则称(xi,xj)为一个Tomek links对。
(2)删除Tomek links对中属于少数类点集S′的样本点和多数类集合M的样本点,得到过采样少数类点集S′h和欠采样多数类集合M′;最后得到包括过采样少数类点集S′h和欠采样多数类集合M’的合成数据集C。C中两类样本点分布趋于均衡,两类样本点的数目分别为8061和8258例,共计16319例。
除SMOTE算法结合Tomek算法外,还可以使用另一种ADASYN算法对数据集A进行过采样。使用的ADASYN算法步骤如下:
(1)计算类不平衡度d=ms/ml;ms表示少数类集合中样本的数目,ml表示多数类集合中样本的数目;以下将少数类集合中的样本称为少数类样本,多数类集合中的样本称为多数类样本;
(2)计算需要合成的少数类样本总数目:G=(ml-ms)×β,式中β∈[0,1]表示加入合成样本后所期望的不平衡度,本发明取β=1,则经算法处理后两类样本数据数目相等。
(3)对于每个少数类样本xi,找出它在ns维空间的Ka个近邻,ns=6,并且计算其比率ri=Δi/Ka,i=1,2,…,ms,其中Δi是xi的Ka近邻中属于数类样本的数目。
(6)为每个少数类样本xi合成gi个样本:每次迭代,从xi的Ka个近邻中随机选择一个少数类样本xzi,根据sj=xi+(xzi-xi)×λ,合成样本sj,式中λ为随机数,λ∈[0,1]。将新的少数类样本sj加入少数类集合S,得到少数类样本集S”,将多数类集合M与少数类样本集S”合在一起得到合成数据集C′。
按照一定的比例,将合成数据集C或C′划分为训练集Ctrain=(A1,A2,…Ai,A14687)和测试集Ctest=(A14688,A14689,…Ai...,A16319)。本发明选择合成数据集的10-20%作为测试集,其余80-90%作为训练集。在实际应用中可以选择合成数据集的所有样本加入训练集Ctrain,也可以选择部分样本加入训练集Ctrain。训练集用于调整数学模型的各项参数,测试集用于对训练所得数学模型的预测准确率进行评估。实验结果表明,当训练集和测试集分配比例不同时,使用同一种预测算法进行预测,所得准确率和检出率等性能指标是不同的。
步骤三、以训练集Ctrain的数据作为输入参量,使用SVM算法、决策树或者决策树结合AdaBoost算法,得出胎儿是否患有唐氏综合征的预测模型;根据预测模型对测试样本进行预测,判断该测试样本属于患病类还是未患病类。
如附图3所示,SVM算法的学习目标是根据数据集求出一个分类器,在n维数据空间内找到超平面wTx+b=0。本发明采用核函数将样本数据映射到高维空间,以获得更高的准确率。
所述步骤三中,使用SVM算法得出唐氏综合征预测模型的方法具体如下:
1.将“AFP Conc.”,“hCGb Conc.”,“uE3 Conc.”,“预产年龄”,“体重”,“孕周”等字段作为训练特征,将胎儿患病诊断结果作为预测标签,对各个训练特征值进行归一化,得到归一化训练集Btrain,归一化训练集Btrain中任一样本的归一化样本向量Bi=(b1,b2,b3,b4,b5,b6,y)i,其中包括训练集Ctrain中样本的归一化样本向量和测试集中测试样本的归一化样本向量。
归一化可以选择不同方式进行:方式一使得每类训练特征的所有训练特征值的均值为0,方差为1,即其中Xstd(ak)i表示训练特征(ak)i的归一化结果;X表示当前待归一化的训练特征值(ak)i,k∈[1,2,…k...,6],i=1,2……14687;μ为训练集Ctrain在对应训练特征上的均值;为训练集Ctrain在对应训练特征上的方差。
方式二是使用归一化函数对训练集Ctrain样本数据中的训练特征值进行归一化处理,得到归一化样本向量其中Xstd(ak)i表示训练特征(ak)i的归一化结果,即(bk)i;Xmin为所有样本在该训练特征上的最小值mini(ak)i,Xmax为所有样本在该训练特征上的最大值maxi(ak)i。
本发明选用方式一作为归一化方法。
本发明选用的不同SVM核函数包括:rbf核、线性核、多项式核、sigmoid核,应用上述核函数将归一化的特征值映射到高维空间,用来训练SVM模型。SVM算法选择不同的核函数时,生成模型的准确率不同,rbf核函数具有最高的性能,在特征向量由“预产年龄”、“AFP浓度”、“hCGb浓度”、“uE3浓度”、“体重”、“孕周”构成的情况下,可以获得96.1%的准确率,而相同条件下,Sigmoid核只能获得85.9%的准确率。本发明通过对比上述核函数应用于SVM算法后的预测效果,确定采用rbf核的SVM核函数,得出适用于唐氏综合征筛查的SVM预测模型。SVM预测模型如下:
式中:
w——分类超平面的法向量;
C——惩罚因子,取1;
ξi——松弛变量,取值范围[0,1];
xi——归一化特征向量(b1,b2,b3,b4,b5,b6,)i;
yi——第i个样本中的诊断结果;
b——分类超平面偏置项;
s.t.代表约束条件。
通过公式(1)、(2)进行优化得到分类超平面的法向量w和分类超平面偏置项b。
所述步骤三中,还可以采用决策树得出胎儿是否患有唐氏综合征的预测模型,并对测试样本进行预测得到对应的预测结果,其方法如下:
决策树使用树形预测模型,也称分类树或回归树。决策树将输入空间分成不同的区域,每个区域有独立参数的算法。决策树的每个节点都与输入空间的一个区域相关联,且其内部节点继续将区域分成子节点下的子区域。空间由此被分成不重叠的区域,叶子节点和输入区域之间一一对应。即,树形结构的树枝代表了输入对象的观测值(b1,b2,b3,b4,b5,b6)i,叶子节点表示对象的目标值y(类别标签)。在训练过程中,根据某一指标bk将训练集递归分割为几个子集,当某一个子集的类别都相同或达到一定比例时停止迭代。
定义基尼指数(Gini)为
其中,B为给定的集合(本发明中根节点的集合B为对训练集Ctrain中进行归一化处理得到的归一化样本集Btrain,其他节点的集合B为经上一次分割后得到的归一化样本向量集)。|Ek|为B中属于第k类的样本个数,K是类别的数目,本发明中分为少数类样本和多数类样本,因此K=2。
决策树的结构如图11所示,根据归一化训练集,从根节点开始,递归地对每个节点进行以下操作,构建二叉决策树预测模型:其构建过程分为以下几个步骤:
(1)针对归一化样本集Btrain,其任一样本的归一化特征向量为Bi=(b1,b2,b3,b4,b5,b6,y)i),遍历六项归一化特征值b1,b2,b3,b4,b5,b6,将每个归一化特征值bk(k=1,2,...,6)的所有可能取值按升序排列,定义tk为(bk)i排序后的所有可能取值,将满足(bk)i<tk的数据作为左子树,满足(bk)i≥tk的数据作为右子树。在所有可能的tk值中,计算按对应tk值分割数据集所得的Gini指数,取Gini指数最小的tk值作为分割点tkz;设分割点tkz对应的Gini指数为Gini(k),k为1,2,…6;
(2)对于六项归一化特征值bk(k=1,2,...,6),分别找到对应的分割点tkz值,比较得出Gini(k)中最小的Gini指数Gini(min),将Gini(min)对应的bk及分割点tkz分别作为基准特征值bkj和基准分割点tkzj,然后将归一化样本集Btrain按照(bkj)i<tkzj作为左子树,(bkj)i≥tkzj作为右子树的方式分为两棵子树;将归一化样本集Btrain作为根节点,将两棵子树作为两个分支节点。
(3)对于步骤(2)得到的两个分支节点,按照步骤(1)、(2)的方式继续分割成左子树和右子树,形成子节点。以此类推,再对子节点进行分割,每次分割都产生新的子节点,直至所有新的子节点的数据集都属于同一个类别(不可再分),或者所有新的子节点中样本个数都小于设定阈值,则将此时新的子节点作为叶子节点,整棵CART决策树预测模型生成。叶子节点的类别解释本算法的判断结果pi。因此,若一个训练样本按照上述方法到达一个属于阳性的叶子节点,则pi=1,属于患病类,反之,pi=0,属于未患病类。
以图11为例,将归一化训练集Btrain作为根节点1,按照步骤(1)得到每个特征值的分割点tkz及其对应的Gini指数;假设步骤(2)中比较得出最小的Gini指数Gini(min)对应的归一化特征值为b1,对应的分割点tkz为t1z,则令基准特征值bkj和基准分割点tkzj分别为b1和t1z,将根节点1中的数据集分割成两棵子树,分别作为分支节点2和分支节点3。再按照步骤(1)、(2)的方法得到分支节点2对应的基准特征值bkj和基准分割点tkzj、分支节点3对应的基准特征值bkj和基准分割点tkzj;假设分支节点2对应的基准特征值bkj和基准分割点tkzj分别为b2和t2z,对分支节点2中的数据集进行分割,所有样本数据均分到一棵子树(即子节点4)内,则认为分支节点2不可再分;假设分支节点3对应的基准特征值bkj和基准分割点tkzj分别为b5和t5z,对分支节点3中的数据集进行分割,部分样本数据分到左子树(即子节点5),部分样本数据分到右子树(即子节点6)。依次类推,再对子节点5、6进行分割,直至整棵CART决策树预测模型生成。假设子节点5、6均不可再分,则将分支节点2和子节点5作为阴性叶子节点,子节点6作为阳性叶子节点。
对于一个测试样本(b1,b2,b3,b4,b5,b6)j,从根节点开始,按照步骤(1)~(3)确定的根节点、分支节点、子节点的基准特征值和基准分割点对其进行分类,若最终将其分入阴性叶子节点,则pj=0,认为该测试样本为未患病,若最终将其分入阳性叶子节点,则pj=1,认为该测试样本为患病。以图11为例,若该测试样本分入分支节点2或子节点5,则为未患病类;若分入子节点6,则为患病。
对于决策树算法,随着迭代次数的增加,决策树预测模型取得的假阳性率FPR逐渐降低,检出率逐渐升高,但算法的运行时间也因此而增加。决策树深度不同时,可以获得不同的算法性能。
本发明选用的决策树深度为2,3,4,5,取得的检出率在0.97至0.99不等,假阳性率分布在0.2至0.01之间。
所述步骤三中,还可以采用决策树结合AdaBoost算法,得出胎儿是否患有唐氏综合征的预测模型。AdaBoost方法用于对决策树训练过程中的各个特征值进行加权,每轮迭代增加错分类样本的权重,直至模型收敛,以获得更高的性能。
AdaBoost算法的主要思想是,针对同一个训练集训练不同的弱分类器,然后把这些弱分类器集合起来,构成一个最终的强分类器。它根据每次训练集之中每个训练样本的分类是否正确,以及上次的总体分类准确率,来确定每个训练样本的权值,将修改过权值的新数据集输入下层分类器进行训练,最后将每次训练所得分类器进行融合,作为最终的决策分类器。
AdaBoost算法步骤如下:
(1)初始化训练样本的权值分布。如果有N个训练样本,则每一个训练样本最开始时都被赋予相同的权值:1/N。
(2)训练弱分类器。训练过程中,如果某个训练样本已经被准确地分类,那么在构造下一个训练集中,它的权值就被降低;相反,如果某个样本点没有被准确地分类,那么它的权值就得到提高。然后,权值更新过的样本集被用于训练下一个分类器。
(3)将各个训练得到的弱分类器组合成强分类器。各个弱分类器的训练过程结束后,加大分类误差率小的弱分类器的权重,使其在最终的分类函数中起着较大的决定作用,而降低分类误差率大的弱分类器的权重,使其在最终的分类函数中起着较小的决定作用。
性能评估
根据生成的预测模型,对测试集中的测试样本是否患有唐氏综合征进行预测。使用本发明应用的算法对一个病人是否患有唐氏综合征进行预测,用SVM或者决策树算法可以预测病人是否患病,将预测结果记作pi(pi=1表示患病,反之pi=0),将pi与该病人在测试集中真实的患病结果yi(yi=0或1)进行对比,计算检出率和假阳性率,公式如下文所述:若定义患病(yi=1)为P,未患病(yi=0)为N,用FP(False Positive)表示无病错判为有病的测试样本总数(即yi=0且pi=1),FN(False Negative)表示将有病错判为无病的测试样本总数(即yi=1且pi=0),TN(True Negative)表示正确预测为无病的测试样本总数(即yi=0且pi=0),TP(True Positive)表示正确判断为有病的测试样本总数(即yi=1且pi=1)。
则检出率DR由如下表达式给出:
检出率用来表示正确预测为高风险的病例数占所有高风险病例数的比例。
假阳性率FPR由如下表达式给出:
假阳性率用来表示错误预测为患病的病例数占实际结果为阴性的总体的百分比。
该数据集中的T21风险值记录了胎儿患有染色体异常病的风险率(表示生育一个异常新生儿的概率,风险率是这一概率的倒数),风险率的临界值一般选为=300,若<300则认为唐氏筛查结果高风险。数据中的这一数值是由医院的检测设备根据输入信息自动计算给出的。对于唐氏筛查高风险的病例,一般建议进一步进行羊膜穿刺检查,以确认胎儿染色体核型。原始数据中,T21风险值作为诊断结果,是一个取值为(0,100000)的整数。实践中,取T21风险值为300作为唐氏综合征高风险和低风险的临界值,本发明对这一取值的合理性进行了评估,分别测试了临界值取不同值时预测方法的性能。
参阅图4,图5,横坐标为所选取的不同T21风险临界值,纵坐标分别为预测结果的假阳性率和检出率。通过计算机Python工具包对所选用的数据挖掘方法进行了编程实现,并与已有的方法(Yan J,Ayer T,Keskinocak P,et al.Preference-sensitive riskcutoff values for prenatal integrated screening test for down syndrome.[J].Prenatal Diagnosis,2015,35(7):645-651.)进行了对比。可以发现本发明采用的机器学习方法可以较大程度地降低检测结果的假阳性率,在各种T21临界值的情况下都能取得远低于统计学方法的假阳性率。同时,当T21临界值取在50至270之间时,本发明采用的机器学习方法能取得比统计学方法更高的检出率,随着T21临界值选取的增大,两种方案的检出率相差不多。
参阅图7,横坐标为所选取的不同SVM核函数,纵坐标为对应SVM算法预测结果的准确率。SVM算法选择不同的核函数时,生成模型的准确率不同,rbf核函数具有最高的性能,在T21临界值选择1000,特征值向量由“预产年龄”、“AFP浓度”、“hCGb浓度”、“uE3浓度”、“T21风险值”、“体重”、“孕周”构成的情况下,可以获得96.1%的准确率,而相同条件下,Sigmoid核只能获得85.9%的准确率。
参阅图8,图9,横坐标为T21临界值,纵坐标分别为预测结果的假阳性率和检出率。使用决策树能够获得比统计学方法更低的假阳性率,随着T21临界值选取的增大,假阳性率有所上升。在不同的T21临界值之下,决策树的检出率都小于统计学方法。这说明与统计学方法相比较,决策树方法性能略差。
参阅图10,SVM能够获得比决策树算法更高的准确率,且二者的准确率差值随着T21临界值选取的增大而增大。当T21临界值取值为50至150时,两种方案都能取得高于98%的准确率。
Claims (6)
1.一种基于机器学习的孕前期及孕中期唐氏综合征筛查方法,其特征在于包括如下步骤:
步骤一、选择孕妇中孕期唐氏筛查结果数据中的ns个字段作为训练特征;将Ns条样本加入数据集A,其中每条样本包含ns个训练特征值及其对应的诊断结果y,y=1代表患病,y=0代表未患病;其中3≤ns≤10,1000≤Ns≤100000;记数据集A为其中,Ai表示第i个样本,
步骤二、对数据集A内的样本进行预处理,使少数类集合S={Ai|yi=1}与多数类集合M={Ai|yi=0}中的样本数目达到均衡,然后将样本数目达到均衡后的少数类集合和多数类集合中的样本合成在一起获得合成数据集;
步骤三、将合成数据集中的样本进行处理获得胎儿是否患有唐氏综合征的预测模型,利用预测模型对测试样本进行预测得到预测结果;
所述步骤二中,使用合成少数类过采样技术结合欠采样技术对数据集A进行处理,使少数类集合S={Ai|yi=1}与多数类集合M={Ai|yi=0}中的样本数目达到均衡获得合成数据集;
使用合成少数类过采样技术结合欠采样技术对数据集进行处理的方法如下:
1.将数据集中的每条样本作为一个样本点;对于少数类集合S中的样本点p∈S,计算在S中与样本点p的欧氏距离最近的ks个样本点,记作点集Ks;
2.在点集Ks中有放回地随机抽取R个样本点,R≤ks;
3.将所抽取的R个样本点与样本点p连线,得到R条线段,在每条线段上随机取一个样本点,产生R个新的样本点;
4.将步骤3产生的新的样本点加入少数类集合S中,得到少数类点集S′;
5.结合欠采样技术对少数类点集S′进行筛选,步骤如下:
(1)设样本点xi和xj分别属于少数类集合S和多数类集合M,d(xi,xj)表示两样本点间的距离,若不存在第三个样本点xl使d(xi,xl)<d(xi,xj)或d(xl,xj)<d(xi,xj)成立,则称(xi,xj)为一个Tomek links对;
(2)删除Tomek links对中属于少数类点集S′的样本点和多数类集合M的样本点,得到过采样少数类点集S′h和欠采样多数类集合M′;最后得到包括过采样少数类点集S′h和欠采样多数类集合M’的合成数据集C;
所述步骤三中,使用SVM算法得出唐氏综合征预测模型,并对测试样本进行预测得到对应的预测结果,其方法如下:
2.采用rbf核的SVM核函数,得出适用于唐氏综合征筛查的SVM预测模型,SVM预测模型如下:
式中:
w——分类超平面的法向量;
C——惩罚因子,取1;
ξi——松弛变量,取值范围[0,1];
yi——第i个样本中的诊断结果;
b——分类超平面偏置项;
s.t.代表约束条件;
通过公式(1)、(2)进行优化得到分类超平面的法向量w和分类超平面偏置项b;
4.一种基于机器学习的孕前期及孕中期唐氏综合征筛查方法,其特征在于包括如下步骤:
步骤一、选择孕妇中孕期唐氏筛查结果数据中的ns个字段作为训练特征;将Ns条样本加入数据集A,其中每条样本包含ns个训练特征值及其对应的诊断结果y,y=1代表患病,y=0代表未患病;其中3≤ns≤10,1000≤Ns≤100000;记数据集A为其中,Ai表示第i个样本,
步骤二、对数据集A内的样本进行预处理,使少数类集合S={Ai|yi=1}与多数类集合M={Ai|yi=0}中的样本数目达到均衡,然后将样本数目达到均衡后的少数类集合和多数类集合中的样本合成在一起获得合成数据集;
步骤三、将合成数据集中的样本进行处理获得胎儿是否患有唐氏综合征的预测模型,利用预测模型对测试样本进行预测得到预测结果;
所述步骤二中,采用自适应综合过采样算法对数据集A进行处理,使少数类集合S={Ai|yi=1}与多数类集合M={Ai|yi=0}中的样本数目达到均衡获得合成数据集;
采用自适应综合过采样算法对数据集A进行处理的方法如下:
(1)计算类不平衡度d=ms/ml;ms表示少数类集合中样本的数目,ml表示多数类集合中样本的数目;以下将少数类集合中的样本称为少数类样本,多数类集合中的样本称为多数类样本;
(2)计算需要合成的少数类样本总数目:G=(ml-ms)×β,式中β∈[0,1]表示加入合成的少数类样本后所期望的不平衡度,取β=1;
(3)对于每个少数类样本xi,找出它在ns维空间的Ka个近邻,并且计算其比率ri=Δi/Ka,i=1,2,…,ms,其中Δi是xi的Ka个近邻中属于多数类样本的数目;
(6)为每个少数类样本xi合成gi个样本;每次迭代,从xi的Ka个近邻中随机选择一个少数类样本xzi,根据sj=xi+(xzi-xi)×λ,合成新的少数类样本sj,式中λ为随机数,λ∈[0,1];将新的少数类样本sj加入少数类集合S,得到少数类样本集S”,将多数类集合M与少数类样本集S”合在一起得到合成数据集C′;
所述步骤三中,采用CART决策树得出胎儿是否患有唐氏综合征的预测模型,并对测试样本进行预测得到对应的预测结果,其方法如下:
(2)遍历ns项归一化特征将每个归一化特征bk,k=1,2,...,ns,的所有可能取值按升序排列,定义tk为(bk)i排序后的所有可能取值,将满足(bk)i<tk的数据作为左子树,满足(bk)i≥tk的数据作为右子树;在所有可能的tk值中,计算按对应tk值分割归一化训练集Btrain所得的Gini指数,取Gini指数最小的tk值作为分割点tkz;设分割点tkz对应的Gini指数为Gini(k),k为1,2,...ns;
(3)对于ns项归一化特征bk,k=1,2,...,ns,分别找到对应的分割点tkz值,比较得出Gini(k)中最小的Gini指数Gini(min),将Gini(min)对应的归一化特征值及分割点tkz分别作为基准特征值bkj和基准分割点tkzj,然后将归一化训练集Btrain按照(bkj)i<tkzj作为左子树,(bkj)i≥tkzj作为右子树的方式分为两棵子树;将归一化训练集Btrain作为根节点,将两棵子树作为两个分支节点;
(4)对于步骤(3)得到的两个分支节点,按照步骤(1)、(2)的方式继续分割成左子树和右子树,形成子节点;以此类推,再对子节点进行分割,每次分割都产生新的子节点,直至所有新的子节点的数据集都属于同一个类别,或者所有新的子节点中样本个数都小于设定阈值,则将此时新的子节点作为叶子节点,整棵CART决策树预测模型生成;叶子节点的类别按照该叶子节点多数样本的诊断结果y分为阳性叶子节点和阴性叶子节点;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810436034.3A CN108847285B (zh) | 2018-05-09 | 2018-05-09 | 基于机器学习的孕前期及孕中期唐氏综合征筛查方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810436034.3A CN108847285B (zh) | 2018-05-09 | 2018-05-09 | 基于机器学习的孕前期及孕中期唐氏综合征筛查方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108847285A CN108847285A (zh) | 2018-11-20 |
CN108847285B true CN108847285B (zh) | 2021-05-28 |
Family
ID=64212846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810436034.3A Active CN108847285B (zh) | 2018-05-09 | 2018-05-09 | 基于机器学习的孕前期及孕中期唐氏综合征筛查方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108847285B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111261289A (zh) * | 2018-11-30 | 2020-06-09 | 上海图灵医疗科技有限公司 | 一种基于人工智能模型的心脏疾病的检测方法 |
CN110070930A (zh) * | 2019-03-12 | 2019-07-30 | 中山大学中山眼科中心 | 一种人工智能眼病筛查服务方法和系统 |
CN109948732B (zh) * | 2019-03-29 | 2020-12-22 | 济南大学 | 基于非平衡学习的异常细胞远处转移分类方法及系统 |
CN110569904B (zh) * | 2019-09-10 | 2022-05-17 | 福建榕基软件股份有限公司 | 机器学习模型的构建方法及计算机可读存储介质 |
CN111933288A (zh) * | 2020-08-21 | 2020-11-13 | 上海交通大学医学院附属第九人民医院 | 基于cnn的先天性耳聋疾病预测方法、系统以及终端 |
CN112599251B (zh) * | 2021-03-01 | 2022-02-18 | 北京橡鑫生物科技有限公司 | 疾病筛查模型的构建方法、疾病筛查模型及筛查装置 |
CN113674864B (zh) * | 2021-08-30 | 2023-08-11 | 重庆大学 | 一种恶性肿瘤合并静脉血栓栓塞症风险预测方法 |
CN114512232A (zh) * | 2022-02-16 | 2022-05-17 | 盐城吉研智能科技有限公司 | 基于级联机器学习模型的爱德华氏综合征筛查系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104224129A (zh) * | 2014-09-24 | 2014-12-24 | 深圳市中科微光医疗器械技术有限公司 | 一种静脉血管深度识别方法和提示系统 |
CN106446595A (zh) * | 2016-12-16 | 2017-02-22 | 上海尚戴科技发展有限公司 | 一种机器学习妊娠期糖尿病发病风险及病情程度预测系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7426497B2 (en) * | 2004-08-31 | 2008-09-16 | Microsoft Corporation | Method and apparatus for analysis and decomposition of classifier data anomalies |
-
2018
- 2018-05-09 CN CN201810436034.3A patent/CN108847285B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104224129A (zh) * | 2014-09-24 | 2014-12-24 | 深圳市中科微光医疗器械技术有限公司 | 一种静脉血管深度识别方法和提示系统 |
CN106446595A (zh) * | 2016-12-16 | 2017-02-22 | 上海尚戴科技发展有限公司 | 一种机器学习妊娠期糖尿病发病风险及病情程度预测系统 |
Non-Patent Citations (2)
Title |
---|
Down Syndrome Prediction/Screening Model Based on Deep Learning and Illumina;Bing Feng;《2017 IEEE International Conference on Bioinformatics and Biomedicine》;20171231;第347-352页 * |
计算机模拟预测治疗性抗体聚集倾向性的进展及应用;毕行建;《中国医药工业杂志》;20171231;第795-798页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108847285A (zh) | 2018-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108847285B (zh) | 基于机器学习的孕前期及孕中期唐氏综合征筛查方法 | |
Wang et al. | Detection analysis of epileptic EEG using a novel random forest model combined with grid search optimization | |
Rahmayanti et al. | Comparison of machine learning algorithms to classify fetal health using cardiotocogram data | |
CN111261282A (zh) | 一种基于机器学习的脓毒症早期预测方法 | |
Rustempasic et al. | Diagnosis of parkinson’s disease using fuzzy c-means clustering and pattern recognition | |
CN108877949B (zh) | 基于孤立森林算法和投票机制的唐氏综合症筛查方法 | |
Agrawal et al. | Cardiotocography analysis for fetal state classification using machine learning algorithms | |
CN112381178B (zh) | 一种基于多损失特征学习的医学影像分类方法 | |
Cömert et al. | Evaluation of fetal distress diagnosis during delivery stages based on linear and nonlinear features of fetal heart rate for neural network community | |
CN111009321A (zh) | 一种机器学习分类模型在青少年孤独症辅助诊断中的应用方法 | |
CN117609813B (zh) | 一种重症患者监护数据智能管理方法 | |
Inan et al. | A hybrid probabilistic ensemble based extreme gradient boosting approach for breast cancer diagnosis | |
Roy et al. | Photoplethysmogram signal quality evaluation by unsupervised learning approach | |
Chandralekha et al. | Performance analysis of various machine learning techniques to predict cardiovascular disease: An emprical study | |
CN110400610B (zh) | 基于多通道随机森林的小样本临床数据分类方法及系统 | |
Guan | Application of logistic regression algorithm in the diagnosis of expression disorder in Parkinson's disease | |
CN113408603B (zh) | 一种基于多分类器融合的冠状动脉狭窄病变程度识别方法 | |
Halawani et al. | A study of digital mammograms by using clustering algorithms | |
CN110522446A (zh) | 一种准确性高实用性强的脑电信号分析方法 | |
Ingle et al. | Lung cancer types prediction using machine learning approach | |
Wibowo et al. | Classification of Headache Disorder Using Random Forest Algorithm | |
Dash et al. | Learning dependencies among fetal heart rate features using Bayesian networks | |
Rosly et al. | Comprehensive study on ensemble classification for medical applications | |
Vanitha | Image Segmentation and classification Hepatitis viral infection in human blood smear with a hybrid algorithm combining Naive Bayes Classifier | |
Chauhan et al. | Development of computational tool for lung cancer prediction using data mining |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |