基于高斯混合模型的糖尿病检测
2017-07-27白杰
白杰
摘要:目前我国已经进入老龄化社会,慢性病患者人数居世界之首。根据2015年中国卫生部门提供的数据,中国的糖尿病病人有1.14亿,而2010年是9200万。除了不断增加的糖尿病病人外,还有1.5亿人属于糖尿病前期,说明中国一共血糖不正常的人有2.64亿。此外,还有存在糖尿病高危人群,他们是诸如有糖尿病家族史的人、老年人、肥胖人士、功能代谢紊乱者等。可以说,直接受到糖尿病威胁的人有6.64亿。这一事实表明在糖尿病检测方面,现有的方法还是有很多不足。然而,随着大数据的发展,数据挖掘的方法已经被应用到其他科学领域,并取得了不错的效果。同时有一些研究者已经将神经网络,支持向量机这些常用的数据挖掘的方法应用到医疗数据中,来帮助医生检测病人。因此,本文尝试用数据挖掘中的混合高斯模型来帮助医生检测糖尿病患者。糖尿病或简单的糖尿病是由于血糖升高引起的疾病。虽然基于物理和化学测试的各种传统方法可用于诊断糖尿病,但是诊断过程繁琐,化验成本高,诊断周期长。在本文中,我们采用混合高斯模型来完成糖尿病的早期预测。该模型在我们的训练集上达到了98%的准确率,测试集上达到了83%的准确率,验证了该方法的可行性。
关键词:糖尿病;混合高斯模型;数据挖掘;预测
1概述
生命需要能量来持续,人体需要能量来运行。然而人体细胞的重要能量来源是葡萄糖,这些葡萄糖主要是由碳水化合物分解而成的。当碳水化合物完成分解时,需要胰岛素来将这些葡萄糖输送到人体细胞中。血糖的供给由胰腺产生的胰岛素和胰高血糖素激素来完成的。一般情况,当血糖升高时,会刺激B细胞产生胰岛素。胰岛素能够使血糖进入细胞,这时葡萄糖来提供能量。所以血糖保持在一个正常的范围。如果血糖升高时,胰岛素没有正常产生,此时,就是导致血糖升高,如果情况严重,就会导致糖尿病。糖尿病是一种慢性疾病,如果长期发展下去,可能会导致很严重的后果。据国际糖尿病联合会,全球共有3.82亿人患有糖尿病。到2035年,这将增加一倍,达到5.92亿。然而,由于各种复杂因素相互依赖,糖尿病的早期预测对于医生来说是非常具有挑战性的任务。糖尿病会影响人体器官如肾脏,眼睛,心脏,神经,脚部等,除此之外,还会对患者的心理施加压力。
数据挖掘是借助人工智能,机器学习,统计学和大数据等方法,来挖掘隐藏在数据中的一些规律。它是计算机科学的跨学科子领域。数据挖掘过程的总体目标是从数据集中提取信息并将其转换为可理解的结构以供进一步使用。除了原始分析步骤之外,还涉及数据库和数据管理方面,数据预处理,兴趣度量,复杂性考虑,发现结构后的处理,可视化和在线更新。实际的数据挖掘任务是对大量数据的自动或半自动分析,以提取以前未知的特征,例如数据记录(聚类分析),异常记录(异常检测)和依赖关系(关联规则挖掘,顺序模式挖掘)。这通常涉及使用数据库技术,如空间索引。这些模式然后可以被看做输入数据的一种总结,并且可以用于进一步的分析,或者在机器学习和预测分析中。数据挖掘现在已经被广泛地应用,包括分类,估计,预测,相关性分组,聚类,复杂数据类型挖掘。
在本文中,我们将数据挖掘中的高斯混合模型,应用到医学领域。目前,数据挖掘中的很多方法可以被应用到医学领域中。例如,我们可以将关联规则应用在医疗数据中,来挖掘出隐藏在其中的规则,如果规则数量相当大,我们可以引入搜索约束,只发现在医学上有意义的关联规则,来帮助医学和专家寻找有用的信息。通过对医学大数据的挖掘、分析,并应用神经网络,支持向量机,逻辑回归,对常见疾病如心绞痛、心肌梗死、脑血管疾病、高血压病、肿瘤、哮喘病等疾病来预测或对疾病的风险进行评估。运用数据挖掘知识对疾病进行预测可以大幅度地降低医疗费用,并且在基于大量医学数据分析的基础上进行科学的,健康的管理。
综上所述,把数据挖掘的方法应用在医学领域很有前景。本文讨论将混合高斯模型应用在糖尿病患者的检测上面,来指导医生检测糖尿病患者,同时也帮助患者提前预防糖尿病,减轻患者的医疗负担和心理压力。论文的剩余部分安排如下:第2部分我们将讨论混合高斯模型,包括他的数学原理,数学推导。第3部分我们将会对实验结果进行分析,最后,我们对论文进行总结。
2高斯混合模型(GMM)
在统计学中,混合模型是一个概率模型。形式上,混合模型對应于混合分布,其表示总体群体中观测的概率分布。高斯混合模型(GMM)分类器是一种有用和基本的监督学习分类器算法,尤其适合分类大量的,具有多维特征的数据集。
高斯混合模型,是在单高斯模型的基础上发展而来的,单高斯模型就是指单个高斯分布模型或者正态分布模型,这一分布表示了自然界普遍存在的有关变量的一种统计规律,例如人的身高,商品的销量,考试的成绩,商品的质量,公司的收益等。这一分布具有很好的数学性质,具有各阶导数,整个分布由0完全决定:
高斯混合模型是由K个单高斯分布混合而成的,每个高斯分布称为混合高斯模型的一个组件,也就是分成K个类,和k-means算法一样,K的取值需要提前指定具体的形式定义如下:
如果把混合高斯模型应用到实际问题中,通常包含两个步骤。在训练阶段经过训练,每个类别的高斯分布所对应的参数被估计出来,然后每个类别所对应的高斯分布确定下来。最后,在测试阶段,把测试数据分别输入到每个类别所对应的高斯分布中,然后计算出所对应的概率,概率最大值所在的类别,为最终类别。
混合高斯模型的应用很广泛,在金融领域,它可以预测房子的价格。在文本方面,它可以进行文本的分类。还可以把它应用在手写数字识别。在语音方面,可以应用在说话人识别,语音识别。尤其在图像处理和计算机视觉方面。他的应用更为广泛,采用高斯混合模型可以进行图像分割,目标跟踪。
在我们的实验中,混合高斯模型被用于检测糖尿病。因为只是用来检测病人是否患有糖尿病,在模式识别中,属于2分类问题。因此,我们建立两个高斯混合模型:一个模型的分布用来表示患者的概率分布,另一个模型用来表示未患病者的分布。因为,高斯混合模型的初始化对实验的结果有很重要的影响,所以我们将K均值的方法和高斯混合模型相结合,来完成高斯混合模型参数的初始化。
在高斯混合模型中,每个模型中所包含的单高斯的个数,对实验结果的影响很重要。为了找到最好的模型,因此我们将高斯个数设置为1,2,3和4分别进行实验,实验结果如下表:
3实验结果分析
以上表中数据表明最好的结果83%。当单高斯的数量为
1,模型拟合性能非常差,因为单高斯模型结构太简单,是不能够刻画复杂数据。如果高斯个数是3或大于3,模型的性能也很差,其中主要原因有可能是,当高斯个数越多时,模型越复杂,一般来讲,模型越复杂;要求训练集越多。在我们的实验中,我们的训练集只有4000条。所以训练不足,导致准确率比较低。因此,当高斯个数为2时,我们取得了最好的实验效果。
为了更好的验证验方案的可行性,我们也用其他方法做了对比实验,我们选取了神经网络(ANN),支持向量机(SVM),极限学习机(ELM)和逻辑回归作为对比的方法,实验结果如下表:
以上表表明,混合高斯模型和神经网络具有相同的效果,但是,实验表明,在测试阶段高斯混合模型的计算速度远远快于神经网络。在训练阶段,和神经网络相比较,高斯混合模型需要更少的迭代次数来完成收敛。在我们的实验中,当单高斯个数为2时,只需要迭代20次就可以完成收敛。而神经网络至少需要1000次。充分验证了我们模型的可行性。
4总结和展望
本文主要是选用高斯混合模型和K均值算法相结合,来完成糖尿病的预测。来辅助医生检测病人。在测试集上,我们的准确率达到了98%,在测试集上,我们的准确率达到了83%。但是,由于我们数据集的不足,所以我们模型的泛华能力不是很强,并且83%的准确率在实际中还是很低。很难将它投入到实际中。除此之外,我们只选取了7个会导致疾病的因素,在实际中,还有很多其他会导致疾病的因素需要我们去研究。
在以后的工作中,我们将会采集大量的数据集,将高斯混合模型和统计特征相结合,来进行我们的实验。或者,我们也考虑将深度神经网络运用到我们的问题中。
致谢:
感谢太原理工大学对我的培养,特别感谢我的指导老师田玉玲,在实验中给予我悉心指导,从开始到结束过程中遇到很多困难是她给我鼓励与指引,使我能够克服重重困难,将实验做完,在此谨向田老师致以诚挚的谢意和崇高的敬意。