发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,通过获取人眼底图像实现无创的方式来进行疾病的预测,提供一种基于神经网络的风险预测方法、风险预测模型、风险预测模型训练方法。
根据本发明的第一方面,提供一种风险预测模型训练方法,所述方法包括:S1、获取样本人群患疾病的风险数值,其中,风险数值是通过检测样本人群的多项身体指标计算获得;S2、获取所述样本人群中每个人的眼底图像;S3、将所述样本人群中每个人患疾病的风险数值作为标签对其眼底图像进行标注形成样本,并组成训练数据集;S4、用步骤S3得到的训练数据集对神经网络训练至收敛获得风险预测模型。其中,所述疾病是心血管疾病、糖尿病、痴呆中的一种或多种。
优选的,在本发明的一些实施例中,在所述步骤S1中,根据下述公式计算每个人患疾病的风险数值Risk′:
Risk′=ln(Risk)
其中,Risk为原始风险数值,所述原始风险数值是通过cox函数或其他指数函数对人的身体指标进行计算获得。
在本发明的一些实施例中,所述步骤S4中,采用回归损失设计并采用梯度下降算法训练神经网络,当连续三次训练损失较之前所有训练中的最小损失不下降则结束训练。优选的,采用MSE或MAE损失函数计算损失。
根据本发明的第二方面,提供一种疾病风险预测模型,所述疾病风险预测模型采用如本发明第一方面所述的方法对神经网络进行训练获得。其中,所述疾病是心血管疾病、糖尿病、痴呆中的一种或多种心血管疾病、糖尿病、痴呆中的一种或多种。
根据本发明的第三方面,提供一种疾病风险预测方法,所述方法包括:获取待预测的人的眼底图像;采用本发明第一方面所述方法训练的疾病风险预测模型基于眼底图像获得疾病风险数值。其中,所述疾病是心血管疾病、糖尿病、痴呆中的一种或多种心血管疾病、糖尿病、痴呆中的一种或多种。
与现有技术相比,本发明的优点在于:本发明通过深度学习,可直接通过人的眼底图像预测其患病风险,是无创安全的,且可实现远程操作,无需进行有创的血液采集和其他身体指标检测,节约了等待时间,预测更加快速;同时,对人群已有的采用cox函数或其他指数函数预测的风险数值进行改造之后形成数据集训练神经网络风险模型,可以更快的收敛。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
根据本发明的一个实施例,提供一种风险预测模型训练方法,所述风险预测模型用于根据眼底图像预测疾病的患病风险,如图1所示,所述方法包括步骤S1、S2、S3、S4。下面详细说明每个步骤。
在步骤S1中,获取样本人群患疾病的风险数值,其中,风险数值是通过检测样本人群的多项身体指标计算获得。如背景技术所述的,现有技术下通过有创血液检测的方式获得人的身体指标,通过cox函数或指数函数得到的相关疾病的风险数值。
其中,采用cox函数的经典风险模型,风险数值的计算如下:
其中β是各个指标的加权值,X是指标数值,
是模型建立使用的各个指标的均值。根据本发明的一个示例,假设该经典风险模型有两个输入:年龄(常使用ln(年龄)代表年龄指标)和性别(1和0分别代表男性和女性),其对应权重β
1和β
2分别为24.87和0.36,建模使用的人群平均年龄
和性别
为39.5和0.49。则对于输入和风险则可以书写成:
其中S0(t)为常数其数值,这里取0.9707,而输出的Risk数值一般在0-1之间。
采用指数函数的逻辑回归模型,风险数值的计算如下:
其计算方式与cox类似,β是各个指标的加权值,X是指标数值,β0是一常数值,一般指函数曲线与坐标的交点数值。
在步骤S2中,获取所述样本人群中每个人的眼底图像。
在步骤S3中,将所述样本人群中每个人患疾病的风险数值作为标签对其眼底图像进行标注形成样本,并组成训练数据集。
在步骤S4中,用步骤S3得到的训练数据集对神经网络训练至收敛获得风险预测模型。
从上述步骤S1的描述可以看出,以上的Cox函数对应的风险模型和逻辑回归模型计算得到的风险数值可以在深度学习的框架下作为模型训练的标签,对该函数表达的风险值进行预测,将其作为眼底图像的标签,用于神经网络的训练,得到的风险模型可以直接通过眼底图像对风险值进行预测。例如,以心血管的风险数值为标签对眼底图像进行标注,然后将标注的眼底图像作为数据集对神经网络进行训练,获得的模型可通过眼底图像预测对应患者的心血管风险。利用上述实施例获得的模型,可直接通过人的眼底图像预测其患病(例如心血管、糖尿病、脑瘫等)风险,无需进行有创的血液采集,无创安全,且可实现远程操作。
进一步,发明人经过研究发现,以上的Cox函数对应的风险模型和逻辑回归模型计算得到的风险数值样本存在如下两个问题:1、数值分布的高度不均衡;2、高风险和低风险之间数量级差异巨大。
对于上述两个问题,发明人认识到,如果直接以以上的Cox函数对应的风险模型和逻辑回归模型计算得到的风险数值进行神经网络的训练,模型收敛速度慢,训练得到的模型精度也不高。因此,优选的,本发明提出对已有的Cox等函数对应的风险模型和逻辑回归模型计算得到的风险数值样本进行改造,使其在保证等效性和分布合理的情况下更利于深度学习。其中,等效性是指保持原有样本风险排序的对应性,分布合理是指改造后的样本数值分布利于使用深度学习方案进行特征学习。
基于已有的Cox函数对应的风险模型和逻辑回归模型计算得到的风险数值样本有一个特点就是数值的分布高度不均匀,而且数值之间有明显的数量级差异,本发明对风险数值进行改造以获得分布均匀的风险数值分布。根据本发明的一个实施例,对已有的Cox函数对应的风险模型和逻辑回归模型计算得到的风险数值样本进行改造,对原始风险数值做如下改造:
Risk′=ln(Risk)
该公式是e为底的Risk值的对数,其中Risk′是改造以后的风险数值,Risk是原始的风险数值。利用改进后的风险数值对模型进行训练,使得风险整体分布会更均匀,而且数值会更线性,最大值和最小值一般不会超过一个数量级的数值差异。
根据本发明的一个示例,基于逻辑回归统计的一个痴呆的风险分布示意图,如图2所示,其中绝大部分数值集中在0到0.01之间,此时这些样本的区分度很差。以原始分布进行的痴呆风险回归会存在对风险区分度差异小,如果存在高风险的样本,比如风险达到0.8,这在使用MSE(mean square error)的情况下,一个样本产生的loss(损失)可能会是普通样本的6000倍以上,这样会造成深度学习过程模型训练中数据对loss贡献的不均衡。通过对原始风险数值的上述改造,如图3所示,改造后的风险数值整体分布会更均匀,而且数值会更线性,最大值和最小值一般不会超过一个数量级的数值差异,这样将风险数值作为标签用于深度学习时,该标签可以在模型训练中更利于模型的收敛和数据的平衡,使用这种方法可以直接提升模型的预测目标的决定系数的性能。其中,使用改造后的风险数值作为眼底图像的标签用于神经网络的训练,可使用回归loss设计,例如使用MSE和MAE。对应的loss函数可以设置为Mean Square Error(MSE),Mean Absolute Error和Mean AbsolutePercentage Error,用于对以上已有的基于Cox函数对应的风险模型和逻辑回归模型计算得到的风险数值指标进行量化:
MSE公式如下:
其中,Y
i是真实测量数值,
是模型预测的指标,n是指样本数量。
或者使用MAE,其公式为:
其中,Y
i是真实测量数值,
是模型预测的指标,n是指样本数量。在没有经过改造的风险数值上,MAE和MSE是难以使用的,原因是MAE和MSE在cox和逻辑回归公式产生的标签在数值上分布偏差更大。在经过e为底的Risk值的对数转换以后能更适应深度学习的训练要求。
根据本发明的一个实施例,采用MAE进行风险预测模型的训练,包括如下步骤:
T1、获得样本人群一系列的眼底图像以及样本人群对应采用cox指数函数计算得到的真实风险数值,对每个样本的真实风险数值取对数值,并将该对数值作为对应样本眼底图像的标签,例如,对第i张眼底图像的标签给定为ln(Yi),其中Yi为第i个样本通过cox模型临床计算的真实风险值,所有带标签的眼底图像组成训练数据集;
T2、将训练数据集中的每个图像依次输入神经网络中进行训练获得预测风险值,例如,输入第i张带标签的眼底图像到神经网络中并获得模型的预测值
T3、MAE损失函数计算损失:
T4、使用Adam优化器基于loss对模型进行参数更新
T5、重复步骤T2-T4,对神经网络进行多轮迭代训练至收敛。
将任意一张眼底图像输入训练好的风险预测模型,即可获得对应的输出拟合风险,例如,输入第k张眼底图像到训练好的风险预测模型即可以直接得到对风险的输出
此输出拟合的是ln(Y
k),通过计算
即可以得到第k张眼底图像对应的cox函数风险值,无需通过临床数据计算。
下面结合实验数据以说明本发明所取得的效果。本发明采用如下文献中的临床数据作为验证数据集对本发明进行验证:
Wu YF,Liu XQ,Li X,Li Y,Zhao LC,Chen Z,Li YH,Rao XX,Zhou BF,Detrano R,USA-PRC and MUCA C.Prediction of 10-year risk of fatal and nonfatal ischemiccardiovascular diseases in Chinese adults.Circulation.2006;114:2217-2225.
其中,该文献中的临床数据信息是基于临床采集的收缩压、总胆固醇、糖尿病病史、年龄、性别、BMI、吸烟史的指标,基于该临床数据的验证数据集信息如表1所示:
表1
文献中临床试验使用的是一个基于cox函数的心脑血管风险模型对人群的心脑血管风险进行预测,基于临床采集的收缩压、总胆固醇、糖尿病病史、年龄、性别、BMI、吸烟史的指标即可以计算出基于文献的理论风险值。其中,理论风险值最高的5%为阳性,其余为阴性,对验证数据集进行一个二分类测试,通过对比直接使用理论风险值和改造以后的风险值分别训练的神经网络风险模型的AUC值来验证本发明模型的有效性,通过实验发现,直接使用文献理论风险值训练的神经网络风险模型在验证数据集上的AUC值为0.771,采用改造后的风险值训练的神经网络风险模型在验证数据集上的AUC值为0.859。对于本领域普通技术人员来说,如果一个神经网络风险模型的AUC值大于0.5,说明采用基于临床数据对应的理论风险值训练的神经网络风险模型是可行的。而且AUC值越大,说明效果越好,由此可见,本发明通过对风险值改造后训练的神经网络风险模型效果更好。
采用上述实施例所述的方法,可以获得具有针对性的疾病风险预测模型,在遇到需要对患者的疾病风险进行预测的时候,直接采集患者的眼底图像,通过对应的风险预测模型基于其眼底图像即可获得患者的疾病风险。根据本发明的一个实施例,提供一种疾病风险预测所述,采用上述实施例获得心血管疾病的风险预测模型,在遇到需要预测患者心血管疾病风险时,通过采集患者的眼底图像,利用上述风险预测模型基于所述眼底图像获得患者的疾病风险值。
本发明通过深度学习,可直接通过人的眼底图像即可预测其患病(包括但不限于心血管、糖尿病、脑瘫等)风险,是无创安全的,且可实现远程操作,无需进行有创的血液采集;同时,对人群已有的采用cox函数或其他指数函数预测的风险数值进行改造之后形成数据集训练的神经网络风险模型,可以更快的收敛,用训练好的神经网络风险模型进行预测,由于跳过了身体指标的检测,节约了等待时间,使得预测速度更快。
需要说明的是,虽然上文按照顺序描述了各个步骤,但是并不意味着必须按照上述顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。