26、基于Elman网络的选择超启发式离线学习

基于Elman网络的选择超启发式离线学习

一、背景与概述

离线学习可分为域内学习和域间学习。域内学习中,训练序列和测试优化问题来自同一问题域;域间学习中,训练序列和测试问题可来自不同域。实验表明,当使用合适的启发式选择序列训练时,Elman网络能够以99%的置信度进行域内学习和泛化。但在使用域间训练集训练时,Elman网络未表现出泛化能力,这表明域间泛化更难,且当前选择训练集的方法在这种情况下不太合适。

二、方法
2.1 HyFlex与离线学习数据库
  • HyFlex问题域 :Hyper - heuristics Flexible框架(HyFlex)包含四个计算困难的问题域,分别是一维装箱问题(BP)、排列流水车间问题(PFS)、布尔可满足性问题(SAT)和人员调度问题(PS),每个问题域有10个不同复杂度的问题。
  • 启发式类别 :每个HyFlex问题有四个通用启发式类别,分别是参数化变异(M)、交叉(C)、参数化破坏与重建(R)和参数化爬山或局部搜索(L)。由于不同问题域中低级别启发式的数量和实现不同,因此比较启发式类别的序列。
  • DBGen超启发式算法 :用于生成离线学习数据库的随机、无偏、单选择超启发式DBGen的伪代码如下:
1. ITERATIONS ←150;
2. new - sol ←initialiseSolution();
3. new - obj ←f(new - sol);
4. cross - sol ←initialiseSolution();
5. cross - obj ←f(new - sol);
6. while (ITERATIONS−−> 0) do
7.     cur - sol ←new - sol;
8.     cur - obj ←new - obj;
9.     Heuristic h ←selectHeuristic();
10.    new - sol ←apply( h, new - sol, cross - sol );
11.    new - obj ←f(new - sol);
12.    double r ←ran();
13.    if (new - obj < cross - obj or r < 0.5) then
14.        cross - sol ←new - sol;
15.        cross - obj ←new - obj;
16.    end if
17.    if (new - obj ≥cur - obj and r ≥0.5) then
18.        new - sol ←cur - sol;
19.        new - obj ←cur - obj;
20.    end if
21. end while

该算法中, select() 函数从集合 {C, L, R, M} 中随机选择一个低级别启发式类别, apply() 函数根据启发式类别随机选择一个实际的低级别启发式及其参数并应用到当前解。通过执行40次,每次150次选择,在4个HyFlex域的10个问题上运行该算法,得到1600个低级别启发式选择序列和相关目标函数值,用于构建离线学习数据库。选择40次试验是因为根据中心极限定理,足够大的样本(n > 30)的算术平均值近似正态分布,便于为每个问题计算稳健统计量;选择150次选择是因为实验观察表明超过此点目标函数无重大改进。

2.2 最终对数回报率与BEST序列
  • 对数回报率计算 :使用对数回报率衡量超启发式的性能。超启发式运行或序列s的最终对数回报率αf定义为:
    [α_f(s) = log_{10}(\frac{o_{min}}{o_0})]
    其中,$o_0$是初始解的目标函数值,$o_{min}$是运行过程中找到的最佳最终解的目标函数值。
  • 平均最终对数回报率 :一组N个序列的平均最终对数回报率为:
    [α_f({s_1, \ldots, s_N}) = \frac{1}{N}\sum_{i = 1}^{N}α_f(s_i)]
  • 最终单位对数回报率 :最终单位对数回报率βf是最终对数回报率αf除以序列长度(直到并包括最小目标函数值):
    [β_f(s) = \frac{α_f(s)}{min}]
  • BEST序列 :HyFlex基准问题集有4个问题域,每个域10个问题。离线数据库中40个“最佳”序列(BEST)是每个问题中最终单位对数回报率βf最低的序列,这些序列是使每个问题目标函数值下降最大的最短序列。
2.3 Elman网络
  • 网络特点 :Elman网络是简单递归神经网络,常用于处理自然语言处理等自然表现为时间序列的问题,能够学习、处理和生成数据序列。
  • 编码方式 :训练序列是从离线学习数据库中选择的低级别启发式选择序列,每个低级别启发式选择{M, C, R, L}编码为{0, 1}⁴中的向量,例如M = (1, 0, 0, 0),C = (0, 1, 0, 0),R = (0, 0, 1, 0),L = (0, 0, 0, 1),X = (0, 0, 0, 0)表示缺失或未知选择。这些向量连接形成输入模式。
  • 记忆长度 :用作输入的选择数量称为选择策略的记忆长度。初始实验表明,随着过去选择数量的增加,Elman网络学习效果显著提高。本研究使用记忆长度为4,此时Elman网络能学习每个训练集的80%(或更多)。
  • 网络结构 :本实验使用的三层Elman网络有16个输入单元、16个隐藏单元(因此有16个上下文单元)、4个输出单元和596个权重。隐藏和输出单元使用Sigmoid激活函数,16个隐藏单元的数量是任意选择的。训练后,给定初始输入,Elman网络会产生输出序列,该序列可能收敛到一个点、形成重复值的极限环或产生混沌非重复序列。
2.4 训练集
  • 域内学习训练集 :域内学习中,训练序列和测试优化问题来自同一问题域,这简化了学习任务,因为同一域内低级别启发式相同,启发式类别具有相似统计特征。训练集由BEST启发式类别的序列构建,采用留一法交叉验证来确定Elman网络序列是否能优于BEST训练序列。具体做法是将BEST子序列按域分为4组,每组10个序列。对于每个域中的每个问题,将该问题的序列从训练集中排除,用其余9个序列训练网络,然后在排除的问题上评估训练后网络生成的序列。这样会产生40个包含9个序列的训练集。
  • 域间学习训练集 :域间学习中,训练序列和测试问题可来自不同域,不同域的低级别启发式实现不同,启发式类别统计特征可能不同。对于每个域,从其余3个域中各选择3个对应βf最低问题的序列,构建4个包含9个序列的训练集。训练网络时,仅使用每个序列中直到(并包括)最小目标函数值的接受选择,拒绝的选择和最小目标函数值之后的选择不使用。
2.5 BLIND超启发式

BLIND超启发式用于在HyFlex问题上评估启发式序列集,它盲目地将给定序列一个接一个地应用到HyFlex问题上,接受每个选择,实际低级别启发式及其参数随机选择。

三、结果
3.1 网络训练
  • 训练参数 :使用随机反向传播和早停法,在最多1000个周期内训练Elman网络,学习率、动量项和训练周期数未优化,具体参数如下表:
    | Input | Hidden | Out | Learn | Momentum | Epochs |
    | ---- | ---- | ---- | ---- | ---- | ---- |
    | 16 | 16 | 4 | 0.1 | 0.25 | 1000 |
  • 域内训练结果 :训练40个域内训练集的结果如下表所示,不同域的学习难度不同,例如SAT域的序列比其他域更难学习。
    | Dom. | Num. | Wrong (%) | Error | Epochs |
    | ---- | ---- | ---- | ---- | ---- |
    | BP | 369.0 | 12.6407 | 4.2958 | 907.7 |
    | PFS | 94.5 | 1.0260 | 1.0491 | 328.9 |
    | SAT | 288.2 | 18.3158 | 4.1991 | 918.9 |
    | PS | 121.5 | 3.0474 | 0.9290 | 947.3 |
  • 域间训练结果 :训练4个域间训练集的结果如下表,整体上域内学习比域间学习更难。
    | Dom. | Num. | Wrong (%) | Error | Epochs |
    | ---- | ---- | ---- | ---- | ---- |
    | BP | 151 | 1.7391 | 1.0443 | 999 |
    | PFS | 224 | 1.0638 | 1.3208 | 994 |
    | SAT | 175 | 0.7194 | 0.8031 | 616 |
    | PS | 221 | 1.0810 | 0.9290 | 739 |

训练后,给Elman网络初始“空白”输入XXXX,域内训练的网络为每个问题生成一个序列,共40个序列;域间训练的网络为每个域生成一个序列,共4个序列。

3.2 评估Elman网络序列
  • 评估方法 :将BLIND超启发式用BEST、INTRA和INTER三组序列进行参数化,然后在每个HyFlex问题上执行40次。INTRA序列集由域内训练的Elman网络生成,INTER序列集由域间训练的Elman网络生成。评估时使用相同的伪随机数种子和初始解,与DBGen生成离线数据库时的种子不同。
  • 评估结果 :将INTRA和INTER序列集在HyFlex问题上的评估结果与BEST序列进行比较。INTRA序列在整体和每个域上都优于BEST序列,BEST序列在整体和除PFS域外的每个域上优于INTER序列。在最难学习的SAT域,INTRA和BEST之间的泛化效果最好。使用配对t检验确定BEST和INTRA的平均最终对数回报率差异是否具有统计学意义,原假设为$α_f(BEST) ≥ α_f(INTRA)$。

综上所述,Elman网络在域内学习中表现出较好的学习和泛化能力,但在域间学习中仍面临挑战。后续可进一步优化训练集选择方法和网络参数,以提高域间学习的效果。

基于Elman网络的选择超启发式离线学习

四、深入分析与启示
4.1 训练集与学习效果的关系

从训练结果来看,域内学习和域间学习的表现差异明显。域内学习由于训练序列和测试问题来自同一问题域,低级别启发式和启发式类别的统计特征相似,学习任务相对简单。而域间学习中,不同域的低级别启发式实现不同,导致启发式类别统计特征存在差异,增加了学习难度。

例如,在训练集构建方面,域内学习采用留一法交叉验证,将每个问题的序列留作测试用,其余9个序列用于训练,这种方式能够充分利用同一域内的相似性,让网络学习到该域内启发式选择的规律。而域间学习从不同域中选择序列构建训练集,虽然涵盖了更广泛的信息,但也带来了更多的复杂性。

为了更直观地理解,下面是一个mermaid流程图展示域内学习和域间学习训练集的构建过程:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px

    A([开始]):::startend --> B(HyFlex问题集):::process
    B --> C{域内学习/域间学习}:::process
    C -->|域内学习| D(按域分组BEST序列):::process
    D --> E(留一法交叉验证):::process
    E --> F(生成40个训练集):::process
    C -->|域间学习| G(从不同域选序列):::process
    G --> H(构建4个训练集):::process
    F --> I(训练Elman网络):::process
    H --> I
    I --> J([结束]):::startend
4.2 网络性能评估与统计检验

在评估Elman网络生成的序列时,将INTRA和INTER序列集与BEST序列进行比较是关键步骤。通过比较平均最终对数回报率,可以判断网络是否学习到了超出BEST序列的信息。

INTRA序列在整体和每个域上都优于BEST序列,这表明域内训练的Elman网络能够捕捉到问题域内的有效信息,优化启发式选择序列,从而提高超启发式的性能。而BEST序列在整体和除PFS域外的每个域上优于INTER序列,说明域间学习目前还面临较大挑战,网络难以在不同域之间实现良好的泛化。

配对t检验用于确定BEST和INTRA的平均最终对数回报率差异是否具有统计学意义。原假设$α_f(BEST) ≥ α_f(INTRA)$,如果拒绝原假设,则说明INTRA序列的表现显著优于BEST序列,网络确实学习到了有价值的信息。具体操作步骤如下:
1. 收集BEST和INTRA序列在每个问题上的最终对数回报率数据。
2. 计算每对数据的差值。
3. 计算差值的均值和标准差。
4. 根据t分布公式计算t值:
[t = \frac{\bar{d}}{s_d / \sqrt{n}}]
其中,$\bar{d}$是差值的均值,$s_d$是差值的标准差,$n$是数据对的数量。
5. 根据自由度($n - 1$)和显著性水平(通常为0.05),查找t分布表,确定临界值。
6. 比较计算得到的t值和临界值,如果t值大于临界值,则拒绝原假设,表明差异具有统计学意义。

4.3 对实际应用的指导意义

这项研究的结果对于实际的优化问题具有重要的指导意义。在处理同一类型的优化问题时,可以考虑使用域内学习方法,利用Elman网络学习该问题域内的启发式选择规律,生成更优的序列,提高优化效果。

例如,在一维装箱问题(BP)、排列流水车间问题(PFS)、布尔可满足性问题(SAT)和人员调度问题(PS)等领域,如果有足够的历史数据,可以构建类似的离线学习数据库,使用Elman网络进行训练,为实际问题提供更好的启发式选择策略。

而对于涉及多个不同类型问题的场景,域间学习的研究为解决跨领域优化问题提供了思路。虽然目前域间学习效果不佳,但可以通过进一步优化训练集选择方法、调整网络结构和参数等方式,提高网络在不同域之间的泛化能力。

五、未来研究方向
5.1 训练集优化

目前的训练集选择方法在域间学习中效果不理想,可以探索更有效的训练集构建策略。例如,可以根据不同域的特点和启发式类别的性能分析,有针对性地选择训练序列,提高训练集的代表性和有效性。

还可以考虑引入更多的特征信息,如问题的复杂度、启发式类别的相关性等,对训练序列进行筛选和加权,让网络更好地学习到不同域之间的共性和差异。

5.2 网络结构与参数调整

Elman网络的结构和参数在本研究中部分是任意选择的,如隐藏单元的数量。未来可以通过实验和优化算法,寻找更适合域内和域间学习的网络结构和参数组合。

例如,可以使用遗传算法、粒子群算法等优化算法,对网络的输入单元数量、隐藏单元数量、学习率、动量项等参数进行优化,提高网络的学习能力和泛化能力。

5.3 与其他方法结合

可以将Elman网络与其他优化方法或机器学习技术相结合,进一步提升超启发式的性能。例如,可以将Elman网络与强化学习算法结合,让网络在学习过程中能够根据环境反馈动态调整启发式选择策略。

也可以引入集成学习的思想,将多个不同的Elman网络或其他类型的模型进行集成,综合利用它们的优势,提高优化效果。

六、总结

本研究围绕基于Elman网络的选择超启发式离线学习展开,探讨了域内学习和域间学习的方法和效果。通过构建离线学习数据库、使用对数回报率评估超启发式性能、训练Elman网络并评估其生成的序列,得出了以下主要结论:
- Elman网络在域内学习中表现出较好的学习和泛化能力,能够生成优于BEST序列的启发式选择序列。
- 域间学习目前面临挑战,网络难以在不同域之间实现良好的泛化,但在PFS域有一定的表现。
- 配对t检验表明INTRA序列和BEST序列的平均最终对数回报率差异具有统计学意义,说明网络学习到了有价值的信息。

未来的研究可以从训练集优化、网络结构与参数调整、与其他方法结合等方面入手,进一步提高Elman网络在超启发式离线学习中的性能,为解决复杂的优化问题提供更有效的方法。

研究方向 具体内容
训练集优化 探索更有效的训练集构建策略,引入更多特征信息进行筛选和加权
网络结构与参数调整 使用优化算法寻找更适合的网络结构和参数组合
与其他方法结合 将Elman网络与强化学习、集成学习等方法结合

总之,基于Elman网络的选择超启发式离线学习是一个有潜力的研究方向,通过不断的探索和改进,有望在优化领域取得更好的应用效果。

使用雅可比椭圆函数为Reissner平面有限应变梁提供封闭形式解(Matlab代码实现)内容概要:本文介绍了如何使用雅可比椭圆函数为Reissner平面有限应变梁问题提供封闭形式的解析解,并结合Matlab代码实现该求解过程。该方法能够精确描述梁在大变形条件下的非线性力学行为,适用于几何非线性强、传统线性理论失效的工程场景。文中详细阐述了数学建模过程,包括基本假设、控制方程推导以及利用雅可比椭圆函数进行积分求解的技术路线,最后通过Matlab编程验证了解的准确性与有效性。; 适合人群:具备一定固体力学、非线性结构分析基础,熟悉Matlab编程的研究生、博士生及科研人员,尤其适合从事结构力学、航空航天、土木工程等领域中大变形问题研究的专业人士; 使用场景及目标:① 掌握Reissner梁理论在有限应变条件下的数学建模方法;② 学习雅可比椭圆函数在非线性微分方程求解中的实际应用技巧;③ 借助Matlab实现复杂力学问题的符号计算与数值验证,提升理论与仿真结合能力; 阅读建议:建议读者在学习前复习弹性力学与非线性梁理论基础知识,重点关注控制方程的推导逻辑与边界条件的处理方式,同时动手运行并调试所提供的Matlab代码,深入理解椭圆函数库的调用方法与结果可视化流程,以达到理论与实践深度融合的目的。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值