基于BP神经网络的人体健康状况识别方法与流程

文档序号:11893736阅读:449来源:国知局
基于BP神经网络的人体健康状况识别方法与流程
本发明属于人体健康状况识别
技术领域
,具体涉及一种基于BP神经网络的人体健康状况识别方法。
背景技术
:随着人们医疗保健意识的提高,人们越来越注重身体健康。华盛顿大学、南加州大学和科罗拉多大学的联合研究表明,随着未来几十年老龄化的发展,对于人体健康状态的评估变得越发重要。与此同时,随着医学的不断进步,越来越多的人逐渐将关注点从后期的诊断治疗逐渐地向前期的预防方向推移。基于目前生物医学领域的研究现状可知:人体的体重指数(BMI)、体温、血压、血脂、血糖、红细胞数以及白细胞数等生理参数对人体健康状况有着重要的影响。但目前的医疗机构以及相关的健康机构仅仅局限于提供各个人体指标参数的监测值,所提供的监测值也是供医疗人员阅读的最原始的专业数据,对于没有太多临床经验的医学工作者以及非专业人员而言,很难根据这些未经过处理的专业数据简单、直观、准确地了解人体当前的健康状况。基于目前心理学领域的研究现状可知:心理状态对人的健康状况有重大影响。但是目前的医疗机构以及相关的健康机构或是学术机构在研究人体整体的健康状况时并没有综合考虑心理量表与生理参数的作用。技术实现要素:针对上述现有技术中的不足,本发明要解决的技术问题是提供一种基于BP神经网络的人体健康状况识别方法,本评价方法整合了目前用于评估人体生理和心理健康状况的体重指数(BMI)、体温、血压、血脂、血糖、红细胞数以及白细胞数等人体生理参数信息和汉密尔顿抑郁量表(HAMD),汉密尔顿焦虑量表(HAMA),YALE-BROWN强迫量表,SCL90症状自评量表以及尼古丁依赖程度评估表(FTND)等心理或行为方式量表,通过信息融合方式给出不包括患有重大疾病在内的人群的健康状况识别,有效地削弱了传统基于单个参量评估所引起的误差,既可以使得单一个体用户能够实时了解其身体的健康状况,也可以实现大密度某特征群体性的身体健康状况识别筛选,同时避免了对大型远程医用服务器或者数据库的过分依赖。本评价方法简单可靠,可有效提高人体健康状况识别方法的实用性、有效性以及特殊环境下的适用性。为了实现上述目的,本发明通过以下技术方案实现:一种基于BP神经网络的人体健康状况识别方法,包括如下步骤:S1、将已知的不包括患有重大疾病者的人群的生理、心理和行为方式指标实际测量值进行归一化处理,得到各指标的归一化值;S2、BP神经网络结构初始化;S3、将前述人群的各指标的归一化值输入BP神经网络,对BP神经网络进行识别训练;S4、对待识别人进行测量与测试,得到选定人体指标的实际测量值;S5、利用训练好的BP神经网络对待识别人进行健康状况识别。作为本发明的优选方案,具体步骤如下:S1、测量未患有重大疾病者的人群的年龄、性别、肺活量、握力、红细胞数、反应时、台阶测试、体重指数(BMI)、空腹血糖(FPG)、心率、血脂、白细胞数、骨密度、腰臀比值、餐后2h血糖(2hPPG)、舒张压、收缩压、血小板数、血清总胆固醇、汉密尔顿抑郁量表(HAMD)、汉密尔顿焦虑量表(HAMA)、YALE-BROWN强迫量表、SCL90症状自评量表、匹茨堡睡眠质量指数量表(PSQI)、密西根酒精依耐筛查量表MAST(加权法)、尼古丁依赖程度评估表(FTND)和每日平均工作时长共27个指标的数值,此时n=27,并设i为按照前述顺序排列的第i个指标的序号;对各个指标的数值进行归一化处理;其中,所述肺活量或握力或台阶测试的数值采用升半梯形分布函数进行归一化处理,所述升半梯形分布函数的公式如下:fi(xi)=0xi≤ai(1)xi-ai(1)ai(2)-ai(1)ai(1)<xi<ai(2)1xi≥ai(2),i=3,4,7---(1)]]>式(1)中,xi为人体肺活量或握力或台阶测试的实际测量值,为预设的肺活量或握力或台阶测试的下限阈值,为预设的肺活量或握力或台阶测试的上限阈值,fi(xi)为人体肺活量或握力或台阶测试的实际测量值归一化后的值;所述反应时或腰臀比值或汉密尔顿抑郁量表(HAMD)或汉密尔顿焦虑量表(HAMA)或YALE-BROWN强迫量表或SCL90症状自评量表或匹茨堡睡眠质量指数量表(PSQI)或密西根酒精依耐筛查量表MAST(加权法)或尼古丁依赖程度评估表(FTND)或每日平均工作时长共10个指标的数值采用降半梯形分布函数进行归一化处理,所述降半梯形分布函数的公式如下:式(2)中,xi为上述10个指标中的第i个指标的实际测量值,为上述10个指标中的第i个指标的下限阈值,为上述10个指标中的第i个指标的上限阈值,fi(xi)为上述10个指标中的第i个指标的实际测量值归一化后的值;所述红细胞数或体重指数(BMI)或血糖或心率或血脂或白细胞数或骨密度或餐后2小时血糖(2hPPG)或舒张压或收缩压或血小板数或血清总胆固醇共12个指标的数值采用梯形分布函数进行归一化处理,所述梯形分布函数的公式如下:式(3)中,xi为上述12个指标中的第i个指标的实际测量值,fi(xi)为上述12个指标中的第i个指标的实际测量值的归一化后的值,分别为上述12个指标中的第i个指标的极限低值、下限阈值、上限阈值和极限高值;所述年龄按照如下公式进行归一化处理:f1(x1)=x1-a1(1)a1(2)-a1(1),---(4)]]>式(4)中,x1为数据中年龄的实际测量值,f1(x1)为数据中年龄的实际测量值的归一化后的值,分别为数据中年龄的第i个指标的极限低值和极限高值;所述性别按照如下公式进行归一化处理:式(5)中,x2为性别的实际测量值,f2(x2)为性别的实际测量值的归一化后的值;S2、BP神经网络模型包括输入层、隐含层和输出层;根据输入序列X确定输入层节点数即指标个数n,X=(x1,x2,...,xn);根据输出序列Y确定络输出层节点个数m=3,Y=(Y1,Y2,Y3),健康状况识别为三类:健康、亚健康和慢性病,其中健康对应的输出序列为(1,0,0),亚健康对应的输出序列为(0,1,0),慢性病对应的输出序列为(0,0,1);根据如下经验公式确定隐含层节点数l:l为接近的整数;初始化输入层神经元i和隐含层神经元j之间的连接权值ωij,初始化隐含层神经元j和输出层神经元k之间的连接权值μjk,初始化隐含层阈值α=(α1,α2,...,αl),输出层阈值β=(β1,β2,β3),给定学习速率η,给定隐含层激励函数和输出层激励函数如下:其中x为隐含层输入或者输出层输入;S3、开始训练BP神经网络,计算隐含层输出H:Hj=f(Σi=1nωijxi-αj),j=1,2,...,l;---(6)]]>式(6)中,Hj为隐含层第j个节点的输出值,xi为受试者第i项指标,αj为隐含层第j个节点的阈值;计算输出层输出O:Ok=f(Σj=1nHjμjk-βk),k=1,2,...,m;---(7)]]>式(7)中,Ok为输出层第k个节点的输出值,βj为输出层第j个节点的阈值;计算误差ek:ek=Yk-Ok,k=1,2,...,m;(8)式(8)中,Yk为输出层第k个节点的实际值;更新权值ω~ij=ωij+ηHj(1-Hj)Σk=1mωjkek,i=1,2,...,n;j=1,2,...,l;---(9)]]>式(9)中,为计算后的输入层神经元i和隐含层神经元j之间的连接权值;μ~jk=μjk+ηHjek,j=1,2,...,l;k=1,2,...,m;---(10)]]>式(10)中,为计算后的隐含层神经元j和输出层神经元k之间的连接权值;更新阈值α~j=αj+ηHj(1-Hj)Σk=1mμjkek,j=1,2,...,l,---(11)]]>式(11)中,为计算后的隐含层第j个节点的阈值;β~k=βk+ek,k=1,2,...,m;---(12)]]>式(12)中,为计算后的输出层第j个节点的阈值;判断算法是否结束:如果误差c为计算精度,或者算法迭代次数大于N,则训练结束,得到输入层神经元i和隐含层神经元j之间的连接权值最终值隐含层神经元j和输出层神经元k之间的连接权值最终值隐含层阈值最终值αF,输出层阈值最终值βF;否则用替换αj,用替换βj,返回计算隐含层输出,重复上述计算步骤;S4、对待识别人进行测量与测试,得到选定上述27项人体指标的实际测量值Z=(z1,z2,...,z27);S5、利用训练好的BP神经网络对待识别人进行健康状况识别:计算隐含层输出HZ:HjZ=f(Σi=1nωijFzi-αjF),j=1,2,...,l;---(13)]]>为受试者z相应的隐含层第j个节点的输出值;计算输出层输出OZ:OkZ=f(Σj=1nHjZωjkF-βkF),k=1,2,...,m.---(14)]]>为受试者z相应的输出层第k个节点的输出值。优选的,步骤S2中,l=6,ωij=1,ωjk=1,a=(1,1,1,1,1,1),b=(1,1,1),η=0.5。优选的,步骤S3中,c=0.0001,N=10000。本发明的有益效果在于:1)本发明将多个反应人体健康状况的生理、心理和行为方式参数指标值进行有效的融合,并最终通过BP神经网络模型呈现出健康状况识别结果,不但使人体健康状态的识别结果更加简单和直观,而且给出的识别结果可以使非专业人员清晰、明确地了解自身健康状况,从而对人体相关生命活动的调整甚至疾病的预防甚至治疗有重要指导意义。2)本发明对不同的人体生理、心理和行为方式参数指标采用了不同的权重,即指标的权重BP神经网络训练进行相对应的设置,并且没有权重总和为1的限制,从而能够使对人体健康状况影响较大的指标更加凸显出来。作为一个思路,对于不同的地区的人群,由于生活习惯、行为习惯等的影响,可以选择不同的人体生理、心理和行为方式参数指标,并针对选定的指标设定适应地区特征的权重,从而使得本发明中的评价方法能够得到更为科学的评价结果。3)与评分模型相比,本发明中的技术方案利用大量的先验数据进行样本学习,不但能准确地对人体健康状态进行评价,而且matlab编程实现提高了对人体健康状态的评价效率。附图说明图1为升半梯形分布函数示意图。图2为降半梯形分布函数示意图。图3为梯形分布函数示意图。图4为神经网络拓扑图。图5为识别误差图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面对本发明作进一步地详细描述。S1、已知数据中有1200组患者的年龄、性别、肺活量、握力、红细胞数、反应时、台阶测试、体重指数(BMI)、空腹血糖(FPG)、心率、血脂、白细胞数、骨密度、腰臀比值、餐后2h血糖(2hPPG)、舒张压、收缩压、血小板数、血清总胆固醇、汉密尔顿抑郁量表(HAMD)、汉密尔顿焦虑量表(HAMA)、YALE-BROWN强迫量表、SCL90症状自评量表、匹茨堡睡眠质量指数量表(PSQI)、密西根酒精依耐筛查量表MAST(加权法)、尼古丁依赖程度评估表(FTND)和每日平均工作时长共27个指标的数值,此时n=27,并设i为按照前述顺序排列的第i个指标的序号,即参见表1:表1对各个指标的数值进行归一化处理;其中,所述肺活量或握力或台阶测试的数值采用升半梯形分布函数进行归一化处理,所述升半梯形分布函数的公式如下:fi(xi)=0xi≤ai(1)xi-ai(1)ai(2)-ai(1)ai(1)<xi<ai(2)1xi≥ai(2),i=3,4,7---(1)]]>式(1)中,xi为人体肺活量或握力或台阶测试的实际测量值,为预设的肺活量或握力或台阶测试的下限阈值,为预设的肺活量或握力或台阶测试的上限阈值,fi(xi)为人体肺活量或握力或台阶测试的实际测量值归一化后的值;所述反应时或汉密尔顿抑郁量表(HAMD)或汉密尔顿焦虑量表(HAMA)或YALE-BROWN强迫量表或SCL90症状自评量表或匹茨堡睡眠质量指数量表(PSQI)或密西根酒精依耐筛查量表MAST(加权法)或尼古丁依赖程度评估表(FTND)或每日平均工作时长共10个指标的数值采用降半梯形分布函数进行归一化处理,所述降半梯形分布函数的公式如下:式(2)中,xi为上述10个指标中的第i个指标的实际测量值,为上述10个指标中的第i个指标的下限阈值,为上述10个指标中的第i个指标的上限阈值,fi(xi)为上述10个指标中的第i个指标的实际测量值归一化后的值;所述红细胞数或体重指数(BMI)或血糖或心率或血脂或白细胞数或骨密度或腰臀比值或餐后2小时血糖(2hPPG)或舒张压或收缩压或血小板数或血清总胆固醇共12个指标的数值采用梯形分布函数进行归一化处理,所述梯形分布函数的公式如下:式(3)中,xi为上述12个指标中的第i个指标的实际测量值,fi(xi)为上述12个指标中的第i个指标的实际测量值的归一化后的值,分别为上述12个指标中的第i个指标的极限低值、下限阈值、上限阈值和极限高值;所述年龄按照如下公式进行归一化处理:f1(x1)=x1-a1(1)a1(2)-a1(1),---(4)]]>式(4)中,x1为数据中年龄的实际测量值,f1(x1)为数据中年龄的实际测量值的归一化后的值,分别为数据中年龄的第i个指标的极限低值和极限高值;所述性别按照如下公式进行归一化处理:式(5)中,x2为性别的实际测量值,f2(x2)为性别的实际测量值的归一化后的值;S2、将步骤S1中的1200个患者分成训练组和测试组,其中训练组有1050个患者,测试组有150个患者。BP神经网络模型包括输入层、隐含层和输出层;根据输入序列X确定网络输入层节点数即指标个数n,X=(x1,x2,...,xn);根据输出序列Y确定输出层节点个数m=3,Y=(Y1,Y2,Y3);健康状况识别为三类:健康、亚健康和慢性病,其中健康对应的输出序列为(1,0,0),亚健康对应的输出序列为(0,1,0),慢性病对应的输出序列为(0,0,1);根据如下经验公式确定隐含层节点数l:l为接近的整数,取l=6;初始化输入层神经元i和隐含层神经元j之间的连接权值ωij=1,初始化隐含层神经元j和输出层神经元k之间的连接权值μjk=1,初始化隐含层阈值α=(α1,α2,...,αl)=(1,1,...,1),输出层阈值β=(β1,β2,β3)=(1,1,1),给定学习速率η=0.1,给定隐含层激励函数和输出层激励函数如下:x为隐含层输入或输出层输入。S3、开始训练BP神经网络,计算隐含层输出H:Hj=f(Σi=1nωijxi-αj),j=1,2,...,l;---(6)]]>式(6)中,Hj为隐含层第j个节点的输出值,xi为受试者第i项指标,αj为隐含层第j个节点的阈值;计算输出层输出O:Ok=f(Σj=1nHjμjk-βk),k=1,2,...,m;---(7)]]>式(7)中,Ok为输出层第k个节点的输出值,βj为输出层第j个节点的阈值;计算误差ek:ek=Yk-Ok,k=1,2,...,m;(8)式(8)中,Yk为输出层第k个节点的实际值;更新权值ω~ij=ωij+ηHj(1-Hj)Σk=1mωjkek,i=1,2,...,n;j=1,2,...,l;---(9)]]>式(9)中,为计算后的输入层神经元i和隐含层神经元j之间的连接权值;μ~jk=μjk+ηHjek,j=1,2,...,l;k=1,2,...,m;---(10)]]>式(10)中,为计算后的隐含层神经元j和输出层神经元k之间的连接权值;更新阈值α~j=αj+ηHj(1-Hj)Σk=1mμjkek,j=1,2,...,l,---(11)]]>式(11)中,为计算后的隐含层第j个节点的阈值;β~k=βk+ek,k=1,2,...,m;---(12)]]>式(12)中,为计算后的输出层第j个节点的阈值;判断算法是否结束:如果误差c=0.0001为计算精度,或者算法迭代次数大于N=10000,则训练结束,得到输入层神经元i和隐含层神经元j之间的连接权值最终值隐含层神经元j和输出层神经元k之间的连接权值最终值隐含层阈值最终值αF,输出层阈值最终值βF;否则用替换αj,用替换βj,返回计算隐含层输出,重复上述计算步骤;通过matlab编程运算最终得到输入层神经元i和隐含层神经元j之间的连接权值最终值组成的矩阵的转置为:隐含层神经元j和输出层神经元k之间的连接权值最终值组成的矩阵为:0.82-0.7-0.055935468257-0.7-0.20.953.712828978-0.5-0.30.89949802417460.16-0.2-0.3313963181271.16-0.3-0.89358450984-0.60.95-0.349595730574]]>隐含层阈值最终值为αF=(-1.0665,0.3425,2.3796,0.52624,0.57499,-0.78523),输出层阈值最终值βF的转置为(0.50152,0.4253,0.073401)。BP神经网络识别能力分析:用已有的150组患者数据(X,Y)对BP神经网络进行测试。计算隐含层输出HT:HjT=f(Σi=1nωijFxi-αjT),j=1,2,...,l;]]>计算输出层输出OT:OkT=f(Σj=1nHjTωjkF-βkT),k=1,2,...,m.]]>设kT是使得最大的那个k,统计三个识别中的OTF与Y相同的个数p1,p2,p3,计算每个类别的正确率利用已有数据,按照以上步骤计算得到每个类别的正确率分别为:80%,79.67%,72.73%。如果采集到大密度某特征群体性的身心指标数据,可以得到更高的准确率。S4、对待识别人进行测量与测试,得到选定上述27项人体指标的实际测量值Z=(z1,z2,...,z27);S5、利用训练好的BP神经网络对待识别人进行健康状况识别:计算隐含层输出HZ:HjZ=f(Σi=1nωijFzi-αjF),j=1,2,...,l;---(13)]]>为受试者z相应的隐含层第j个节点的输出值;计算输出层输出OZ:OkZ=f(Σj=1nHjZωjkF-βkF),k=1,2,...,m.---(14)]]>为受试者z相应的输出层第k个节点的输出值。设kZ是使得最大的那个k,如果OZF=(1,0,0),则此人健康;如果OZF=(0,1,0),则此人亚健康;如果OZF=(0,0,1),则此人患有慢性病。本发明中选定的27个指标的说明如下:表1本发明中的健康评价指标构成表2本发明中的健康评价指标的正常医学参考范围结合上表,本发明中的所述评价指标中的预设的肺活量下限阈值,男性为2800毫升,女性为2000毫升,预设的肺活量上限阈值男性为3500毫升,女性为2500毫升;预设的握力下限阈值为22kg,预设的握力上限阈值为35kg;预设的红细胞数,女性的极限低值为3.0×1012/L,下限阈值为3.5×1012/L,上限阈值为5.0×1012/L,极限高值为6.0×1012/L;男性的极限低值为3.2×1012/L,下限阈值为4.0×1012/L,上限阈值为5.5×1012/L,极限高值为6.5×1012/L;预设的反应时,女性的极限低值为0.86,极限高值为0.40;男性的极限低值为0.78,极限高值为0.39;预设的台阶测试下限阈值,男性为41.3,女性为37,预设的肺活量上限阈值男性为52.1,女性为52.3;预设的体重指数(BMI)极限低值为14.85kg/m2,下限阈值为18.56kg/m2,上限阈值为24.16kg/m2,极限高值为28.99kg/m2;预设的空腹血糖的极限低值为1mmol/L,下限阈值为3.9mmol/L,上限阈值为6.0mmol/L,极限高值为50mmol/L;预设的心率的极限低值为30次/分,下限阈值为60次/分,上限阈值为100次/分,极限高值为200次/分;预设的血脂的极限低值为104mg/dL,下限阈值为130mg/dL,上限阈值为159mg/dL,极限高值为190mg/dL;预设的白细胞数的极限低值为3.0×109/L,下限阈值为4.0×109/L,上限阈值为10.0×109/L,极限高值为12×109/L;预设的骨密度的极限低值为-1.2,下限阈值为-1.0,上限阈值为1.0,极限高值为1.2。预设的腰臀比值,女性的极限低值为0.83,极限高值为0.63;男性的极限低值为0.91,极限高值为0.71;预设的餐后2小时血糖的极限低值为3mmol/,下限阈值为3.9mmol/,上限阈值为7.8mmol/,极限高值为10.0mmol/。预设的舒张压的极限低值为20mmHg,下限阈值为58mmHg,上限阈值为89mmHg,极限高值为160mmHg。预设的收缩压的极限低值为30mmHg,下限阈值为89mmHg,上限阈值为119mmHg,极限高值为300mmHg。预设的血小板计数,女性的极限低值为98×109/L,下限阈值为148×109/L,上限阈值为257×109/L,极限高值为307×109/L;男性的极限低值为58×109/L,下限阈值为108×109/L,上限阈值为273×109/L,极限高值为323×109/L。预设的血清总胆固醇的极限低值为1.9mmol/L,下限阈值为2.9mmol/L,上限阈值为6.0mmol/L,极限高值为10mmol/L。预设的汉密尔顿抑郁量表的下限阈值为20,上限阈值为8。预设的汉密尔顿焦虑量表的下限阈值为21,上限阈值为7。预设的YALE-BROWN强迫量表的下限阈值为16,上限阈值为6。预设的Scl90症状自评量表的下限阈值为300,上限阈值为160。预设的匹茨堡睡眠质量指数量表的下限阈值为16,上限阈值为5。预设的密西根酒精依耐筛查量表(加权法)的下限阈值为26,上限阈值为5。预设的尼古丁依赖程度评估表的下限阈值为7,上限阈值为3。预设的每日平均工作时长的下限阈值为12,上限阈值为8.5。下面结合实施例对本发明作进一步说明。实施例1某男,59岁,肺活量,握力,红细胞数,反应时,台阶测试,体重指数,空腹血糖,心率,血脂,白细胞数,骨密度,腰臀比值,2hPPG,舒张压,收缩压,血小板计数,血清胆固醇,HAMD,HAMA,Yale-Brown强迫量表,Scl90症状自评量表,PSQI,MAST,FTND和每日平均工作时长25个指标的实际测量值分别为3769.9mL,30.9kg,5.8×1012/L,0.45,43.11,19.9kg/m2,4.5mmol/L,87次/分,180.95mg/dL,8.14×109/L,-0.59,0.77,7.1,71mmHg,100mmHg,2.2×1011/L,5.4mmol/L,3,3,4,34,4,3,1,11。他的测试结果为(0.5799,0.2747,0.1455),即为(1,0,0),属于健康一类。实施例2某男,51岁,肺活量,握力,红细胞数,反应时,台阶测试,体重指数,空腹血糖,心率,血脂,白细胞数,骨密度,腰臀比值,2hPPG,舒张压,收缩压,血小板计数,血清胆固醇,HAMD,HAMA,Yale-Brown强迫量表,Scl90症状自评量表,PSQI,MAST,FTND和每日平均工作时长25个指标的实际测量值分别为3936.4mL,24.1kg,4.64×1012/L,0.58,61.36,17.4kg/m2,3.4mmol/L,53次/分,147.99mg/dL,5.46×109/L,-0.34,0.63,10.3,76mmHg,113mmHg,2.3×1011/L,3.7mmol/L,1,4,5,22,2,0,1,10。他的测试结果为(0.3721,0.5073,0.1205),即为(0,1,0),属于亚健康一类。实施例3某男,44岁,肺活量,握力,红细胞数,反应时,台阶测试,体重指数,空腹血糖,心率,血脂,白细胞数,骨密度,腰臀比值,2hPPG,舒张压,收缩压,血小板计数,血清胆固醇,HAMD,HAMA,Yale-Brown强迫量表,Scl90症状自评量表,PSQI,MAST,FTND和每日平均工作时长25个指标的实际测量值分别为4016.8mL,26.6kg,4.38×1012/L,0.45,35.85,22.6kg/m2,8.5mmol/L,98次/分,127mg/dL,6.90×109/L,-0.09,0.71,5.5,139mmHg,178mmHg,1.65×1011/L,3.8mmol/L,6,5,3,32,2,4,2,8。他的测试结果为(-0.1246,0.1652,0.9595),即为(0,0,1),属于慢性病一类。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1