论文部分内容阅读
单核苷酸多态性(Single nucleotide polymorphism,SNP)主要是指在基因组水平上由单个核苷酸的变异所引起的DNA序列多态性。SNP数据作为重要的基因变异数据适合复杂性状与疾病的遗传解剖等方面的研究,关于SNP数据的研究已经成为生物信息学领域中的重要课题之一。但SNP位点之间存在较多的冗余,因此,将SNP数据直接用于复杂疾病的诊断分类中,必须选择出具有代表性的SNP子集。随着机器学习技术的飞速发展,选择SNP子集问题可归类为特征选择问题,因此,本文将特征选择技术和分类模型应用到选择SNP子集和精神分裂症诊断中。首先,提出基于K-MIM的信息SNP子集选择方法;然后,设计基于Xgboost的精神分裂症的诊断模型。具体工作如下:(1)针对SNP位点之间存在强相关性问题,提出新的算法——K-MIM对SNP位点聚类分组。该算法在K-Means算法中引入互信息的概念,提出一种新的距离度量,利用互信息能够度量特征之间相关性的特性有效解决欧式距离不能挖掘出SNP位点之间内在联系的问题。此外,K-MIM算法针对K-Means的簇中心更新在新的距离度量下失效的问题,提出新的簇中心更新方式,根据样本点到均值点的距离与样本点到其他点距离之和呈近似的增函数特点,用n个与簇中其他SNP距离最小的SNPs作为簇中心体代替原来的簇均值向量。经实验验证,KMIM算法较K-Means算法和其他改进的K-Means算法,具有更好的非信息SNP重构度,且与MCMR、ReliefF等信息SNP选择方法相比,本文提出的信息SNP选择方法在两个数据集的分类准确率上平均提升了1.83%和3.33%。因此,本文提出的基于K-MIM算法的信息SNP选择方法在信息SNP子集选择中具有较大的优势。(2)针对原蚁群算法在计算信息素累加时默认越短的信息SNP子集具有更好的非信息SNP重构效果的问题,提出新的信息素累加机制,将信息SNP子集对非信息SNP子集的预测误差引入该机制,在考虑解的长度的同时考虑解的质量,完善原信息素的累加机制。同时,为了避免算法陷入局部最优提出一种新的信息素挥发机制,该机制利用信息SNP子集的冗余度对信息素进行自适应地挥发。经实验验证,改进的蚁群算法较原蚁群、粒子群算法和遗传算法,具有更好的非信息SNP重构度,且与MCMR、ReliefF等其他信息SNP选择方法相比,本文提出的信息SNP选择方法在两个数据集的分类准确率上平均提升了1.33%和1.11%。因此,改进的蚁群算法加强了基于K-MIM算法的信息SNP子集构造方法在SNP子集选择中的优势。(3)针对精神分裂症分类中,将患者诊断为健康人和将健康人诊断为患者的误诊断代价不同问题,提出代价敏感Xgboost算法。由于无法得知数据集的错分代价,该算法提出自适应的错分代价权重,兼顾分类模型准确率的同时,在Xgboost目标函数中,对将患者诊断为健康人的样本根据其预测误差和所有样本的误差均值自适应地修改误分代价权重,减少将患者诊断为健康人的可能性。同时,在目标函数的正则项中加入树的深度,防止算法过拟合。在分类效果实验中,代价敏感Xgboost算法与Xgboost、SVM和神经网络算法在分类准确率上基本持平,且在误分类次数统计实验中,较原Xgboost算法,在两个数据集上将患者诊断为健康人的误分类次数减少了7.5%和6.67%,减少了将患者诊断为健康人的可能性。