本发明属于中医配药领域,尤其涉及到一种基于神经网络的中医处方疗效推演方法。
背景技术:
中医学有着数千年的发展历史,是广大劳动人民在治疗疾病中的经验总结,中医学的诊断治疗过程,实质上是一个辨证施治过程,也是个对一大堆数据信息作出处理,提取规律的过程。辨证论治是中医学的精华,是中医对于疾病诊断和治疗的理论和手段。辨证论治的过程是对信息的收集、转换、加工、处理以及运用信息的反馈,调整治疗措施,达到治愈疾病的目的。中医学中的辨证有模糊性、不确定性的特点,主观性较强,因此中医的诊断和治疗与医师的经验、水平有着较大关系。中医辨证的研究思路和方法主要集中在实验研究、临床观察、文献整理、经验总结上。当今时代的发展显示,这些方法是不够的。神经网络有较好获得数据规律的能力,应用于中医学具有可行性。
解决上述问题的关键就是应用神经网络,进行中医处方疗效推演。
技术实现要素:
本发明克服了现有技术的不足之处,提出了一种基于神经网络的中医处方疗效推演方法,意在指导中医用药。
本发明为达上述发明目的,采用如下技术方案:
一种基于神经网络的中医处方疗效推演方法,按照如下步骤进行:
步骤(1):准备中医处方疗效推演的数据;
步骤(2):将准备好的数据输入到中医处方疗效推演的模型中,经过神经网络,输出患者服药n天(第一周期)后的化验指标;将n天后的化验指标以及中药处方、患者的检查指标作为第二周期的数据,并把上一周期网络中的输出一起输入到下一周期的网络中,经过神经网络,输出患者服药2n天(第二周期)后的化验指标;将2n天后的化验指标以及中药处方、患者的检查指标作为第三周期的数据,并把上一周期网络的输出一起输入到下一周期的网络中,经过神经网络,输出患者服药3n天(第三周期)后的化验指标,中医看病一般经历三个周期;
步骤(3):训练:对网络参数赋初始化数值,设置网络的最大迭代次数q,学习率λ,将准备好的数据集输入网络,进行训练,如果loss值一直下降,则继续训练,直到迭代q次后,得到最终的模型,如果loss值在中途趋于稳定,则停止迭代,得到最终的模型;
步骤(4):推演:输入患者的各项数据
进一步的,步骤(1)中的数据准备如下:
收集a种病的中药处方、患者的检查与化验数据,其中,中药处方包括n种药物的重量(以克为单位)以及服药次数(m次/天),检查数据包括患者的身高、体重、体温、血压、舌苔、脉象,其中,舌苔分为薄白苔、白滑苔、白腻苔、积粉苔、白燥苔、薄黄苔、黄腻苔、黄糙苔、黄滑苔、焦黄苔、深黄苔、灰黑苔、灰苔、黑苔共14种基本苔象,脉象分为浮脉、洪脉、濡脉、散脉、芤脉、革脉、沉脉、伏脉、牢脉、弱脉、迟脉、缓脉、涩脉、结脉、数脉、促脉、疾脉、动脉、虚脉、微脉、细脉、代脉、短脉、实脉、滑脉、紧脉、长脉、弦脉共28种基本脉象,将舌苔情况和脉象分别用one-hot编码作为输入数据;化验数据包括血液指标、尿液指标、肝功能指标、肾功能指标、血脂、电解质、淀粉酶,化验数据是当前周期的输出也是下一周期的输入。
步骤(2)中神经网络的构成如下:
神经网络由多个卷积层构成,将数据
步骤(3)中训练的损失函数如下:
附图说明
图1是基于神经网络的中医处方疗效推演方法的流程图。
图2是基于神经网络的中医处方疗效推演方法的网络模型。
具体实施方式
下面结合附图对本发明作进一步说明。
本实施例中,如图1所示,本发明的基于神经网络的中医处方疗效推演方法,具体实现主要包括如下步骤:
步骤(1):准备中医处方疗效推演的数据;
步骤(2):将准备好的数据输入到中医处方疗效推演的模型中,经过神经网络,输出患者服药10天(第一周期)后的化验指标;将n天后的化验指标以及中药处方、患者的检查指标作为第二周期的数据,并把上一周期网络中的输出一起输入到下一周期的网络中,经过神经网络,输出患者服药20天(第二周期)后的化验指标;将20天后的化验指标以及中药处方、患者的检查指标作为第三周期的数据,并把上一周期网络的输出一起输入到下一周期的网络中,经过神经网络,输出患者服药30天(第三周期)后的化验指标,中医看病一般经历三个周期;
步骤(3):训练:对网络参数赋初始化数值,设置网络的最大迭代次数q=50000,学习率λ=0.01,将准备好的数据集输入网络,进行训练,如果loss值一直下降,则继续训练,直到迭代50000次后,得到最终的模型,如果loss值在中途趋于稳定,则停止迭代,得到最终的模型;
步骤(4):推演:输入患者的各项数据
进一步的,步骤(1)中的数据准备如下:
收集a种病的中药处方、患者的检查与化验数据,其中,中药处方包括n种药物的重量(以克为单位)以及服药次数(m次/天),检查数据包括患者的身高、体重、体温、血压、舌苔、脉象,其中,舌苔分为薄白苔、白滑苔、白腻苔、积粉苔、白燥苔、薄黄苔、黄腻苔、黄糙苔、黄滑苔、焦黄苔、深黄苔、灰黑苔、灰苔、黑苔共14种基本苔象,脉象分为浮脉、洪脉、濡脉、散脉、芤脉、革脉、沉脉、伏脉、牢脉、弱脉、迟脉、缓脉、涩脉、结脉、数脉、促脉、疾脉、动脉、虚脉、微脉、细脉、代脉、短脉、实脉、滑脉、紧脉、长脉、弦脉共28种基本脉象,将舌苔情况和脉象分别用one-hot编码作为输入数据;化验数据包括血液指标、尿液指标、肝功能指标、肾功能指标、血脂、电解质、淀粉酶,化验数据是当前周期的输出也是下一周期的输入。
步骤(2)中神经网络的构成如下:
神经网络由多个卷积层构成,将数据
步骤(3)中训练的损失函数如下: