关于代理模型的一些理解

为什么要使用代理模型?

在实际问题中,优化问题的解空间一般规模较大且复杂,导致求解过程也非常复杂。优化问题逐渐向复杂的高维、非线性、多极值的昂贵优化问题发展,这类问题的计算时间成本十分昂贵。
比如:使用进化算法来搜索某实际问题最优解时,每一代进化都需要大量真实值适应度评估,这会大大消耗求解的时间。

构建代理模型的步骤

构建代理模型以下三步:
(1)选择适当的实验设计方法用于获取构建代理模型的初始样本点
(2)选择合适的一个或多个代理模型用于近似表达数据
(3)运用所构建的一个或多个代理模型

1.选择适当的实验设计方法用于获取构建代理模型的初始样本点

代理模型的性能与样本点在建模空间的分布和样本点的数量有极大关系,合适数量且分布均匀的样本点能够很好地反应真实模型在空间的变化趋势与信息,从而能够保证在使用代理模型时其提供的信息有较高的精度与可信度。
相反,如果样本点选取不当会导致代理模型的构建成本过高且拟合精度较差以致提供错误的信息,甚至代理模型无法成功建立。
因此,采样方法(试验设计方法)很重要,根据采样的时间和是否存在自适应,分为一次性采样和序列采样

(1)一次性采样

一次性采样是指一次性采取足够数量的样本点并基于这些样本点构建代理模型。
常用的一次性采样包括:拉丁超立方实验设计(LHD)、全因子实验设计(FFD)、正交试验设计(OD)、均匀实验设计(UD)等。
拉丁超立方实验设计是一种在全局范围内,满足一定约束条件下随机生成均匀样本点的试验设计方法。
在这里插入图片描述
如上图是2维3采样点情况下LHD采样结果。

全因子实验设计是在所有水平上对每一个因素的所有组合进行实验的一种试验设计方法。
正交试验设计是一种基于正交拉丁方理论和群论、选择具有代表性的样本点进行实验、用实验部分代替全部实验的一种试验方法。

(2)序列采样

序列采样指先采取一部分样本点建立代理模型然后根据代理模型提供的信息自适应的决定下一个采样点,直到满足预定的迭代结束要求。

2.选择合适的一个或多个代理模型用于近似表达数据(代理模型建模方法)

目前,常用的代理模型主要有克里金(Kriging)模型、人工神经网络(Artificial NeuralNetwork,ANN)、径向基函数(Radial Basis Functions,RBF)、支持向量回归模型(SupportVector Machine,SVM)以及多项式回归模型(Polynomial Regression,PRG)等。

(1)Kriging模型

Kriging模型,又称为高斯过程(Guass Process),由一个基于全局的回归模型和一个基于局部误差的非参数高斯随机过程之和构成。
Kriging模型本质上是对待预测点附近一定范围内已知点的信息进行线性加权组合来估计该点的未知信息。Kriging模型通过具有良好连续性和可导性的相关函数的作用表现出良好的局部估计能力,而且对非线性复杂问题有较好的近似效果。

(2)多项式回归模型

多项式回归模型是一种利用一组数据集来拟合非线性系统的线性回归模型。
具有良好的全局逼近性能,形式简单,透明性好(能够显示表达输入变量与输出变量之间的数学关系);但是,当设计变量较多时,抗干扰能力和局部拟合能力差;主要用在低维、非线性程度较低的问题中

(3)径向基函数

径向基函数是一种通过简单函数的加权和插值来复杂的设计空间。RBF模型对响应特性无要求,能够较好地拟合任何种类的函数,包括非线性程度较高的函数,鲁棒性和适应性都较强,同时收敛速度较快,计算成本较低,得到了广泛的运用。

(4)支持向量机回归模型

支持向量机回归模型是支持向量机的一种具体实现,当处于非线性支持向量机回归时,需要通过一个非线性映射将低维数据映射到高维空间中(主要由核函数实现),在高维空间中实现线性支持向量机回归。

3.运用所构建的一个或多个代理模型

将所建立的代理模型运用到实际过程中,例如基于代理模型的进化算法遵循适者生存的原则来模拟自然进化的过程,在此过程中部分个体运用代理模型评价近似结果并筛选出较好的个体,这个预测的近似结果和预筛个体的过程能够在一定程度上减少原仿真模型的仿真或实验次数。

代理模型的局限性

随着问题维度的上升,代理模型构建所花费的样本点数和时间会大幅度地增加,而且也会在一定程度上降低代理模型的精度从而影响其提供信息的可信度,从而会导致代理模型的辅助能力下降。因此,可将目前运用较为广泛的降维技术与代理模型所使用的算法相结合进一步提高在求解高维问题时的效果。

  • 30
    点赞
  • 196
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在MATLAB中建立响应曲面方法(RSM)的代理模型是一个非常常见的任务。RSM是一种统计建模方法,用于分析影响某个特定过程产出的输入变量之间的关系。在MATLAB中,可以使用现成的工具箱和函数来快速而准确地建立RSM代理模型。 首先,需要准备输入和输出数据。可以使用MATLAB的数据导入工具来导入实验数据,然后使用统计工具箱中的函数对数据进行预处理和筛选。接下来,可以使用designexp函数来设计实验方案,以确定需要收集的数据点。然后,使用fitrsmodel函数来建立RSM代理模型,该函数可以根据实验数据自动拟合出合适的响应曲面模型。 在建立代理模型后,可以使用MATLAB的可视化工具箱来对模型进行评估和验证。可以使用plot函数来绘制实际数据点和RSM模型预测值之间的比较图,以评估模型的准确度和可靠性。 另外,在MATLAB中还可以使用优化工具箱来对建立的RSM代理模型进行优化。可以使用fmincon函数来进行参数优化,以找到最佳的输入变量组合,从而实现最优的过程产出。 总之,在MATLAB中建立RSM代理模型是一个相对简单的任务,只需要熟悉相关的工具箱和函数,并且对实验设计、数据处理和统计分析有一定的理解。通过使用MATLAB的强大功能,可以快速而准确地建立和优化RSM代理模型,从而更好地理解和预测复杂过程的行为。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来包番茄沙司

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值