浅谈机器学习与isight经典算法 全球微头条

2023-03-25 10:39:21 来源: 上汽安全与CAE技术

前言


【资料图】

在整车开发过程中,基于

isight

的多目标优化可以有效平衡车辆各性能及重量等指标。

isight

多目标优化的基本流程为通过

DOE

生成实验数据后,由近似算法对刚度、模态、重量等多个性能进行拟合,拟合后的近似模型用于后续的遗传算法优化。

可以说,性能拟合模型的好坏直接决定了最终的优化结果是否可靠。

isight

中常用的近似模型有

RBF

函数、克里金模型和多项式回归等,在不同的性能拟合任务中,用户需要根据工程经验选择合适的拟合算法,并定义其超参。

图1 isight多目标优化流程

本文针对

isight

多目标优化过程中的近似阶段,尝试了

Sklearn

中与之匹配或相似的机器学习算法,通过自定义算法循环寻优策略,同时基于

GridsearchCV

实现超参的自动调节,最终定义了一套融合算法,在对不同性能目标进行训练的过程中,可以自动寻找最优近似算法及其超参。

第一节算法简介

本文设计的融合算法中用到的基本机器学习算法有内核岭回归、高斯随机过程回归和多项式回归等。其中,内核岭回归是在线性回归基础上增加了“核”和“岭”,“核”是为了增加线性回归的非线性拟合能力,“岭”是L2正则项,是为了控制模型的复杂度,防止模型过拟合。

Sklearn

KernelRidge

模型提供了

RBF

sigmoid

laplacian

cosine

等多种核函数选择,实践表明

RBF

核、

laplacian

核有较好的非线性拟合能力。高斯过程回归本质上与克里金模型一样,是一种非参数模型,该模型本身并没有需要学习的参数。模型先验认为,对于

N

个数据点(

X

)对应的

N

个函数值(

Y

)服从

N

维高斯分布,这个高斯分布的均值是

0

,协方差矩阵是

K

K

是通过核函数来表达,从而保证模型的平滑。

Sklearn

GaussianProcessRegressor

支持包括

RBF

在内的多种核函数,通过

gridsearch

可以选择合适的核函数。多项式回归在

Sklearn

中可以通过

pipeline

流水线的方式实现,即先通过特征处理模块对特征

X

进行多项式组合,再基于组合后生成的新特征进行线性回归拟合。

图2 GridsearchCV基本原理

超参调节的方式,目前主要有随机搜索、网格搜索和贝叶斯优化。随机搜索速度快,但是可能遗漏最优解。网格搜索更全面,但是效率低,本项目各算法中需要调节的超参数并不多,在效率上并不会损失太多,因此本文选择了网格搜索的方式,通过Sklearn的GridsearchCV实现。在大规模超参调节场景中,最适合的是贝叶斯优化算法,主流的工具有基于GPR的BayesianOptimization和基于TPR的optuna。

除了以上近似算法,本文也对Xgboost、神经网络和支持向量回归做了一定尝试,实践表明xgboost在小批量数据及以上的拟合效果并不出众,在对常见超参进行调节后,测试数据的R2能达到0.85左右,而同任务下内核岭回归或高斯随机过程回归往往能达到0.9以上。

对于多层神经网络的应用,在不同任务上,通过调整神经网络的结构,一般都能达到非常好的拟合效果,但是考虑到样本集数量偏少(一般在150个样本左右),过拟合的风险不可忽视,而且超参调整的策略不具备普适性,如果要用网格搜索寻找合适的神经网络结构,计算时间会偏长。同时本文还比较了SVR(支持向量回归)算法,效果对比内核岭回归没有明显的差异,并且偶尔还有运算速度过慢的现象。综上,本文的融合算法中未集成xgboost、神经网络和SVR方法。

第二节 结果对比

本文的近似问题本质上是回归任务,因此本文选择了回归任务常用的评价指标R2,并在15个性能拟合任务中,对比了isight内置拟合算法与机器学习融合算法的效果。整体来看,isight近似算法经过适当的组合尝试,对各个性能的拟合都能取得较好的效果,而基于机器学习的融合算法无需手动选择算法和超参,运行一次即可达到相近的效果,两者的R2均能达到0.9左右。同时,由于融合算法经过了多折交叉验证(本文取了10折),算法的鲁棒性更强,有利于提高后续优化结果的可靠度。

图3部分任务结果对比

小结

在同样的性能前提下,本文设计的基于sklearn的融合算法无需用户定义具体算法类型及其超参,拥有更好的灵活性,同时多折交叉验证提高了模型的鲁棒性,使得后续的优化结果更加可靠。在isight的优化阶段,常用的优化算法为各种遗传算法,如NSGA、MIGA等。在python环境下,目前最流行的遗传算法工具包为geatpy,后续本文将从统计检验的角度,对geatpy遗传算法和isight内置优化算法的效果进行对比,敬请期待。

标签:

[责任编辑:]

最近更新