CJI (Traditional Chinese Medicine)
基于模糊C均值聚类算法的蒙医方剂类别划分方法研究
张春生,包•图雅,李艳
内蒙古民族大学计算机科学与技术学院,内蒙古 通辽 028043
摘要:目的 采用模糊C均值聚类(FCM)和硬C均值聚类(HCM)算法对蒙医方剂进行类别划分,探讨 2种聚类算法的合理性。方法 选取《传统蒙药与方剂》中治疗赫依病的27首蒙医方剂,进行数据预处理。采用MS Visual Studio 2010 平台,使用C#语言进行开发,分别运用 WindowFrom、WPF 技术实现汉、蒙文版本。采用FCM 和 HCM算法按 3、4、5、6个类对数据进行聚类分析。结果 所有相异数不为零的分类都存在
包含现象,2种聚类算法得到的分类结果中药物不存在交叉。与HCM算法比较,FCM算法的分类结果中各类样本数量差较小,即分类较均匀。结论 2 种算法均正确合理,其中 FCM 算法具有更好的聚类效果,可广泛应用于蒙医方剂分析,为新药研制提供数据支持。
关键词:模糊C均值聚类;硬C均值聚类;蒙医;方剂;聚类;配伍
DOI:10.3969/j.issn.1005-5304.2017.08.022
中图分类号:R2-05;R291.2 文献标识码:A 文章编号:1005-5304(2017)08-0099-05
Study on Mongolian Medicine Prescription Classification Method Based on Fuzzy C-means Algorithm
ZHANG Chun-sheng, BAO Tu-ya, LI Yan (College of Computer Science and Technology, Inner Mongolia University for Nationalities, Tongliao 028043, China)
Abstract: Objective To classify Mongolian medicine prescription by using fuzzy c-means algorithm (FCM) and hard c-means algorithm (HCM); To explore the rationality of two kinds of clustering algorithm. Methods 27 Mongolian medicine prescriptions for treating Heiyi disease from Chuan Tong Meng Yao Yu Fang Ji were set as experimental data, and the data were preprocessed first. MS Visual Studio 2010 platform was used, and C# language was used for research and development. Chinese version and Mogolian version were implemented with WindowFrom and WPF technology, respectively. The medicine prescriptions were classified into 3,4, 5, and 6 types by using FCM and HCM. Results All categorization with zero classification showed the existence of inclusion phenomena. The medicine in the classification results obtained by the two kinds of clustering algorithm did not exist cross. FCM could produce clustering results with smaller quantity difference and the more uniform classification compared with HCM. Conclusion The two algorithms are correct and reasonable, in which FCM algorithm has better clustering effect, and can be widely used in Mongolian prescription analysis, with a purpose to provide data supports for the research and development of new medicine.
Key words: fuzzy c-means algorithm; hard c-means algorithm; Mongolian medicine; prescription; clustering; compatibility
数据挖掘技术自产生以来,无论在算法理论还是应用研究方面均取得了丰富的研究成果,聚类分析作为数据挖掘的一种重要算法,在数据挖掘应用中起到了关键的作用。在中医方剂理论研究方面,它可按各项指标要求对方剂信息进行聚类分析,从而揭示其配伍规律,为新药研究提供数据支持。
目前,已有研究采用聚类分析方法分析中医方剂
基金项目:国家自然科学基金(81460656)
通讯作者:包•图雅,E-mail:baotuya1978@163.com
配伍规律[1-4],但在蒙医方剂聚类分析方面鲜有报道。目前该领域研究多采用一般的统计软件作为分析工具,尚未建立专门的数据库及开发通用程序,缺乏系统性、通用型、灵活性。
本研究在前期研究[5-6]基础上开发了一套通用的蒙医方剂数据挖掘系统。该系统集成了模糊C均值聚类(FCM)算法和硬 C 均值聚类(HCM)算法,可进行结果对比,同时HCM算法可为FCM算法提供初始中点服务。用户可根据需要选择合适的聚类算法,揭示蒙医方剂配伍规律,为蒙药新药研制提供参考。
1 模糊 C均值聚类算法
FCM 算法即众所周知的 ISODATA 模糊聚类算法,是通过隶属度即隶属于某类程度实现聚类的一种
算法,1973 年由 Bezdek 提出,是一种基于划分的聚类算法。它的主旨是使被划分到同一簇的对象间相似度最大,而不同簇间相似度最小。该算法是在 HCM算法硬性数据划分的基础上改进的一种柔性模糊划分。核心思想为把n个一维向量 xi(i=1,2,…,n)分为C个模糊组,并求每组的聚类中心,使非相似性指标的价值函数达到最小。FCM算法与HCM算法的主要区别在于其类的划分原则是模糊的,每个数据点
属于哪一个类并不明确,而是用[0,1]区间的一个模糊值来确定属于各个类的程度来表示。隶属度是经过归一化的,一个数据集的隶属度总和等于1: 与上次相比价值函数的变化量小于给定阈值则算法结束。步骤4:重新生成隶属度矩阵U,回到步骤2。
2 数据预处理
每首蒙医方剂中包含的药物数量和种类不同,而聚类分析要求所有方剂构成一个矩阵,因此模糊聚类分析第一步是对方剂数据进行预处理操作。
设原始方剂事务集为 T={t1,t2,…,tn},ti的属性(药物组成)集为 Ui={ri1,ri2,…,rik},对应的药物重量集为 Wi={wi1,wi2,…,wik},预处理后事务的属性集应包含所有的 Ui 中的属性,即预处理后的属性集为 U={r1,r2,…,rm}为所有 Ui的并集。最终形成二维矩阵 D[n,m],n 为事务数,m为U的属性数。算法描述如下。
U=null for i=1 to n //遍历所有事务(方剂) scan r Ui
//遍历当前方剂中各个属性(药物) if r not in U
//若当前方剂中属性 r 不在U中U=U r; //U 并入 r endif endscan endfor
D[n,m]=0 //二维矩阵初始化为 0 for i=1 to n //遍历所有事务(方剂) for j=1 to m //遍历 U中的每个属性if rj in Ui
//若 U中的属性 rj在当前方剂的属性中D[i,j]=wij; //二维矩阵对应位置填对应的重量endif endscan endfor
3 聚类分析程序设计
将 MS Visual Studio 2010 作为开发平台,采用C#语言进行开发,同时提供汉、蒙文2种版本,分别采用 WindowFrom、WPF技术实现。该系统可提供FCM、HCM 2种聚类算法,可进行聚类结果比较,同时HCM算法可为FCM算法提供初始中心点服务。
FCM 算法设置了灵活的初始中心点和反模糊方法。初始中心点生成算法包括随机中心点方法、随机隶属度矩阵算法,由HCM算法生成。反模糊方法包括最大隶属度方法、中位数法、加权平均法。灵活多样的生成算法为最终的聚类结果提供了保障。
4 案例实验
[7]本研究以《传统蒙药与方剂》 中治疗“赫依病”的 27 首蒙医方剂为例,讨论方剂的聚类分析方法,
27首方剂共涉及药物87 味。对纳入方剂进行数据预处理,得到一个 27×87的二维矩阵,可用于 FCM 算法聚类。由于各方剂间药物组成相差较大,采用随机中心点方法或随机隶属 度矩阵算法产生的初始中心点,对应的聚类结果并不理想。因此,本研究的初始中心点采用HCM算法生成。应用程序界面见图1。
同时采用 FCM 和 HCM 2种算法对聚类数为3、4、5、6的方剂分布情况进行分析,聚类分析结果见表 1~表 4,2 种算法聚类结果的差异情况见表 5~表 8。
聚类结果表明,当分类数为3 类和 4类时效果较
好,其中“苏格木勒-3音汤”和“乌莫黑.达布日海-5”为稳定的独体类,说明这2种方剂严格不同于其他方剂;另外,所有相异数不为零的分类都存在包含现象,
2 种聚类算法得到的分类结果中药物不存在交叉,即某一子集要么在 A 类,要么在 B 类,是聚类算法不同造成的,反映了2种聚类算法的合理性;从分4类
的结果来看,除“苏格木勒-3 音汤”和“乌莫黑.达
布日海-5”2 个独体类外,另 2 个类的相异药物数均为8,由于相互包含关系的存在,实际上就是这8 个 相异药物归属哪一类的问题。
与 HCM 算法比较,FCM算法在类的划分上引入隶属度概念,从理论上FCM算法的分类结果更理想。本研究结果表明,与HCM 算法比较,FCM算法聚类结果中各类样本数量差较小,即分类较均匀;本课题组蒙医方剂学专家分析同样认为 FCM 算法分类结果更合理。
6 小结
本研究在蒙医方剂数据挖掘平台上实现了对蒙医方剂的 FCM 和 HCM聚类分析算法,提供了FCM算法较灵活的生成策略。结果表明,2 种算法均正确合理,其中 FCM 算法具有更好的聚类效果,可广泛应用于蒙医方剂分析,为新药研制提供数据支持。
传统医药学具有突出的民族性、地域性和历史传承性。中医药学与蒙医药学在哲学思想、药性理论及其在各自医药理论指导下的临床用药等方面,均有相通之处,但又各成体系、各具特色。目前,基于数据挖掘的中医方剂研究已较成熟,但针对蒙医方剂的研究却鲜有报道。本研究对方剂进行了简单分类以验证算法合理性,在此基础上可进一步对各类中的药物频次、功能、主治等进行分析。该方法可为保护蒙医药文化遗产、蒙医药研究提供新途径,也可为蒙药研发提供参考,具有一定的社会效益和经济价值。
参考文献:
[1] 刘树春,刘洋,张晓玮,等.基于方剂数据的补肾常用中药及其配伍规
律的挖掘分析[J].中国实验方剂学杂志,2015,21(20):208-212.
[2] 郭栋,童元元,黄生权,等.基于数据挖掘的枸杞研究热点分析[J].中
国中医药信息杂志,2016,23(9):48-51.
[3] 宋京美,吴嘉瑞,姜迪.基于数据挖掘的国家级名老中医治疗肿瘤用药
规律研究[J].中国中医药信息杂志,2015,22(6):50-53.
[4] 徐晓晶,徐丽敏,沈春锋,等.孟河医派徐迪华治疗咳嗽经验用药分析
研究[J].中国中药杂志,2015,40(21):4301-4305.
[5] 张春生,图雅,翁慧,等.基于关联规则的条件函数依赖发现及数据修
复[J].计算机应用研究,2016,33(2):384-387.
[6] ZHANG C S, TU Y. The design and realization of mongolian medicine prescription data mining system[C]//2016 3rd International Conference on Information Science and Control Engineering,2016.
[7] 奥•乌力吉,布和巴特尔.传统蒙药与方剂[M].赤峰:内蒙古科学技术
出版社,2013:12.
(收稿日期:2016-08-31)
(修回日期:2016-09-09;编辑:向宇雁)