基于BP神经网络的参数迁移学习算法研究
2019-05-24张文田
张文田
摘要:在大数据时代下,现实领域中存在很多带标签样本较少的数据集,传统的神经网络算法在处理这种数据集时分类准确率较低,因此本文提出了基于BP神经网络的参数迁移学习算法,该算法以传统的BP神经网络为框架,通过对源领域与目标域之间的相似度学习,把源领域中有用的参数信息迁移到目标域中,提高目标域中测试集的分类准确率。通过对UCI数据集进行实验,证明了在小数据样本下该算法比传统的神经网络算法有更好的效果。
关键词 :BP神经网络;参数迁移学习;相似度;小数据样本;大数据
中图分类号:TP181 文献标识码:A 文章编号:1009-3044(2019)04-0189-03
Abstract:In the era of big data, there are many data sets with few label samples in the reality field. The traditional neural network algorithm has low classification accuracy when dealing with this data set. Therefore, this paper proposes a BP neural network based parameter transfer learning algorithm. Based on the traditional BP neural network, the algorithm migrates the useful parameter information in the source domain to the target domain by learning the similarity between the source domain and the target domain, and improves the classification accuracy of the test set in the target domain. Experiments on the UCI dataset show that the algorithm has better effects than the traditional neural network algorithm under small data samples.
Key words: BP neural network;parameter transfer learning;similarity;small data samples;big data
1 引言
随着大数据和云计算等新技术的发展,机器学习成为大数据时代主要的技术基石之一,传统的机器学习对数据有两个基本要求:1)监督算法需要利用大量带标签的数据,需要有足够的训练样本;2)训练数据和测试数据需要满足独立同分布[1]。但是在现实场景中,有很多领域不具备大量的训练数据,例如医学、安全监控、任务追踪等领域;由于现实场景的数据多有缺失或噪声,导致训练数据集和测试数据集不在同一分布下[2]。在这两种情况下,利用传统的机器学习进行建模会导致分类准确率不高,逼近效果较差,因此迁移学习应运而生,迁移学习就是为了更好地利用各种数据而提出的新的研究方向[3]。
迁移学习的学习机制是利用源领域已有的知识对不同但相关的目标领域进行求解的一种新的机器学习方法[4]。迁移学习作为一种新的机器学习方法引起了国内外专家和学者的广泛关注和研究。Pan[5]、Weiss[6]、庄福振[4]等人对迁移学习进行了比较深入的综述。按照迁移内容划分,迁移学习可分为基于特征、基于参数、基于实例以及基于关系这四种类型。按照源领域的个数,迁移学习可以分为单源迁移学习和多源迁移学习。Dai 等人[7]提出了 TrAdaBoost 算法、Pan 等人[8]提出了TCA 算法、张倩等人[9]提出的多源动态TrAdaBoost实例迁移学习算法、Yao 等人[10]提出了TaskTrAdaBoost和 MultiSourceTrAdaBoost 算法、Eaton 等人[11]提出的 TransferBoost 算法。
以上的迁移学习方法多以决策树和支持向量机(SVM)作为基学习器,以BP神经网络为基学器的迁移学习还未被探讨过,所以本文提出一种基于BP神经网络的迁移学习算法Tr-BP。该算法以BP神经网络为基学习器,在真实标签和预测标签误差最小的约束下进行相似度学习,得到源域与目标域的相似度,最后构建适用于目标域的新的神经网络分类器。将新的模型应用于目标域,提高了目标域的分类准确率,并通過实验验证了这一算法。
2 相关工作
2.1 经典的BP神经网络
由图1可知,含有一个隐含层的BP神经网络可分为两部分,第一部分是输入层与隐含层的连接,第二部分是隐含层与输出层的连接。本文重点研究的是BP神经网络的权重参数[Wnk]和[Vjk]以一定的相似度迁移到目标领域。在BP神经网络中,利用梯度下降法优化损失函数[Ei],更新权重参数[Wnk]和[Vjk],更新公式如式(4),(5),(6),(7),其中[η]为学习率,在训练时可以先把[η]固定一个值,然后根据拟合效果动态调整。把更新过的权重系数作为下一个样本的权重系数,一直循环下去,当损失函数达到阈值时权重参数达到最优,得到适合数据样本的BP神经网络分类器。
3.1 Tr-BP算法原理构建
Tr-BP算法原理如下图2所示,Tr-BP算法首先运用源领域的数据样本[DT]按照式(1)-(7)训练BP神经网络,使得在训练集上的经验风险最小化,得到最优的权重参数矩阵[W'T],在训练过程中[WT]的初始值[W0T]是随机初始化。根据参数迁移学习以及相似度学习的策略,用[as]表示源领域与目标领域的相似程度,定义为相似系数,则[Ws=asW'T],[as]的初始值[a0s]可以通过网格搜索进行选取,取值范围为[0,0.1,1]。然后利用目标域中带标签的数据[Tv]训练BP神经网络,其中网络权重参数矩阵[Ws]的初始值[W0s=a0sW'T],在利用梯度下降法进行优化时,不再优化[Ws],而是优化相似系数[as],当训练集的经验风险最小化时,得到最优的[a's],此时得到目标域最优的网络权重参数矩阵[W's=a'sW'T]。通过参数迁移以及相似系数的最优化学习,成功把源领域的有用参数信息迁移到目标域中,提高目标域分类的准确率。
3.2 Tr-BP 算法流程
迁移学习目标域分类器具体算法流程如下:
1)通过式(1)-(7)获得适用于源领域的BP神经网络最优的权重参数矩阵[W'T];
2)通过网格搜索的方法选取相似系数的初始值[a0s],选取范围为[0,0.1,1];
3)得到目标域构造的BP神经网络权重系数矩阵初始值[W0s=a0sW'T];
4)利用式(1)-(7)训练目标域构造的神经网络,优化相似系数[as],得到最优的相似系数[a's];
5)得到目标域构造的BP神经网络最优的权重系数矩阵[W's=a'sW'T],因此得到适用于目标域的BP神经网络;
6)最后利用5)得到的BP神经网络预测目标域无标签的数据[Tv]的标签向量。
4 实验结果与分析
4.1 实验准备和说明
4.2 Letter-recognition数据集
本文选取的是UCI中的Letter-recognition数据集,数据集是由A-Z26个英文字母图片组成,每个实例代表一个字母。每个实例有16个特征,每个特征都代表着一定的含义由于数据集本身是整数类型,故需要把数据归一化后方可使用本文把该数据集分成了6组实验,其中母B,D,M,W,E,F为正样本数据,J-Z随机选取作为负样本数据,所选取的目标域与源领域之间是有一定相似性和差异性的,且分布不同但相似,符合迁移学习的前提。本文将第一个字母作为目标任务,另外一个字母作为源领域数据,源领域数据集中正样本有200个,负样本有100个,目标域数据集中正样本有100个,负样本有100个,其中20%作为带标签的训练集,80%作为无标签的测试集。表1是Letter-recognition数据集在多源情况下实验设计的形式。
表2是Letter-recognition数据集的实验结果,结果中加粗的字体是实验中分类效果最好的。通过表2可以看出,Tr-BP算法在各组实验的分类准确率比传统的机器学习准确率都要高,证明了该算法的实用性较强。从结果来看,传统的机器学习没有引入迁移学习,同时也没有引入目标域与源领域之间的相似度,无法有效的学习出源领域的参数信息,因此实用性低于Tr-BP算法。
从上表1可以看出,本文设计的实验是以两个字母为一组,分别进行令字母作为目标域与源领域之间相互替换。
4.3 Wine Quality数据集
UCI中的Wine Quality 数据集记录了红酒和白酒两个数据集信息,每个数据集的特征为:fixed acidity,volatile acidity,citric acid,residual sugar,chlorides,free sulphurdioxide,density,pH,sulphates,alcohol;标签表示酒的质量:quality,取值范围是 0~10,即质量越好越接近10。其中红酒有1599个样本,白酒有4898 个样本。所有样本数据需要进行归一化处理。本文随机取白酒中的600个作为源领域,红酒的400个样本作为目标域,取目标域的10%为训练集,剩余的90%为测试集。实验结果如表 3 所示。从结果中可以看出在预测白酒质量上Tr-BP算法比传统的神经网络算法效果好,可以更好地预测小样本数据,当白酒带标签样本很少时,传统的机器学习不能很好地对白酒的质量进行分类。红酒样本与白酒样本具有相同的特征空间,分布不同但相似。因此迁移学习可以应用于不同分布但相似的数据集,从源领域中可以提取可用于目标域的参数历史知识,帮助小样本的数据得到更好的预测效果。
5结论
本文以经典的BP神经网络为基学习器,增加源领域与目标域的相似度,引入参数迁移学习,把源领域中有用的参数信息迁移到目标域中。针对在带标签样本数据少的情况下,传统的神经网络预测准确率低,逼近效果差的问题进行讨论,提出了基于BP神经网络的参数迁移学习算法,该算法把参数迁移学习与相似度学习相结合,使得该算法可以有效地学习源领域与目标领域之间的相似度,并通过实验证明了在带标签样本较少,源领域与目标域分布不同但相似的情况下,引入参数迁移学习算法可以提高预测准确率,有效地解决了传统神经网络逼近小样本数据集时准确率低的缺点。
参考文献:
[1] 庄福振,罗平,何清,等.迁移学习研究进展[J].软件学报,2015,26(1):26-39.
[2] 郑雪辉, 王士同.基于迁移学习的径向基函数神经网络学习[J].计算机工程与应用唯一官方网站, 2016, 52(5):6-10.
[3] Pan S J, Yang Q. A Survey on Transfer Learning[J].IEEE Transactions on Knowledge & Data Engineering, 2010, 22(10):1345-1359.
[4] huang F, Luo P, He Q, et al. Survey on transfer learning research[J].Journal of Software, 2015(26):26-39.
[5] Pan S J, Yang Q. A Survey on Transfer Learning[J].IEEE Transactions on Knowledge & Data Engineering,2010,22(10):1345-1359.
[6] Weiss K, Khoshgoftaar T M, Wang D D. A survey of transfer learning[J].Journal of Big Data, 2016,3(1):9.
[7] Dai W, Yang Q, Xue G R, et al. Boosting for transfer learning[C]//International Conference on Machine Learning,2007.
[8] Pan S J, Tsang I W, Kwok J T,et al. Domain Adaptation via Transfer Component Analysis[J].IEEE Transactions on Neural Networks,2011,22(2):199-210.
[9] Qian Z, Ming L I, Xue-Song W, et al.Instance-based Transfer Learning for Multi-source Domains[J]. Acta Automatica Sinica,2014,40(6):1176-1183.
[10] Yao Y, Doretto G. Boosting for transfer learning with multiple sources[J].2010.
[11] Eaton E, Desjardins M. Selective transfer between learning tasks using task-based boosting[C]//Aaai Conference on Artificial Intelligence,AAAI Press,2011.
【通聯编辑:唐一东】