摘 要:针对隐式极限状态可靠性分析问题,提出了一种支持向量机响应面法,该方法采用了与经典响应面法类似的迭代思想,由支持向量回归机替代经典响应面法中的固定多项式函数来构建响应面,并结合一次二阶矩法形成迭代过程。在此基础上,还对训练样本提出了一种改进的选取方法,从而进一步提高方法的效率。文中将所提方法与多种经典可靠性分析方法的计算结果对比分析,改进的支持向量机响应面法精度较高,调用结构分析程序的次数最少。
1 引言
计算失效概率是结构可靠性学科的主要目标之一,然而对于多数实际工程结构无法建立显示功能函数,结构响应只能通过数值方法获得,例如有限元方法,这给失效概率的计算带来困难。从理论上讲,任何一种可靠性方法都可以用于隐式极限状态的分析[1],但在实际操作时会遇到难以克服的困难,如基于梯度计算的可靠性分析方法[2],其在用于隐式情况的可靠性分析时就因隐式梯度函数不易求得而很难实施,基于数字模拟的可靠性分析方法[3]则由于需要反复计算抽样点处隐式功能函数值的工作量太大而不能为工程所接受。从目前的研究成果来看,响应面法[1,4-8]RSM(Response Sur-face Method)和人工神经网络方法[1,8-10]ANN(Ar-tificial Neural Network)在隐式极限状态可靠性分析中占据了主要地位。响应面法和人工神经网络法均可归为回归方法,因为它们的目标都是通过经验风险最小化原则构建隐式功能函数的近似显示表达式[8]。经典响应面法选用一阶或二阶不含交叉项的多项式来模拟隐式功能函数,在迭代的每一步中按一定的原则抽取样本,采用最小二乘法求解多项式系数,以此多项式函数的失效概率代替结构的失效概率[4-8]。常规响应面法的计算精度主要受到两方面因素的影响:响应面函数形式和抽样点位置[7]。而神经网络的拓扑结构及参数选择、过学习和局部最优等问题则是神经网络在隐式极限状态可靠性分析中主要的障碍。
由于响应面法和神经网络方法存在一些不可避免的缺点,寻找隐式极限状态可靠性分析的新方法是有必要的。支持向量机[11-13]SVM(SupportVector Machine)实现了结构风险最小化思想,是在统计学习理论指导下发展起来的新学习算法,最早是针对模式识别问题提出的,其最突出的优点是小样本学习和泛化能力。VapNIk将支持向量机推
广到非线性回归估计中,形成了支持向量回归机SVR(Support Vector Regression)[12,13],在结构可靠性分析领域支持向量回归机可用于逼近隐式功能函数。Rocco和Moreno将支持向量机方法用于评估网络系统的可靠性[14]Hurtado和Al-varez将结构可靠性分析问题考虑成模式识别问题,采用支持向量机与随机有限元相结合对结构进行可靠性分析[15]。Hurtado借助统计学习理论论证了支持向量机分类算法适合于结构可靠性分析问题,尤其是小样本情况[8]。国内的研究者在这方面也取得一定的成果[16-18]。然而支持向量回归机用于可靠性分析的研究尚未充分展开。基于以上分析,本文建立支持向量机响应面模型,采用支持向量回归机逼近极限状态函数,将支持向量回归机与一次二阶矩方法FORM(First Order ReliabilityMethod)结合后,形成一个迭代求解过程,既保证计算精度又达到降低确定性结构分析的次数的目的。文中对所提方法与经典的响应面法、一次二阶矩法以及Monte Carlo模拟方法MCS(MonteCarlo Simulation)进行了比较。
3.1 所提方法的基本步骤
(1)以均值点为抽样中心,沿每个坐标正、负方向偏离该坐标变量f(常称为响应面系数)倍标准差来选定2n+1个抽样点后采用支持向量回归机确定第一次拟合的响应面g^(x),由FORM确定设计点x(1)D。
(3)以x(1)M作为新抽样中心,再像第(1)步一样获取2n+1个新抽样点,将以前的抽样点与本次抽样点组合构成新训练样本,确定新的支持向量回归响应面和设计点x(2)D。
(4)重复(2) ~(3)步骤直到前后两次设计点之间的距离满足精度要求。
(5)由数字模拟法计算最终失效概率。假设迭代计算进行到了第k次,从以上的迭代过程可以看出支持向量机响应面法在这一步迭代计算中使用了(2n+1)k个训练样本,而经典响应面法只用到每步的2n+1个样本,也就是说本文方法更充分地利用了已经获得的样本所包含的信息。经典响应面法经过改进后也可以更充分的利用样本信息[19]。
3.2 训练样本的尺度变换
对输入数据进行尺度变换的目的是减少计算机的舍入误差,提高训练SVR的稳定性和SVR的泛化性。基本随机变量作为输入数据常常由于物理意义和量纲不同,造成各自取值范围的差别较大,在SVR训练中容易出现不稳定现象,即使训练成功,泛化性能也很差。所以,基本随机变量按下式变换,使它们在训练中具有同等重要的地位。
3·3 参数选择
响应面系数f的选取一般按照工程上的3σ原则取f=3。但如果固定f=3,常常造成收敛速度慢且计算精度差。本文取f的初值为3,以确保训练样本的抽样范围不会丢失设计点,迭代计算中按开平方原则逐渐减小f的取值。
核函数函数除了前面介绍的两种外,还有多层感知核、Fourier级数核及样条核等[12]。本文选用了多项式核,文中的算例也表明多项式核函数适合于可靠性分析。最近Cherkassky和Ma通过分析提出了一种比较实用的不敏感参数ε和惩罚参数C选择方法[20]:
式中 y-和σy分别为训练样本集中响应值的均值和标准差,σ为回归模型中附加噪声的标准差,l为训练样本量。然而在涉及到迭代的可靠性分析中使用这两个公式,效果很不理想。这是因为迭代算法向设计点逼近的过程中,y-逐渐趋近于0,而σy逐渐变得很大,由式(8)确定的C值失去了意义;同样由于迭代的缘故,使得σ的估计值σ^逐渐增大,σ在式(9)中占据主导地位使得ε的取值随着样本数l的增加而增大,这显然违背了Cherkassky和Ma最初设计:ε取值随着样本数l的增加而较小。式(8)是Cherkassky和Ma总结了已有的研究成果的基础上给出的,最根本的原则是C的取值与训练集中响应值的范围有关,本文采用下式确定C值且在迭代过程中保持不变,取得了较好的效果
3·4 训练样本选择方法的改进
支持向量机响应面法在使用过程中会遇到样本点在设计点周围区域过密的问题,这是因为在每步迭代时增加了2n+1个训练样本。对于高可靠度结构,希望在保证精度的基础上尽量减少结构分析次数,设计点周围过密的样本点带来了机会。除第一次迭代外,以后每步迭代中只增加两个样本,一个为前次迭代的设计点,另外一个为由式(6)确定的新抽样中心。这样做可能会增加迭代次数,但是每步仅增加了两次结构分析结算,若k步迭代后收敛,共计用到了2(n+k)+1样本。
4 算 例
为验证本文所提方法的合理性和可行性,给出了如下两个算例,对算例采用了不同的方法进行失效概率的计算,并对计算结果进行了比较。算例结果的比较均列入表格中,在所有的表格中MC表示Monte Carlo模拟方法计算结果并把它作为精确结果进行比较,FORM表示一次二阶矩方法计算结果,RSM表示经典响应面法计算结果,SVM1表示支持向量机响应面方法计算结果,SVM2表示改进训练样本点选择方法后的支持向量机响应面方法计算结果。
算例2 十杆结构的可靠性分析
对图1所示平面10杆结构进行可靠性分析,水平和竖直杆的长度均为L,每根杆的截面积为Ai(i =1,2…,10),弹性模量为E,外载P1,P2和P3作用图上所示位置。设L,Ai(i =1,2…,10)、E和Pi(i =1,2,3)为15个服从正态分布的基本随机变量,分布参数列入表2。以2节点纵向位移不超过4 mm建立极限状态函数,失效概率计算结果列入表3。
从失效概率计算结果可以看出FORM方法计算结果最差,因为其只考虑了功能函数的线性项;支持向量机响应面法的计算精度比经典响应面法高,但是函数调用次数一般比经典响应面法高;改进训练样本选取方法的支持向量机响应面的精度比经典响应面好,计算量是所有比较方法中最小的。
5 结 论
为了使结构可靠性分析计算量降低到可接受水平,本文建立了支持向量机响应面法模型,该方法采用支持向量回归机构建输入变量与结构输响应之间的函数关系。所提方法适用于非线性隐式极限状态函数的可靠性分析,增加非正态变量正态化模块后,可用于涉及到非正态随机变量的情况。本文还针对支持向量回归机的参数选择,提出了更适合迭代可靠性算法的参数选择方法。算例检验表明:本文方法是实用有效的,为解决含非线性隐式极限状态函数结构的可靠性分析提供了新途径。




