APP下载

基于半监督主动学习的菊花表型分类研究

2018-09-17袁培森任守纲翟肇裕徐焕良

农业机械学报 2018年9期
关键词:标号百分比表型

袁培森 任守纲,2 翟肇裕 徐焕良,2

(1.南京农业大学信息科学技术学院, 南京 210095; 2.国家信息农业工程技术中心, 南京 210095;3.马德里理工大学技术工程和电信系统高级学院, 马德里 28040)

0 引言

植物表型的研究在植物保护、育种等领域具有重要的研究价值[1]。形态学性状(表型)最易观察与测定,并且最有生态适应性,至今仍是形态学研究最重要的基本方法。

菊花作为一种重要的花卉,具有种类多、品种形态变异丰富、分布广泛等特点,这些为菊花品种资源调查、品种分类与鉴定等带来了困难[2]。目前世界范围内有20 000~30 000个菊花品种,大量关于菊花分类的研究见文献[3-6]。菊花表型性状和各种遗传标记之间具有强关联性,其研究可为菊花品种分类向更为精确的数量分类方向发展奠定基础。

花卉品种分类是以形态学为基础,诸多分类研究也均以形态学为基础[4-7]。菊花的形态学分类和管理主要通过观察和测量表型性状,该方法直接、简单,但是面对庞大的菊花品种和数量,效率不高。

图1 5种菊花类型示例图Fig.1 Illustrations of five chrysanthemum type images

型态分类一般需要使用特殊设备或通过耗时的试验进行,但是其中存在海量的无类标签的样例[8]。此类应用具有类标签的样本少、无类标签样本过剩的特征,如何利用这些无标签数据提升分类的效率成为信息领域研究重点。半监督学习(Semi-supervised learning,SSL)[9-13]是利用未标记样本提升分类模型泛化能力的分类技术。半监督学习在少量带有标记的数据基础上,利用大量未标记的数据进行训练。半监督学习将未标记数据与少量标记数据结合,显著地提高学习效果,从而降低获取未标记数据标签的代价。鉴于半监督学习对利用未标记样本的有效性,其研究和应用成为近年来机器学习领域的热点[8,10,14-15]。

目前,研究者在植物表型方面的研究及应用等方面做了很多有意义的工作。CRIMINISI等[16]提出了基于机器学习技术的模型,用于表型识别,其中就涵盖了半监督方法。BEAULIEU-JONES等[15]用半监督学习技术进行表型分层研究。SINGH等[17]使用半监督度量学习识别核表型。DOOSTPARAST等[18]提出基于半监督学习的基因组数据整合和表型分类研究。SCHARR等[19]研究了基于机器学习的植物表型分叶技术。ZHANG等[14]使用半监督学习技术用于植物叶片识别。LEVATI等[8]指出,半监督学习在表型特征预测中的研究中具有重要作用。AGARWAL等[20]使用带噪声的标签数据学习表型统计模型。

本文基于主动学习[21]和图半监督学习技术[18,22-23],首先利用标签数据和未标签数据构建图模型,并构建标记矩阵;在主动学习阶段通过计算熵最大化样本作为标记样本,重新进行训练,提升分类效果,并在菊花数据集上进行试验和对比分析。

1 菊花特征及编码

1.1 菊花特征

菊花数据集的表型特征包括:株高(cm)、花瓣类型、花径(cm)、舌状数和花期。其中,花期包括夏菊、秋菊和寒菊。花瓣共分为5种类型:平瓣、匙瓣、管瓣、桂瓣和畸瓣。5种菊花类型示例图如图1所示。

1.2 one-hot编码

one-hot编码,又称为一位有效编码,主要针对离散特征进行编码[24-25]。它采用t位状态寄存器对t个状态进行编码,每个状态都有独立的寄存器位,并且在任意时候只有一位有效。

one-hot编码是把分类变量作为二进制向量来表示[24-25]。它将分类值映射到整数值,然后,每个整数值被表示为二进制向量,除了整数的索引被标记为1,其余都为0。

例如,对于花型类别取值“平瓣”、“匙瓣”、“管瓣”、“桂瓣”、“畸瓣”,其编码如图2所示。每一行对应一个类别,第1行的编码[1 0 0 0 0] 为 “平瓣”类,依此类推。

图2 5种菊花类型的one-hot编码Fig.2 Illustration of one-hot code of five chrysanthemum type

one-hot编码后的离散特征可以作为连续特征进行计算。该方法的优点是能够处理非连续型数值特征,在一定程度上扩充了特征,使得模型具有更好的鲁棒性。

2 半监督学习和主动学习

2.1 半监督学习

半监督学习的基本设置是给定一个未知分布的样本集S=DL∪DU,其中有标记样本集DL={(x1,y1),(x2,y2),…,(xl,yl)}以及一个未标记样本集DU={xl+1,xl+2,…,xl+u},求解模型f:X→Y可以准确地对示例x预测其标记y。这里xi∈X为d维向量,yi∈Y为样本xi的标记,l和u分别为DL和DU所包含的样本数。

半监督学习是在样本集S上寻找最优的分类器,目的是利用带标签数据和未标记数据学习设计分类模型,使得该模型比仅使用带标签数据分类性能更好。

MILLER等[26]从理论方面定性地指出可以利用未标记示例来提升模型分类性能,并从数据分布估计角度给出了直观的分析。为了利用未标记样本,需要将未标记样本的数据分布信息与已标记类别相联系的假设。最常见的假设包括聚类假设和流形假设[27]。其中聚类假设的数据倾向于形成离散的集群,并且同一集群中的点更可能共享类标签。流形(Manifold)假设是假设数据分布在一个流行结构上,邻近的样本具有相似的输出值。

目前,半监督分类学习方法包括生成式方法、半监督支持向量机、基于图的半监督等[27]。

基于图(Graph)的半监督学习方法[22-23]使用图建模,每个标记和未标记的示例都采用结点表示,样本之间的相似度或相关性用图的边表示。该图可以使用领域知识或样本的相似性来构建,具有较强的鲁棒性[23],适用于本文的菊花多类分类问题。

2.2 主动学习策略及熵最大化

主动学习(Active learning)[21,28]是半监督学习的特例,其中学习算法能够交互式地利用其他信息源以在新数据点处获得期望输出。主动学习目的是通过尽量少的标签提高准确率。此外,在多标号分类应用中,异常点的标号对分类器准确率带来了很大的挑战[29]。本文采用基于图模型的半监督学习与主动学习相结合的方法,提升菊花分类的性能,并借助于信息理论领域熵的概念和性质,提升菊花多标签分类的鲁棒性[21,29]。

熵(Entropy)表示随机变量的不确定性,变量的不确定性越大,熵也越大。设随机事件R,它有r1,r2,…,rm共m个不同的结果,每个结果出现的概率分别为p1,p2,…,pm,那么R的信息熵表示为

(1)

对于一个分类系统来说,假设类别C可能的取值为c1,c2,…,ck(k为类别总数),每一个类别出现的概率分别是p1,p2,…,pk。此时,该分类系统的熵可以表示为

(2)

在主动学习阶段,通过计算传播标签分布使得式(2)熵最大化的样本,即选择分类器最难分类的样本,远离标记的样本作为标记样本放入训练集,提升分类的性能。

3 基于半监督主动学习过程

3.1 处理过程

基于图模型的半监督学习(Graph-based semi-supervised learning,GSSL)[22-23]采用标签传播(Label propagation)原理,根据样例之间的几何结构构造图模型,用图的结点(Vertice)表示样例,利用图结点的邻接关系将类标签从已标签的样本向无类标签的样本传播来实现分类。

本文采用k-最近邻法 (k-nearest neighbor, k-NN)构建图模型,每个点与最近的k个点相连。近邻矩阵基于归一化图拉普拉斯算子的近邻矩阵以及在标签上进行软锁定[27],系统处理过程如图3所示。

图3 系统处理过程Fig.3 System processing procedure

首先,给定菊花标号数据集DL={(x1,y1),(x2,y2),…,(xl,yl)}和未标号菊花数据集DU={xl+1,xl+2,…,xl+u},l

wij=exp(-‖xi-xj‖2/(2σ2))

(3)

其中i,j∈{1,2,…,m},σ>0是高斯带宽函数常数,‖·‖表示向量范数。图G可以表示为一个相似矩阵WM×M,相似矩阵的每一项通过式(3)定义的高斯带宽函数计算,标签传播原理是通过节点之间的边传播类标签。边的权重越大,表示两个节点越相似,那么标签越容易传播过去。定义一个M×M的概率转移矩阵P,计算公式为

(4)

其中,Pij表示从节点i转移到节点j的概率。假设有C个类和l个已标号样本,定义标号矩阵Ll×C,给u个未标号样本一个标号矩阵Uu×C。合并两个矩阵可得到矩阵F=[LU],F大小为M×C,其中M=l+u。基于图正则化的优化目标函数可以表示为

(5)

其中,假设样本具有相似的预测函数,f是菊花数据集DL∪DU上的预测函数。式(5)中第1项为最小化标签数据上的损失,第2项为确保在标号数据和未标号数据集上的标号光滑性[27]。

(6)

对i=1,2,…,M和菊花类别j=1,2,…,C,将F初始化为

(7)

F(t+1)=αLF(t)+(1-α)Y

(8)

其中α∈(0,1)为用户指定的夹紧因子,用于平衡标记传播项LF(t)与初始化项Y的重要性。这个夹紧因子可以放宽,对于α=0.1,即保留原始标签分布比例为90%。基于式(8)迭代至收敛最终可得

(9)

由式(9)中的F*可获得未标号数据集DU中样本的标记为(yl+1,yl+2,…,yl+u)。

3.2 处理算法

本文算法是在基于图模型半监督学习基础上[30]增加了熵最大化策略。首先输入标记样本集DL={(x1,y1),(x2,y2),…,(xl,yl)}、未标记样本集DU={xl+1,xl+2,…,xl+u}、构图参数σ、参数α、半监督迭代次数Si、收敛阈值τ和主动学习迭代次数Ai。算法步骤如下:

while(Ai>0){

计算相似矩阵W;

基于相似矩阵W构造标记传播矩阵

根据式(7)初始化F(0);

t=0;

while(Si>0 && |F(t+1)-F(t)|>τ){

F(t+1)=αLF(t)+(1-α)Y;

t++;Si--;

}

fori=l+1,l+2,…,l+udo

计算未分类中样本熵并排序,选取熵最大化的E个样本加入已标号序列;

Ai++;

}

最后,算法输出未标记样本的预测结果(yl+1,yl+2,…,yl+u)。

4 试验结果与分析

4.1 试验平台

试验平台为Windows 10系统,16 GB内存,QuadCore Intel Core i7-7700, 4.2 GHz。算法采用Python 3.6实现。

测试菊花表型数据集共有160条,菊花特征包括:株高(cm)、花型、花径(cm)、舌状数和花期。其中,花型包括平瓣、匙瓣、管瓣、桂瓣和畸瓣,类别标号分别记为1、2、3、4、5。花期包括夏菊、秋菊和寒菊[4]。

数据集分布如图4和图5所示。图4是数据集中菊花株高、花径和舌状数概率密度分布图。图5是数据集中不同菊花类别的株高与舌状数分布散点图。

图4 菊花株高、花径和舌状数概率密度分布图Fig.4 Probability density distribution of flower height, diameter and ligule number of dataset

图5 不同菊花类别的株高与舌状数分布散点图Fig.5 Scatter plot of plant category with plant height and ligule number

参数设置如下:夹紧因子α为 0.2,即始终保留原始标签分布的比例为80%。参数λ的默认值是1/C(C是菊花类别个数),共5类菊花,因此设置为0.2。k-NN中构建图的近邻数k设置为5。半监督迭代次数Si设置为6,收敛阈值τ设置为0.01,主动学习迭代次数Ai设置为10。

4.2 分类精度指标

试验从半监督分类预测结果的质量分类效率进行了系统的研究和分析。 定义TP(True positive)为模型预测为正的正样本,FP(False positive) 为模型预测为正的负样本,FN(False negative)为模型预测为负的正样本。分类结果从3方面进行度量:加权精度(Weighted precision)、加权召回率(Weighted recall)和加权F1度量,定义分别为

(10)

(11)

(12)

其中

式中si——第i个类别的支持度

i——菊花类别个数,i=1,2,…,C,即每一类的真实样本出现次数

ρi——第i个类别的精度

ri——第i个类别的召回率

4.3 参数对分类质量的影响

本部分试验的标记样本比例设定为31%。首先测试了构件图模型中k-NN参数k对分类质量的影响,试验中k取3、4、5、6,结果如图6所示。

图6 k-NN中参数k对分类质量的影响Fig.6 Influence of parameter k of k-NN on classification quality

从图6可以看出,在菊花数据集上,k-NN参数k对分类的质量有一定的影响,试验中k的取值为3、4、5、6,分类结果的精度、召回率和F1度量增大之后又有所降低,在k为5时3个评价指标取得最大值。试验结果表明针对此菊花数据集的半监督近邻参数k设置为5比较合适。

图7 参数α对分类质量的影响Fig.7 Influence of parameter α on classification quality

图7是夹紧因子α对分类质量的影响。图7的试验结果表明,参数α对结果的影响较大,参数α为0.15时,半监督学习模型在菊花数据集上3个指标较好;随着α的增加,分类预测的质量增加达到一个最高值之后随之降低。从0.15至0.18,3个指标均在0.7以上,超过0.2之后,3个指标都有所下降。因此本文参数α的选取范围为0.15~0.18。

图8是熵最大化样本个数E对分类质量的影响,从图8的试验结果可见,参数E为5时,对菊花数据具有最好的分类效果,3个指标都在0.7以上。因此参数E设置为5。

图8 熵最大化的样本个数对分类质量的影响Fig.8 Influence of samples with maximum entropy on classification quality

4.4 分类预测精度

对菊花的标号比例进行了试验,测试了分类的精度、召回率和F1与已标号样本百分比的关系,试验中已标号样本的百分比为6.25%~81.25%,试验结果如图9所示。从图9可以看出,随着样本标号百分比的增加,本文方法的分类精度逐步提升,从0.45提升至0.9以上。在已标号百分比为6.25%~23%之间,精度提升较快,精度从0.45快速增加到0.7,在已标号样本百分比为23%时分类精度达到0.7以上。标号百分比为81.25%时,精度为0.91。

图9 标号百分比与精度关系Fig.9 Relationship of labeled percentage and precision

图10是分类的召回率与已标号样本百分比之间的关系。从图10可以看出,随着标号百分比的增加,本文方法的分类召回率在逐步提升,从0.4提升至0.88左右,在标号百分比为6.25%~23%时,召回率增加较快,从0.4增加到0.62以上。在样本标号百分比为23%时分类的召回率达到0.62以上。标号百分比为81.25%时,召回率为0.88。

图10 标号百分比与召回率关系Fig.10 Relationship of labeled percentage and recall rate

图11是分类结果F1与样本标号百分比之间的关系。从图11可以看出,随着样本标号百分比的增加,本文方法的分类F1值在逐步提升,从0.36提升至0.88左右,在标号百分比为6.25%~23%时,F1增加较快,从0.36增加到0.63左右。在样本标号百分比为23%时,F1达到0.63以上。标号百分比为81.25%时,F1为0.88。

图11 标号百分比与F1关系Fig.11 Relationship of labeled percentage and F1

图12是标号百分比为56%时,半监督菊花分类归一化混淆矩阵(Confusion matrix)图,图12显示了本文算法在菊花集上分类错误分布情况,行代表的是实际类别,列代表半监督模型的预测类别。从图12可以看出,类别1、2、4和5分类准确率较高,类别3被错分的概率较大,可能原因是数据集分布不均衡,这一点也可以从图5的类别分布上看出,类别3和类别2、4之间的分类困难较大。通过提升标号百分比,可以进一步改善分类的质量。

图12 半监督菊花分类混淆矩阵Fig.12 Confusion matrix of semi-classification on chrysanthemum dataset

4.5 分类性能

图13为算法的分类时间与菊花样本标号百分比之间的关系图。由图13可以看出算法的分类性能与标号百分比关联性不大,分类的时间基本稳定在4.0 ms左右,主要时间消耗在图构建过程。表明本文方法的分类性能比较稳定。

图13 标号百分比与菊花半监督分类时间关系Fig.13 Performance of semi-classification with labeled percentage

4.6 试验对比

把基于图半监督分类无熵策略[27,30]作为基线,对比了分类结果的3个指标,试验结果如图14所示。基于图半监督方法用无熵表示,本文加入主动学习熵最大化策略方法用加入熵表示。图14中横轴百分数表示标号百分比,试验中选取标号百分比分别为20%、30%和37%。从图14的试验结果可知,随着标号百分比增加,两种方法的精度、召回率和F1都在增加;加入熵最大化之后,3个指标都有较大提升,平均提升了25%左右;加入熵最大化策略之后,系统的3个指标都在0.63以上,3个分类评价指标相对比较稳定。

图14 有无主动学习熵最大化策略分类质量对比Fig.14 Classification quality comparison with and without active learning entropy maximization strategy

5 结论

(1)针对部分已标号的菊花数据,利用半监督学习算法,通过主动学习熵最大化策略来提升菊花表型分类效果。

(2)在菊花数据集上对系统参数进行了详细的试验验证,并进行了对比和分析。试验结果表明:本文方法能够较好地利用未标号菊花样本提升分类精度,标号百分比在23%时,识别精度快速达到0.7以上,标号百分比在81.25%时,平均识别精度和召回率分别达到0.91和0.88。

猜你喜欢

标号百分比表型
承德所选实生核桃资源果实表型性状评价初报
体型表型与亚临床动脉粥样硬化有关
拟Mobius梯子的L(1,1,1)-标号
慢性阻塞性肺疾病急性加重期临床表型及特征分析
三条路的笛卡尔乘积图的L(1,2)-标号数
几种叉积图的平衡指标集
土壤盐碱对不同表型猴樟渗透调节物质的影响
普通照明用自镇流LED灯闪烁百分比测量不确定度分析
趋势攻略之趋势线:百分比线
环保车型最多的美国城市