APP下载

粗糙集与支持向量机在冠心病诊断中的应用

2018-01-04王宏伟张红明张国军

湖北理工学院学报 2017年6期
关键词:决策表约简粗糙集

王宏伟,张红明,张国军

(1湖北理工学院 土木建筑工程学院,湖北 黄石435003;2济南军区总医院,山东 济南 250031;3湖北理工学院 计算机学院,湖北 黄石 435003)

粗糙集与支持向量机在冠心病诊断中的应用

王宏伟1,张红明2,张国军3

(1湖北理工学院 土木建筑工程学院,湖北 黄石435003;2济南军区总医院,山东 济南 250031;3湖北理工学院 计算机学院,湖北 黄石 435003)

提出了一种基于粗糙集(RS)与支持向量机(SVM)的冠心病诊断方法。利用粗糙集对原始数据进行属性约简,得到优化后的特征属性集和新的数据集,采用支持向量机对新的数据集进行分类训练和预测。结果表明该方法对冠心病预测的准确率达到91%以上,具有较好的应用前景。

人工智能;粗糙集;支持向量机;冠心病诊断

冠心病是冠状动脉血管发生动脉粥样硬化病变而引起血管腔狭窄或阻塞,造成心肌缺血、缺氧或坏死而导致的心脏病。其成因与高血压、血脂异常、肥胖、高血糖、不良生活方式(包括吸烟、不合理膳食、缺少体力活动、过量饮酒)以及性别、年龄、家族史有关。据调查,在我国,冠心病发病率的特点是北方省市普遍高于南方省市,城市高于农村,男性高于女性。冠心病的早期发现和早期诊断是提高疗效的关键。

本文提出了一种基于粗糙集与支持向量机的诊断技术,利用粗糙集理论对冠心病成因属性进行约简,利用支持向量机对数据集进行训练和预测,可以得到较高的分类精度。

1 粗糙集(RS)

粗糙集理论是由波兰数学家Pawlak于1982年提出,作为一个处理不确定、不完整、不精确信息的数学工具,目前其在医学、管理学、金融学、气象学以及人工智能等方面得到了很好的应用[1-2]。在RS理论中,“知识”被认为是一种将现实或抽象的对象进行分类的能力[3]。

1.1 知识表达系统和决策表

一个知识表达系统S可表示为一个有序4元组:

S=(U,A,V,f)

(1)

一般的,知识表达系统有2种类型:一类是信息系统(信息表),即不包含决策属性的知识表达系统;另一类是决策系统(决策表),即含有决策属性的知识表达系统。决策表是一种特殊而重要的知识表达系统,大多的决策问题都可以用决策表的形式来表达。

在实际应用中时,通常用决策表来描述论域中的对象。它是一张二维表格,行元素对应所要研究的对象,列元素为对应对象的属性,属性包含条件属性和决策属性。

1.2 属性约简与核

对于分类问题而言,并不是所有的属性都是必需的,有些是冗余的,去掉这些冗余属性不会影响分类效果。属性约简定义为不含多余属性并保证分类正确的最小条件属性集。

一个决策表可以有几个约简,其交集定义为决策表的核(core)。核中的属性是影响分类的重要属性,约简时不能去掉。

设Q⊆P,如果Q是独立的,且IND(Q)=IND(P),则称Q为P的一个约简。设P有多个约简,用red(P)表示P的所有约简,其交集即为核:

Core(P)=∩red(P)

(2)

通过粗糙集约简可以得到一个或多个特征子集,其数量以及组成取决于采用哪种算法约简。常用的有盲目删除属性约简算法、基于Pawlak属性重要度的属性约简算法、基于差别矩阵的属性约简算法以及基于差别函数的属性约简算法等[1]。

2 支持向量机(SVM)

Vapnik于1995年在VC维理论和结构风险最小化的基础上提出SVM理论,它是建立在统计学理论上的小样本学习方法,可以自动寻找对分类有较好区分能力的支持向量,在分类问题上有较好的应用效果[5]。

2.1 分类决策函数

SVM是在线性可分情况下根据最优分类面(超平面)提出的。所谓最优分类面就是在给定包含2类样本的训练集下寻找一个分类面,不但能将2类样本正确分开,而且使分类间隔最大。

设已知训练集T={(x1,y1),(x2,y2),…,(xl,yl)}∈(x×y)l,其中xi∈X=Rn,yi∈y={-1,1}(i=1,2,…,l),选择核函数K(x,x')和惩罚参数C,求得最优解:

(3)

(4)

构造分划超平面,求得分类决策函数:

(5)

2.2 核函数及参数的确定

在公式(5)中,K(xi,x)为核函数。需要注意的是,选择不同的核函数构造出的SVM的性能会有很大不同,因此,和函数的选择非常重要。常用的和函数有:

1)线性核函数:

K(x,x')=(x·x')

(6)

2)多项式核函数:

K(x,x')=[(x·x')+c]d(c≥0)

(7)

3)高斯核函数:

(8)

目前应用最广泛的是高斯核函数,对于高斯核函数而言,有2个参数(C和σ)需要确定。

确定核函数参数的方法主要有:经验法、搜索法以及基于各种智能计算的参数优化方法。

3 诊断方法

冠心病诊断是一个2分类问题。本文先通过粗糙集理论对采集到的冠心病病人原始数据进行属性约简,得到最优的特征子集,然后采用SVM对约简后的数据进行分类训练和预测[6-8]。详细流程图如图1所示。

1)冠心病特征属性

根据前期调研,本文采集山东济南地区患者数据96例,选择23个特征属性,特征属性的构成见表1。

表1 特征属性

2)离散化处理

由于粗糙集只能处理离散化形式的数据,所以必须将属性表中的数据进行离散化处理,处理后的决策见表2。

表2 离散化决策表

离散化之后的数据含义:

F1=0表示年龄在35岁以下,F1=1表示年龄在35到60岁之间,F1=2表示年龄在60岁以上;F2=0表示性别为男,F2=1表示性别为女;F3~F9=0表示YES,F3~F9=1表示NO;F10=0表示剧烈,F10=1表示一般,F10=2表示NO;F11~F23=0表示YES,F11~F23=1表示NO;决策值=0表示确诊有冠心病,决策值=1表示确诊没有冠心病。

3)属性约简算法

本文采用基于贪心策略的属性约简算法对决策表属性进行约简,具体算法描述如下:

输入:决策表DT=(U,C∪D,V,f)

输出:条件属性C相对于决策属性D的一个相对约简Redu

POS=|POSC(D)|

c=C

Redu=Ø

K=0

While(pos<>k)

{j=1

Fori=1 to |c|

{if |POSRedu∪c[i](D)|>kthen

K=|POSRedu∪c[i](D)|

J=i

End if

}

Redu=Redu∪c[j]

从数组c中删除元素c[j]

}

Fori=1 to |Redu|

{ifPOSRedu-Redu[i](D)=pos then

从Redu中删除元素Redu[i]

END if

}

Reture Redu

通过属性约简,得到包含F1、F3、F4、F8、F10、F14、F15、F18等12个属性集为约简后的特征属性集,用约简后的属性集生成新的数据集。

4)数据分类和预测

将约简后得到的新数据集对等分成训练数据和测试数据:训练数据是用来构造分类决策函数的;测试数据是用来预测最终分类结果的。

本文选择高斯核函数作为分类决策函数的核函数,采用网格式搜索法确定C和σ参数,得到分类决策函数,进而构建出最优的SVM分类模型。

采用基于网络的搜索法来确定C和σ的具体操作方法如下:

首先确定搜索范围,选取一组合适的和参数、惩罚参数、损失函数参数的范围;然后设定固定的搜索步长,按照交叉验证方法计算出测试准确率;最后将各组参数值对应的准确率用等高线描出,得到等高线图,进而选出最优的参数值[9]。

经过多组实验数据分析得到,当C=2.54,σ=1.12时,分类准确率较高。

5)结果分析

通过对48例测试数据进行验证,采用RS+SVM的方法进行冠心病分类预测,准确率能达到91.7%。

选择同样的训练数据和测试数据,把RS+SVM同1NN、C4.5和Naive Bayes等机器学习算法进行比较。各模型分类决策的结果如表3所示。

表3 不同模型的决策预测结果

实验结果表明,通常情况下,基于粗糙集的支持向量机的决策分类能力是较高的。

4 结论

本文通过粗糙集理论对原始数据进行约简,再采用SVM对约简后的数据进行训练和预测,可以得到一个较高的预测率,为冠心病诊断提供可靠依据,在医学诊断领域中具有较好的应用前景。

[1] 苗夺谦,李道国.粗糙集理论、算法与应用[M].北京:清华大学出版社,2008:24-34,108-207.

[2] Pawlak Z.Rough Sets:Theoretical Aspects of Reasoning about Data[M].Amsterdam:Kluwer Academic Publishers,1992:223-228.

[3] Pawlak Z.Rough Set[M].Amsterdam:Kluwer Academic Publishers,1991:341-356.

[4] 王刚,刘元宁,陈慧灵,等.粗糙集与支持向量机在肝炎诊断中的应用[J].吉林大学学报,2011,41(1):160-164.

[5] Vapnik V.Statiscal Learning Theory[M].Holmdel,New Jersey,USA:Wiley,1998:192-203.

[6] 孙继佳,苏式兵,陆奕学,等.基于粗糙集和支持向量机的中医辨证数据挖掘方法研究[J].数理医学杂志,2010,23(3):502-505.

[7] 李国栋.基于粗糙集和SVM的国防生综合素质测评方法研究[D].大连:大连理工大学,2011.

[8] 闫永强.基于粗糙集和支持向量机的心电信号分类研究[D].成都:四川师范大学,2010.

[9] 郎荣玲,潘磊,吕永乐,等.基于支持向量机的飞机故障诊断技术[M].北京:国防工业出版社,2016:46-56.

Application of Rough Set and Support Vector Machines in Diagnosis of Coronary Heart Disease

WangHongwei1,ZhangHongming2,ZhangGuojun3

(1School of Civil Engineering and Architecture,Hubei Polytechnic University,Huangshi Hubei 435003;2Jinan Military Region General Hospital,Jinan Shandong 250031;3School of Computer,Hubei Polytechnic University,Huangshi Hubei 435003)

A method applied in diagnosis of coronary heart disease was proposed,which was based on rough set(RS)and support vector machines(SVM).It used RS to reduce the features attribute of raw data and to obtain an optimized feature attribute set and a new data set.SVM was used for the new data classification training and prediction.The results showed that by using this diagnosis method the accuracy of coronary heart disease prediction can reach above 91%,which has good application prospects.

artificial intelligence;rough set;support vector machines;diagnosis of coronary heart disease

2017-08-03

湖北省自然科学基金科研项目(项目编号2009CDZ004);湖北省教育厅科研项目(项目编号B20104403)。

王宏伟,副教授,硕士,研究方向:计算机模式识别、信息安全。

10.3969/j.issn.2095-4565.2017.06.007

TP18

A

2095-4565(2017)06-0027-04

(责任编辑张银凤)

猜你喜欢

决策表约简粗糙集
基于决策表相容度和属性重要度的连续属性离散化算法*
基于粗糙集不确定度的特定类属性约简
基于Pawlak粗糙集模型的集合运算关系
带权决策表的属性约简
基于二进制链表的粗糙集属性约简
优势直觉模糊粗糙集决策方法及其应用
实值多变量维数约简:综述
广义分布保持属性约简研究
基于决策等价性的决策表属性集分解研究*
多粒化粗糙集性质的几个充分条件