机器学习方法鉴别中药材种类和产地的比较研究*

2024-03-14 08:48汤玉荣
甘肃科技 2024年1期
关键词:产地种类中药材

汤玉荣

(兰州现代职业学院卫生健康分院,甘肃 兰州 730300)

中药材在预防和治疗感染、寄生虫病、肿瘤,以及缓解身体疼痛等方面效果显著。此外,中药材还可以缩短退热时间、治愈时间,提高中性粒细胞和淋巴细胞计数等。中药材种类和道地性是疗效的重要保障。不同种中药材的成分相差很大,很多长相相似,肉眼无法准确识别。不同产地的同种中药材成分也存在一定差异,有些还会受到地质和环境污染的影响。从统计学的角度分析,中医的平均疗效较好,但缺乏可重复性,故相同方子产生的疗效方差较大(参差不齐)[1]。因此,为了确保中药材疗效的可靠性,准确鉴别中药材的种类和产地对于中医药的发展具有重要意义。

中药材种类和产地的鉴别方法有很多[2-7],如气相色谱法、薄层色谱法、红外光谱法等。红外光谱法通过红外光谱仪采集中药材的光谱数据,分析药材种类和产地的主要特征,具有高效、快速、精准、低廉等特点,但是识别的准确率还需要进一步提高。

近年来,基于药材的近红外光谱数据,使用机器学习方法对未知种类和产地的药材进行识别受到了越来越多的关注。机器学习[8]是一门涉及了数学、计算机、物理等多学科的交叉算法,成功运用到了语音和手写识别、自然语言处理、图像识别、生物特征识别、医学诊断等领域。随着机器学习的迅猛发展,决策树、支持向量机、最近邻算法、集成学习等各种机器学习算法被提出。这些算法均可用于中药材种类和产地识别。

1 数据分析

为了分析多种机器学习方法识别中药材种类和产地的效果,研究选用中药材的近红外光谱数据集[9]中的数据。该数据集大部分药材种类和产地都已知,但也有部分种类或产地未知,主要包括A、B、C 3种药材,16个产地。从图1可以看出3种药材表现的光谱特征相对差异较大。

图1 三种药材的波数与吸光度曲线

图2 为A 种药材在1、2、3、4、5 号产地的光谱数据图,可以看出数据差异较小。B 种和C 种药材的光谱数据类似A 种。因此,药材种类的鉴定难度较小,但是药材产地的鉴定难度较大。

图2 A 种药材在不同产地的波数与吸光度曲线

2 鉴别方法

采用决策树、支持向量机、最近邻算法、集成学习四种经典的机器学习方法,识别中药材的种类和产地,具体如下。

2.1 决策树

决策树是一种将已知数据样本作为基础进行归纳学习的方法。利用已知中药材种类或产地的数据特性进行总结分类,为各特性找到一种确切的刻画与分类,然后对未知种类或产地的数据进行分类。该算法的基本思想是把最高信息增益的描述特性作为近红外光谱数据集的分支特性,创建决策树中的一个节点,再利用描述特性的不同取值创建新的分支,最后对新分支中样本子集重复调用构建该节点的子节点。

2.2 支持向量机

支持向量机是基于监督学习方式对近红外光谱数据样本进行二元分类的一种广义线性分类器,其决策边界是对学习样本求解最大边距超平面,将分类问题化为一个求解凸二次规划的问题。在原空间线性可分时,寻找两类样本的最优分类超平面。在线性不可分时,加入松弛变量,利用非线性映射将低维度输入空间的样本映射到高维度空间,使其变得线性可分,然后在该特征空间寻找实现最优分类的超平面。

2.3 最近邻算法

最近邻算法(KNN)的想法来源于“近朱者赤,近墨者黑”,该方法是最简单的机器学习算法之一,也是最基本、最好用的分类算法之一,其基本思想是将距离近的数据点划为同一类。利用已知种类或产地的数据集,对新输入未知种类或产地的数据点计算到已知各数据点的距离,在已知数据集中找到与该数据点最邻近的K 个数据,这K 个实例的多数属于那个类,就把该输入数据点分到这个类。

2.4 集成学习

集成学习的想法源自“三个臭皮匠顶一个诸葛亮”。单个机器学习算法所能解决的问题很有限,推广应用能力也较差,但组合多个机器学习算法完成某个学习任务往往会产生更好的效果。每个学习器可以看成是一个基本的学习单元,通过他们组合最终集成一个强大的整体,该整体可用于解决更复杂的问题。集成学习具有增加模型的性能、减少过拟合、降低方差、提供更高的预测精度、处理线性和非线性数据等优点。

3 问题求解

为了比较机器学习算法在中药材种类或产地识别的效果,同时避免复杂的编程,使用MATLAB R2016a 自带的机器学习工具箱APP—分类学习器(Classification Learner)。这个工具箱里面集成了一些经典的机器学习算法,具有简单、实用等优点,对于处理数据量不大的分类问题非常高效。主要分为以下几个步骤:

(1)将已知种类或产地的中药材数据读入MATLAB空间,类型为数值矩阵,命名为data。

(2)打开程序选项中的Classification Learner,然后选择新任务(New Session)选项。

(3)从选择列表或矩阵(Select table or matrix)中选取data变量。由于一组数据其变量需要包括每一列数据,之后使用列作为变量(Use columns as variables),接着选择第一列为响应值(Response)代表输出的目标,其余列为预测因子(Predictors),即训练的输入中药材数据。验证一般选择交叉验证(Cross-Validation)选项,然后点击开始任务(Start Session)。

(4)接着选择不同的算法进行训练,使用All 把所有算法训练一遍,点击Train开始训练。

(5)训练结束后,可以看到每一种算法的识别准确率。识别率越高,说明算法相对越好。然后在工具箱中点击输出模型(Export model),就可以将训练好的模型导出到MATLAB主界面。

(6)导入未知产地和种类的数组X,依照命令行中的提示,在命令行窗口输入命令trainedModel.predictFcn(X)语句,实现产地和种类的预测。

4 结果分析

4.1 中药材的种类鉴别

利用已知药材种类的近红外光谱数据鉴定未知种类,首先分析已知种类药材的相关数据信息和特征,然后使用分类学习器得到决策树、支持向量机、最近邻算法、集成学习4种机器学习方法的学习模型,再对未知种类的药材进行识别,比较4种方法的识别效果。

为防止出现过拟合现象,分析中药材样本数据种类的均衡性。近红外光谱数据集中256个已知种类的药材分布情况统计见表1,可以看出各种类的样本数都相对较多,则不调整样本数。

表1 各种类的药材数量

以种类已知的药材样本数据为标签,将原始数据按照75∶25 的比例分成2组,一组作为训练集,一组作为验证集。利用训练集数据训练分类器,验证集验证分类器的效果,并将最后的准确率作为分类器的性能指标。利用穷举法找出常见机器学习方法模型中的最优参数。最后,对训练集进行线性拟合得到训练好的线性分类模型,利用模型识别种类未知的药材种类。

表2 为4 种常见机器学习方法的识别精度,可以看出除了决策树方法以外,其余3 种方法的识别精度都达到了100.0%。

表2 常见机器学习方法识别中药材种类的精度(%)

表3为部分药材使用这些机器学习方法识别种类的结果,可以看出这些方法识别结果基本一致,可以确定编号94、109、140 的药材属于A 类,编号278、308、330的药材属于C类,编号347的药材属于B类。

表3 部分中药材种类鉴定结果

4.2 中药材产地鉴别

用机器学习算法解决药材产地鉴别问题时,首先将已知产地和未知产地的光谱数据分别保存。其次,以已知产地的药材数据为基础,利用决策树、支持向量机、最近邻算法、集成学习等4种方法分别得到学习模型,然后导出得到的学习模型。最后,针对未知产地的药材,利用光谱数据信息和学习模型对药材种类进行鉴定。

假设未知产地的药材只在该药材已出现的产地上种植。利用4.1 节中的方法,确定所有中药材的种类。为防止出现过拟合现象,对中药材样本数据产地的均衡性进行分析。表4可以看出A类药材共108个样本,但是分布不均衡,尤其是2号产地明显偏少。

表4 各产地A 类药材的数量

表5可以看出B类药材共150个样本,分布比较均衡。

表5 各产地B 类药材的数量

表6 可以看出C 类药材共69 个样本,但是产地1 的样本数量较少。因此,对样本数量进行数据合成,通过已有真实数据集的处理和组合,生成新的数据集。基于MATLAB 中的数据扩展算法添加较小的高斯噪声,扩大现有数据集中A类2号产地和C类1号产地的数据规模分别到13和18,使得模型的训练结果更加准确和可靠。

表6 各产地C 类药材的数量

依次将A、B、C药材的光谱数据挑选出来,以已知产地的数据为基础,把光谱数据按照75∶25 的比例分为训练集与测试集,利用穷举法找出模型最优参数,最后将训练集进行线性拟合分别得到训练好的分类模型。针对未知产地的药材,利用得到的模型对药材产地进行鉴定。

表7 为常见机器学习方法识别产地的精度,对A类和B类药材的产地识别只有集成学习中的子空间判别法有效,其余方法都识别精度不高。C 类药材的产地识别中,集成学习和支持向量机2 种方法有效。综合分析,集成学习中的子空间判别法对于中药材A类、B类、C类的产地识别都非常有效,可以用于中药材的产地识别。

表7 常见机器学习方法识别中药材产地的精度(%)

表8为集成学习中的子空间判别法对部分未知产地药材的识别结果。

表8 部分中药材的产地识别结果

5 结论

中药材的种类和道地性对中药材的疗效有直接影响。基于近红外光谱数据分析发现,中药材的种类识别比较容易,产地鉴别相对困难。机器学习方法是鉴定中药材种类和产地的有效方法之一,利用近红外光谱数据,通过系统比较常用的机器学习方法对中药材产地和种类鉴别的准确率,结果表明常用的机器学习方法包括决策树、支持向量机、最近邻算法、集成学习等都可以成功识别种类,但是只有集成学习中的子空间判别法对产地识别有效。

猜你喜欢
产地种类中药材
夏季中药材田间管理做好这五点
中药材促农增收
宋四清:种植中药材 托起致富梦
警惕“洗产地”暗礁
食物离产地越远越好
种类丰富的酒具
测定不同产地宽筋藤中5种重金属
消防车种类知多少
镜头像差的种类
DNA提取4种中药材方法的筛选