基于降维和支持向量机的医学诊断

2018-01-04 11:35张蕾何萍荣静
计算机时代 2018年11期

张蕾 何萍 荣静

摘 要: 在基于机器学习的医疗诊断系统中,分类算法的设计至关重要。为了提高医疗诊断系统的分类准确率,提出了先降维后分类的方法。采用有监督的LLE算法对高维医学数据进行特征提取。通过SVM算法对降维后的医学数据进行分类。以UCI数据库为数据来源,在MATLAB平台上进行各种分类算法的比较。实验结果表明,新算法的分类识别率和时间复杂度均优于传统的分类算法,非常适用于医学诊断领域。

关键词: 医学诊断; 有监督的LLE算法; SVM算法

中图分类号:TP301 文献标志码:A 文章编号:1006-8228(2018)11-60-04

Abstract: In the machine learning based medical diagnosis system, the design of classifier is very important. In order to improve the classification accuracy of the medical diagnosis system, a method is proposed that reduces the dimension firstly and then do the classification. Supervised locally linear embedding method is used to feature extraction of high dimensional medical data. Support vector machine is used to classify the data after dimensionality reduction. Using UCI database as data source, various classification algorithms are compared on MATLAB platform. The experimental results show that the new method has higher classification recognition rate and shorter running time than the traditional classification algorithms.

Key words: medical diagnosis; supervised locally linear embedding; support vector machine

0 引言

随着科学技术的发展,医学诊断领域出现大量的高维数据。自动化医学诊断技术被广泛地应用。自动化医学诊断是机器学习的重要应用领域之一,通过收集样本的病理特征,运用机器学习算法来分析特征与疾病的映射关系,据此预测具有某些病理特征的病人是否患有某种疾病的可能[1]。在基于机器学习的医疗诊断系统中,分类算法的设计至关重要[2]。传统的分类算法如决策树算法、支持向量机算法都已经广泛运用到医学诊断系统中[3-4]。然而,医学诊断所涉及的数据存在大量的噪声样本和冗余的特征信息,仅使用分类技术,分类的识别率较低,花费的时间也较长。

本文提出一种先降维后分类的方法。采用有监督的LLE算法,对高维医学数据进行特征提取,通过支持向量机算法对降维后的数据进行分类。与传统分类算法相比,不仅提高了分类识别率,也缩短了运行时间。

1 降维技术

医学诊断领域所涉及的医学数据集一般都是有标签的高维数据集。由于训练样本的有限性和数据的高维性,直接对医学数据集进行分类往往效果不佳[5]。因此,对医学数据集进行降维是非常有必要的。

1.1 降维的定义

所谓降维就是将高维数据通过线性或非线性方式映射到低维空间的过程[6]。数据降维的数学描述为:假设高维数据集X={x1,x2,…,xN}为D维空间的一个数据集,通过映射表示为Y={y1,y2,…,yn} ,y为x的低维表示。

1.2 LLE算法介绍

LLE算法是Roweis和Saul[7]在2000年首次提出的非線性降维方法。LLE算法的基本思想是通过保持数据的局部线性结构在高低维空间的一致性来实现数据的投影映射[8-11]。LLE算法中数据的局部线性结构是用局部重建权值矩阵来衡量的[12]。LLE算法的具体步骤如下。

⑴ 计算每个点的近邻域。用Dijkstra距离作为数据点之间的度量,寻找每个数据点xi的k个近邻点,k是根据经验的预先给定值。

⑵ 通过每个样本点的近邻点计算样本点的局部重建权值矩阵w,使重构误差函数达到最小值,即:

1.3 有监督的LLE算法

一般情况下,收集到的医学数据集都是带有类标签的高维数据集。为了实现医学数据集的特征提取,需要在LLE算法的基础上融入监督信息[13]。

LLE算法在整个降维过程中局部重建权值矩阵都保持不变。为了更好地区分数据的类别,有监督的LLE算法对局部重建权值矩阵做了一定的修改。由于LLE算法中局部重建权值矩阵与数据点之间的距离成反比关系,即扩大局部重建权值矩阵,则相应数据点之间的距离靠近。因此有监督的LLE算法的监督信息融入策略为:尽量缩小类间数据点的局部重建权值矩阵,扩大类内数据点的局部重建权值矩阵。具体思想可以用公式⑺表示:

该线性权重的调整方式依赖于参数δ,参数δ的选取方式为网格搜索。

2 支持向量机(SVM)算法

支持向量机算法主要有线性和非线性两种方式,本文采用的是非线性支持向量机算法。非线性支持向量机算法的基本思想是把输入向量映射到高维空间,在高维空间中构造线性最优分类面对数据进行分类[14-16]。将低维空间非线性问题转化为高维空间线性可分问题。