一种多任务稀疏贝叶斯极限学习机回归方法
技术领域
本发明属于机器学习和土木工程技术领域,特别是涉及一种多任务稀疏贝叶斯极限学习机回归方法,所述方法适用于并非来自同一回归任务但却统计相关的数据。
背景技术
在数据量日趋庞大的当今时代,人工智能概念受到越来越广泛的关注。作为人工智能的核心部分,机器学习算法是赋予机器以人思考能力的部分。通过机器学习算法获得数据中隐含的函数关系,越来越普遍的使用在我们的日常生活中,解决了许多之前不能解决的问题。例如在岩土工程领域,对粘性土而言,液性指数、竖直有效应力、预固结应力、不排水抗剪强度、排水抗剪强度这五个参数之间的相关关系极为重要。如何利用实验实测数据拟合出高精度的参数回归关系公式是很有价值的科学问题。机器学习算法以其强大的逼近性能成为了这一科学问题的解决方案之一,针对实际土木工程问题,采用合适的机器学习算法加以解决,甚至从机器学习算法理论出发进行针对性的基础研究,是目前亟待开展的研究工作。
神经网络方法在几起几落后,随着近年来深度学习算法展现出的强大性能而再度受到人们关注。极限学习机作为其中较为经典的一个算法,通过单隐含层的简单结构,以最小二乘方法求解线性问题得到输出层权值,从而实现了极快的运算速度和较好的精度,并因此受到广泛关注。
但极限学习机算法中存在以下非常明显的不足:1、极限学习机通过最小二乘方法求解输出层权值向量,极易产生过拟合。2、极限学习机的性能严重依赖于隐含层神经元个数。相关理论研究已经证明,极限学习机的隐含层神经元个数足够多时,该模型可以以任意精度逼近数据点。但隐含层神经元个数的确定往往是人为的,这也是产生过拟合现象的主因。3、极限学习机一般在隐含层神经元取几百至几千时才能达到较高的精度,这将导致一个极为庞大的网络结构,其中必然存在许多冗余部分。
稀疏贝叶斯学习通过设置超参数来对待求解权值进行稀疏建模,可以得到待求解权值的后验概率分布且权值向量中大多数项均为零项。因此近几年提出的稀疏贝叶斯极限学习机将稀疏贝叶斯学习与极限学习机模型进行了结合,通过得到的稀疏输出层权值对隐含层神经元进行了裁剪,有效的缩减了神经网络规模,并且通过稀疏贝叶斯学习自动寻找训练精度和模型复杂度之间平衡点的能力,缓和了极限学习机中严重的过拟合现象,在一些数据集中取得了更优秀的结果。
从稀疏贝叶斯学习角度来说,传统稀疏贝叶斯学习由于其似然函数建模为线性函数,导致稀疏贝叶斯学习仅适用于线性问题。通过前置单层随机神经网络,即极限学习机的前端,可以将输入特征从低维映射到随机高维空间,从而解决线性不可分问题。由此可将稀疏贝叶斯学习从仅适用于线性问题推广到适用于非线性问题。
在实际问题中,我们往往拥有一些并非来自同一工况但却统计相关或并非针对同一目标而是针对若干个相关目标的数据。这些数据之间构成了多任务情景。研究如何将这些数据一起利用起来,服务于各自工况的模型训练,是非常有意义的。例如在岩土工程中,对于粘性土,可以通过液性指数、竖直有效应力两项信息分别推断预固结应力和土壤灵敏度,但考虑到预固结应力和土壤灵敏度之间具有相关关系,由此可将两个独立的单任务问题联合进行多任务学习,利用不同任务间的相关性进行学习,不仅能挖掘多余的数据信息,还可以避免针对单个任务的过拟合,提高泛化性能。基于层次稀疏贝叶斯模型的多任务学习算法已经得到了广泛的应用,如在压缩采样领域等。
目前,使用极限学习机算法进行多任务学习的例子还并不多,相关理论研究开展较少。将极限学习机及其相关算法推广到多任务情境下是亟待解决的问题。
发明内容
本发明目的是为了解决现有技术中的问题,提出了一种多任务稀疏贝叶斯极限学习机回归方法。
本发明是通过以下技术方案实现的,本发明提出一种多任务稀疏贝叶斯极限学习机回归方法,具体包括以下步骤:
步骤一、对于单隐含层神经网络,由零均值高斯分布随机生成神经网络输入层权值矩阵Φ和隐含层神经元偏置矩阵B,对全部L个任务的输入xi(i=1...L)均使用相同的Φ和B映射到高维空间Hi=f(xiΦ+B),从而构建L个任务的基函数矩阵Hi;
步骤二、通过多任务稀疏贝叶斯学习方法,从L个任务的基函数矩阵Hi和L个任务的输出ti(i=1...L)中推断出L个任务共享的超参数αj,j=1...M,M为隐含层神经元个数,并得到每个任务各自的输出层权值wi的后验概率分布;
步骤三、从输出层权值wi的后验概率分布中选取合适的值作为神经网络输出层权值,一般令每个任务输出层权值wi=μi,μi为后验概率分布最大值处,在高斯分布中为均值。
进一步地,所述步骤一具体为:
步骤1.1、基于极限学习机的回归问题能够统一写为:
其中,w
j为输出层权值,θ
j为与第j个隐含层节点相连输入层权值与隐含层偏置参数,对于全部M个隐含层节点Θ=[θ
1,...,θ
M],包含了从零均值高斯分布中随机生成的神经网络输入层权值矩阵Φ和隐含层神经元的偏置矩阵B;h
j(·)为激活函数,极限学习机中一般取为
步骤1.2、对全部L个任务,均使用相同输入层至隐含层参数Θ,即全部L个任务的输入层权值矩阵Φ和隐含层神经元偏置矩阵B均相同,仅输入xi不同;从而由不同任务中得到L个行数不同、列数相同的基函数矩阵:
其中,N为数据量;
步骤1.3、步骤1.1中的回归问题改写为矩阵形式:
Hw=T
对于极限学习机而言,通过求H的M-P广义逆能够求解输出层权值w;在多任务稀疏贝叶斯极限学习机中,我们通过层次贝叶斯模型对输出层权值w进行求解。
进一步地,所述步骤二具体为:
步骤2.1、对于第i个任务的输出层权值wi,其先验分布建模为零均值高斯分布:
其中,α0为噪声精度参数,其先验建模为Gamma分布;
p(α0|a,b)=Ga(α0|a,b)
其中,a是形状参数,b是逆尺度参数;
步骤2.2、对于第i个任务的输出层权值wi,其后验分布经推导为:
其中:
A=diag(α1,α2,...,αM)
步骤2.3、超参数α通过经验贝叶斯方法估计,并可得到输出层权值的后验分布μ,∑:具体为:
步骤2.3.1、初始化α:对j=1...M分别计算证据函数增量:
其中:
Ki=Ni+2a
si,,j=H′i,,jHi,j
qi,j=H′i,jti
gi,,j=t′iti+2b
对证据函数增量最大的神经元j,重新估计其对应的超参数αj:
步骤2.3.2、如用j表示α发生更新的基函数序号,k表示当前已考虑的基函数序号,l表示全部基函数序号,只需进行如下步骤的循环即可求解参数和超参数α,μ,∑:
(1)通过αj可计算出每个任务的μi,∑i,Si,l,Qi,l,Gi;
(2)通过以下公式计算判别式θj
si,j=αjSi,j/(αj-Si,j)
qi,j=αjQi,j/(αj-Si,j)
θ
j大于0的基函数保留在模型中,θ
j小于0的基函数从模型中剔除,由此形成三种状态:增添基函数、删除基函数、重新估计基函数。对应三种状态分别求出证据函数的增量,选择增量最大的方案对α
j进行修改,即令
表示更新后的超参数α
j,重复上述过程进行循环;
对于增添基函数、删除基函数和重新估计基函数,下面给出αj更新后证据函数增量及μi,∑i,Si,l,Qi,l,Gi的计算方法,对于多任务情况,总的证据函数增量只需对所有任务的证据函数增量进行求和即可;
a.增添基函数
通过以下公式计算
μ
i,∑
i,S
i,l,Q
i,l,G
i:
其中,∑i,jj=(αi,j+Si,j)-1,μi,j=∑i,jjQi,j,ei,j=Hi,j-Hi∑iH'iHi,j
b.重新估计基函数
通过以下公式计算
μ
i,∑
i,S
i,l,Q
i,l,G
i:
c.删除基函数
通过以下公式计算
μ
i,∑
i,S
i,l,Q
i,l,G
i:
步骤2.4、当证据函数增量小于阈值时,结束循环,得到单隐含层神经网络输出层权值的后验概率分布均值μi,令每个任务的输出层权值wi=μi即可,得到的每个任务的输出层权值wi为高度稀疏的,且对于所有任务,wi中非零项出现在相同位置。
本发明的有益效果为:
1.本发明所述多任务稀疏贝叶斯极限学习机可以在多任务情境下取得相比于极限学习机和稀疏贝叶斯极限学习机更高的预测精度。
2.本发明有效的缓解了极限学习机中的过拟合问题。
3.本发明得到的最终神经网络架构节点个数极少,形式紧凑。
4.本发明将稀疏贝叶斯学习的适用范围从线性问题推广为非线性问题。
附图说明
图1为本发明所述多任务稀疏贝叶斯极限学习机回归方法的操作流程图;
图2为本发明中稀疏贝叶斯极限学习机的示意图;
图3为本发明针对统计相关的模拟数据集进行多任务回归的结果对比图;其中(a)为任务1,(b)为任务2,(c)为任务3,(d)为任务4,(e)为任务5;
图4为本发明针对模拟数据集的多任务稀疏贝叶斯极限学习机预测结果图;其中(a)为任务1,(b)为任务2,(c)为任务3,(d)为任务4,(e)为任务5;
图5为本发明针对岩土工程实际数据集进行多任务回归的结果对比图;其中(a)为任务1,(b)为任务2;
图6为本发明针对岩土工程实际数据集的多任务稀疏贝叶斯极限学习机预测结果图;其中(a)为任务1,(b)为任务2。
具体实施方式
下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是为了解决现有稀疏贝叶斯极限学习机无法在多任务情境下实现数据交互从而充分利用数据的问题,而提出的一种多任务稀疏贝叶斯极限学习机回归方法。适用于多组数据之间统计相关的多任务回归问题。本方法可应用于岩土工程等方向的回归问题中。
结合图1,本发明提出一种多任务稀疏贝叶斯极限学习机回归方法,具体包括以下步骤:
步骤一、对于单隐含层神经网络,由零均值高斯分布随机生成神经网络输入层权值矩阵Φ和隐含层神经元偏置矩阵B,对全部L个任务的输入xi(i=1...L)均使用相同的Φ和B映射到高维空间Hi=f(xiΦ+B),从而构建L个任务的基函数矩阵Hi。
步骤二、通过多任务稀疏贝叶斯学习方法,从L个任务的基函数矩阵Hi和L个任务的输出ti(i=1...L)中推断出L个任务共享的超参数αj(j=1...M,M为隐含层神经元个数),并得到每个任务各自的输出层权值wi的后验概率分布。
步骤三、从输出层权值wi的后验概率分布中选取合适的值作为神经网络输出层权值,一般令每个任务输出层权重wi=μi,μi为后验概率分布最大值处,在高斯分布中为均值。
所述步骤一具体为:
步骤1.1、基于极限学习机的回归问题可以统一写为:
其中,w
j为输出层权值,θ
j为与第j个隐含层节点相连输入层权值与隐含层偏置参数,对于全部M个隐含层节点Θ=[θ
1,...,θ
M],包含了从零均值高斯分布中随机生成的神经网络输入层权值矩阵Φ和隐含层神经元的偏置矩阵B。h
j(·)为激活函数,极限学习机中一般取为
步骤1.2、对全部L个任务,均使用相同输入层至隐含层参数Θ,即全部L个任务的输入层权值矩阵Φ和隐含层神经元偏置矩阵B均相同,仅输入xi不同。从而由不同任务中得到L个行数可不同、列数相同的基函数矩阵:
其中,N为数据量。
步骤1.3、步骤1.1中的回归问题可改写为矩阵形式:
Hw=T
对于极限学习机而言,一般通过求H的M-P广义逆从而求解输出层权值w。在多任务稀疏贝叶斯极限学习机中,我们通过层次贝叶斯模型对输出层权值w进行求解。
所述步骤二具体为:
步骤2.1、对于第i个任务的输出层权重wi,其先验分布建模为零均值高斯分布:
其中,α0为噪声精度参数,其先验建模为Gamma分布。
p(α0|a,b)=Ga(α0|a,b)
其中,a是形状参数,b是逆尺度参数;
步骤2.2、对于第i个任务的输出层权重wi,其后验分布经推导为:
其中:
A=diag(α1,α2,...,αM)
步骤2.3、超参数α通过经验贝叶斯方法估计,并可得到输出层权值的后验分布μ,∑:具体为:
步骤2.3.1、初始化α:对j=1...M分别计算证据函数增量:
其中:
Ki=Ni+2a
si,j=H′i,jHi,j
qi,j=H′i,jti
gi,j=t′iti+2b
对证据函数增量最大的神经元j,重新估计其对应的超参数αj:
步骤2.3.2、如用j表示α发生更新的基函数序号,k表示当前已考虑的基函数序号,l表示全部基函数序号,只需进行如下步骤的循环即可求解参数和超参数α,μ,∑:
(1)通过αj可计算出每个任务的μi,∑i,Si,l,Qi,l,Gi;
(2)通过以下公式计算判别式θj
si,j=αjSi,j/(αj-Si,j)
qi,j=αjQi,j/(αj-Si,j)
θ
j大于0的基函数应该保留在模型中,θ
j小于0的基函数应从模型中剔除,由此形成三种状态:增添基函数、删除基函数、重新估计基函数。对应三种状态分别求出证据函数的增量,选择增量最大的方案进行对α
j进行修改,即令
表示更新后的超参数α
j,重复上述过程进行循环。
对于增添基函数、删除基函数、重新估计基函数,下面给出αj更新后证据函数增量及μi,∑i,Si,l,Qi,l,Gi的计算方法,对于多任务情况,总的证据函数增量只需对所有任务的证据函数增量进行求和即可。
a.增添基函数
通过以下公式计算
μ
i,∑
i,S
i,l,Q
i,l,G
i
其中,∑i,jj=(αi,j+Si,j)-1,μi,j=∑i,jjQi,j,ei,j=Hi,j-Hi∑iH′iHi,,j
b.重新估计基函数
通过以下公式计算
μ
i,∑
i,S
i,l,Q
i,l,G
i
c.删除基函数
通过以下公式计算
μ
i,∑
i,S
i,l,Q
i,l,G
i
步骤2.4、当证据函数增量小于阈值时,结束循环,得到单隐含层神经网络输出层权值的后验概率分布均值μi,令每个任务的输出层权值wi=μi即可。得到的每个任务的输出层权值wi为高度稀疏的,且对于所有任务,wi中非零项出现在相同位置。
实施例
本实施方式是将本发明应用于岩土工程中针对粘性土的参数关系回归问题。图1给出了本发明所述方法的流程图。图2给出了本发明中稀疏贝叶斯极限学习机的神经网络架构和求解模式。图3、图4给出了模拟数据集中本发明应用优势及应用效果。
针对ISSMGE-TC304数据库中CLAY数据集,以粘性土的液性指数、竖向有效应力、预固结应力、不排水抗剪强度、排水抗剪强度五个物理量为对象,研究参数之间的回归关系如下:
所述步骤一具体为:对于任务1,以液性指数、竖向有效应力为输入,土壤灵敏度的对数值为输出。对于任务2,以液性指数、竖向有效应力为输入,预固结应力的对数值为输出。两个任务隐含层神经元个数均设置为100,输入层权值和隐含层偏置均由标准正态分布中随机抽取,针对两个任务分别构建基函数矩阵。
所述步骤二具体为:使用多任务稀疏贝叶斯学习机在训练集上对两个任务的基函数矩阵和对应输出进行联合求解,推断出L个任务共享的超参数αj(j=1...M,M为隐含层神经元个数,这里为100),并得到每个任务各自的输出层权值wi的后验概率分布。
所述步骤三具体为:对于该回归问题,输出层权值的后验分布为高斯分布,取最大后验估计对应值为高斯分布均值。得到输出层权值,针对此问题非0的输出层权值仅为10个,证明大部分隐含层特征对回归问题无贡献。由训练集获得的输出层权重与随机抽取的输入层权值和隐含层偏置共同用于对测试集进行预测。多任务稀疏贝叶斯极限学习机、稀疏贝叶斯极限学习机、极限学习机三种方法的预测精度对比如图5所示,结果证明了多任务稀疏贝叶斯极限学习机的性能优势。多任务稀疏贝叶斯极限学习机的预测效果如图6所示。
以上对本发明所提出的一种多任务稀疏贝叶斯极限学习机回归方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。