本发明涉及一种基于主动声学的鱼类识别方法。
背景技术:
上世纪90年代以来,随着对渔业资源可持续发展的日益重视,渔业声学相关的新方法和新技术取得了较快进展。鱼类物种分类主要包括针对观测数据进行特征提取和基于分类方法对特征进行分类。随着机器学习在图像处理领域的快速发展,以机器学习为主的分类方法逐步应用于鱼种分类与识别。
90年代,鱼种分类领域主要应用传统的统计方法如主成分分析(principalcomponentanalysis,pca)、判别函数分析(discriminantfunctionanalysis,dfa)。进入21世纪以来,基于统计学习理论的机器学习和基于神经网络的连接主义学习方法逐步应用于鱼种分类中,包括最近邻分析、k均值聚类、支持向量机和人工神经网络等。最近邻分析是一种非参数的分类技术,具有概念清晰、易于实现等优点,但存在计算复杂度高、度量相似性的距离函数不适用等问题;k均值聚类算法结构简单、快速高效、适用于处理大规模数据集,但其对初始聚类中心的选取敏感、容易陷入局部最优解;支持向量机应用结构风险最小化原则,在由输入向量通过非线性映射得到的高维特征空间里构造最优决策函数,具有推广性能好、学习速度快、全局最优性等优点,在声学调查数据的分类问题中取得了广泛应用,但其在观测样本过多时效率较低、寻找合适的核函数较困难、对解决多分类问题效果较差;人工神经网络借助信号前向传播与误差反向传播过程对目标的输入输出数据直接建模,在严重非线性与高度不确定性问题上表现良好,在鱼类分类领域渐渐获得重视,但也存在收敛速度慢、易陷入局部最优解等缺点。符号主义学习的代表,决策树可以学习变量间的非线性关系及高阶交叉作用,具有计算速度较快、准确率较高、容易实现等优点,广泛应用于生态数据分析,但其对数据比较敏感,数据存在冗余、属性间相关性过强以及数据庞杂会影响决策树的分类,且较容易过拟合。
实际应用中,传统单个机器学习算法的分类能力有许多局限性:如在小规模数据样本集上训练的分类模型容易过拟合;用单一学习算法训练的分类模型,有可能陷入局部最优解,如人工神经网络;某些数据可能不能被单一分类器正确分类。
技术实现要素:
本发明要克服目前使用单一机器学习分类方法对鱼类回波进行分类的上述缺点,进一步提高基于声学回波数据的鱼种分类结果的准确率。
集成学习融合多个学习器得到比最好的单一学习器更优越的性能的关键在于个体学习器的准确性和多样性。集成学习的多样性表现在算法参数多样性、数据样本多样性以及个体学习器的结构多样性。本发明提出一种基于多模型改进的stacking集成学习鱼类识别方法,该方法在基学习器阶段融合三组不同鱼类回波特征与分类方法的适配组合:基于主成分分析提取的时域回波特征tpca和决策树、基于主成分分析提取的频谱特征spca和adaboost、基于卷积神经网络提取的时频域特征sgcnn和前馈神经网络,并将其分类结果作为后续元学习器的输入特征量,基于多元逻辑回归算法训练元学习器,得到最终分类结果。其中基于主成分分析的特征提取方法在保留原始数据主要信息的同时,使用更少的特征刻画原始数据样本,使数据更易于处理;基于卷积神经网络的特征提取方法,通过结合卷积层和池化层,利用网络结构的层层映射自主学习信息的隐式表达,对特征图进行层层迭代抽象和组合,挖掘鱼类回波中隐含的更复杂和深层次的信息,从多角度对鱼类回波进行描述,从而提高对信息的表达能力。
水池实验结果表明由于在保持基学习器准确性的同时从数据特征和模型结构两方面提高了基学习器的多样性,充分发挥了集成学习的优势,降低了在小样本数据集上易过拟合和陷入局部最优解的风险,基于多模型改进的stacking集成学习鱼类识别方法可有效提高鱼种分类正确率。本发明为解决上述技术问题所采用的技术方案如下。
一种于多模型改进的stacking集成学习鱼类识别方法,包括如下步骤:
1)利用成像声呐向鱼类发射脉冲信号,同时接收经鱼体反射后的反向散射回波信号;
2)对数据进行预处理,包括利用傅里叶变换得到回波信号的频谱,以进行基于主成分分析的频域特征提取;利用短时傅里叶变换得到回波信号的时频图,以进行基于卷积神经网络的特征提取;
3)从步骤2)的预处理结果中提取特征,包括对时域回波提取主成分特征tpca,对回波频谱提取主成分特征spca,对回波时频图提取基于卷积神经网络的特征sgcnn;
4)将特征tpca、spca和sgcnn分别输入基于多模型改进的stacking集成学习基学习器进行决策,融合基学习器分类结果作为元学习器的输入特征量,元学习器输出最终分类结果,实现鱼种分类识别。
步骤(3)包括:
(3-1)分别对时域回波信号和回波频谱利用基于主成分分析的特征提取方法提取特征tpca,spca:对于第s个鱼类回波信号样本向量xs=(x1,x2,...,xn)t,n为鱼类回波信号长度,其协方差矩阵为
其中,
y=utxs,(2)
其中u=(u1,u2,...,um),y=(y1,y2,...,ym);
(3-2)对于鱼类回波时频图利用基于卷积神经网络的特征提取方法提取特征sgcnn:特征提取阶段的卷积神经网络由输入层{conv1,conv2,conv3,conv4,pool5,fc6,fc7}构成,即首先通过4层卷积层级联,对特征图进行层层迭代抽象和组合,挖掘鱼类回波中隐含的更复杂和深层次的信息;再通过池化层聚合特征,最后级联两层全连接层将所有二维图像的特征图拼接为一维特征,全连接层最后输出的一维特征作为后续分类器的输入特征量。
步骤(4)包括:首先划分原始数据集为训练集和测试集,采取n折交叉验证方法基于原始训练集训练本发明提出的基于多模型改进的stacking集成学习分类器;针对鱼类回波特征tpca,使用3折交叉验证的方法将训练集分为3份,生成训练子集1,训练决策树模型,记为分类器1,将训练子集的预测值拼凑起来,记为a1;同样地,针对鱼类回波特征spca,使用3折交叉验证的方法将训练集分为3份,生成训练子集2,训练adaboost模型,记为分类器2,将训练子集的预测值拼凑起来,记为a2;针对鱼类回波特征sgcnn,使用3折交叉验证的方法将训练集分为3份,生成训练子集3,训练前馈神经网络模型,记为分类器3,将训练子集的预测值拼凑起来,记为a3;将a1,a2,a3并列合并得到一个新的矩阵作为元学习器的训练集,训练多元逻辑回归模型,得到最终基于多模型改进的stacking集成学习分类器;对于测试集,首先将鱼类回波信号进行预处理后,分别提取特征tpca,特征spca和特征sgcnn;将三种特征分别作为分类器1,分类器2和分类器3的输入,将各分类器的分类结果作为多元逻辑回归元学习器的输入,获得的多元逻辑回归学习器输出即为最终分类结果。
本发明的优点是:本发明提取的三种特征tpca、spca和sgcnn分别从时域、频域、时频域不同角度对鱼类回波信号进行充分表征,其中特征tpca、spca分别在提取回波信号时域、频域上大部分信息的同时消除了冗余信息的影响,特征sgcnn利用卷积层级联的网络结构提取鱼类回波中隐含的更复杂和深层次的特征;本发明根据鱼类回波特征与分类方法的特点,选取三组不同的回波特征和分类方法适配组合,在保证基学习器准确性的同时从数据特征、模型结构方面提高基学习器的多样性,充分发挥了集成学习的优势,可有效提升鱼种分类正确率;应用基学习器和元学习器的级联结构集成不同类型的学习算法,可获得比单一分类器更好的分类性能。
附图说明
图1是本发明基于多模型改进的stacking集成学习鱼类识别方法流程框图;
图2是特征提取阶段的卷积神经网络结构示意图;
图3是本发明基于多模型改进的stacking集成学习鱼类识别方法的训练流程图;
图4是基于多模型改进的stacking集成学习鱼类识别方法的基学习器训练流程图;
图5是本发明基于多模型改进的stacking集成学习鱼类识别方法的分类流程图。
具体实施方式
下面结合附图对本发明作进一步描述。
一种于多模型改进的stacking集成学习鱼类识别方法,包括如下步骤:
1)获取鱼体反射的反向散射回波信号;
利用成像声呐向鱼类发射脉冲信号,鱼体反向散射回波信号,被成像声呐接收并存贮回波数据。
2)对步骤1)获取的鱼类回波数据进行预处理;
对存贮的时域回波信号进行傅里叶变换,得到回波信号的频谱;同时,对存贮的时域回波信号进行短时傅里叶变换,得到回波信号的时频图。
3)对步骤2)的预处理结果进行特征提取;
在特征提取阶段,对时域回波信号利用基于主成分分析的特征提取方法提取特征tpca;对回波频谱利用基于主成分分析的特征提取方法提取特征spca;对回波时频图利用基于卷积神经网络的特征提取方法提取特征sgcnn。
对于第s个鱼类回波信号样本向量xs=(x1,x2,...,xn)t,n为鱼类回波信号长度,通过下式求其协方差矩阵
其中,
y=utxs,(4)
其中u=(u1,u2,...,um),y=(y1,y2,...,ym)。
对于鱼类回波信号,基于卷积神经网络的特征提取方法可以提取其中隐含的更复杂和深层次的特征。图2是特征提取阶段的卷积神经网络结构示意图,其中网络由输入层{conv1、conv2、conv3、conv4、pool5、fc6、fc7}构成。对于鱼类回波时频图,假设其大小为n×n,卷积层的卷积核大小为m×m,则卷积层输出图像大小为(n-m+1)×(n-m+1)。在池化层,经过k×k平均化降采样,输出图像大小变为
在卷积层,上一层的输出特征图作为输入与多个卷积核进行卷积求和与偏置,再通过激活函数得到本层的多个输出特征图
其中,
池化层将每个输入特征图通过下面的公式得到输出特征图
其中,
最后全连接层将所有二维图像的特征图拼接为一维特征作为后续分类器的输入。通过对输入加权求和激活函数的响应得到一维输出特征
xl=f(ul),(10)
ul=wlxl-1+bl,(11)
其中,ul是全连接层l的净激活,由前一层输出特征图进行加权和偏置后得到;wl和bl分别是全连接层l的权重系数和偏置项;xl是全连接层l的输出,xl-1是上一层的输出,f(·)是sigmoid激活函数。全连接层最后输出的一维特征作为后续分类器训练的输入特征量。
4)将步骤3)提取的特征tpca、spca和sgcnn分别输入基于多模型改进的stacking集成学习各个基学习器进行决策,融合基学习器分类结果作为输入特征量馈送入元学习器,得到最终分类结果,实现鱼种分类识别;
利用步骤3)提取的特征,按照图3所示的流程训练基于多模型改进的stacking集成学习分类器。针对鱼类回波特征tpca,使用3折交叉验证的方法将训练集分为3份,生成训练子集1,训练决策树模型,记为分类器1,将训练子集的预测值拼凑起来,记为a1;同样地,针对鱼类回波特征spca,使用3折交叉验证的方法将训练集分为3份,生成训练子集2,训练adaboost模型,记为分类器2,将训练子集的预测值拼凑起来,记为a2;针对鱼类回波特征sgcnn,使用3折交叉验证的方法将训练集分为3份,生成训练子集3,训练前馈神经网络模型,记为分类器3,将训练子集的预测值拼凑起来,记为a3。将a1,a2,a3并列合并得到一个新的矩阵作为元学习器的训练集。
每一个基学习器的具体训练流程如图4所示。针对某一种基学习器,首先将特征训练集分为3份,对于每一次的交叉验证包含两个过程:1.基于前两份训练模型;2.基于训练生成的模型预测另外一份的分类结果。重复上述步骤,直至每一份都预测出来。整个步骤完成后,将整个trainingdata的预测值拼凑起来,记为a1,作为元学习器的输入。
基于训练得到的基学习器分类结果,训练基于多模型改进的stacking集成学习元学习器。将基学习器得到的a1,a2,a3并列合并为一个新的矩阵作为元学习器的训练集,训练多元逻辑回归模型,得到最终改进的stacking集成学习分类器。
逻辑回归算法作为判别式的广义线性回归分析模型,在二分类和多分类等问题中得到了广泛应用。多元逻辑回归模型的具体形式如下
其中,k是分类的数目,y为输出,k代表某种分类类别,x是输入n维特征向量,θ=[θ1,θ2,...,θk]为模型的回归参数向量,
对于测试集,如图5流程所示,首先将鱼类回波信号进行预处理后,分别提取特征tpca、特征spca和特征sgcnn;将三种特征分别作为分类器1、分类器2和分类器3的输入,利用各基分类器对测试集进行分类,将分类结果作为多元逻辑回归学习器的输入,获得的多元逻辑回归学习器输出即为最终分类结果。水池实验中采用本发明的方法对鲫鱼、黑鱼、草鱼的分类正确率如表1所示。由表1可知,不同的分类方法其分类能力各有不同,在不同特征上的表现也不尽相同:对于特征sgcnn,前馈神经网络的分类正确率较高,证明两者有更好的适配性;对于其他特征,adaboost集成学习分类方法表现较好,表明集成学习可以提高分类性能。在所有分类方法中,本发明所提出的基于多模型改进的stacking集成学习分类方法具有最高的分类正确率,其通过融合不同的回波特征和分类方法适配组合,对其进行再学习,最大程度提高基学习器的多样性和准确性,实验结果证明其在提升鱼种分类性能方面取得了不错的效果。
表1水池实验鱼类回波特征基于多模型改进的stacking集成学习分类方法与其他方法分类正确率比较
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。