社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

SAUSG非线性 | 基于机器学习的压弯RC柱纵向配筋率预测方法

结构先声 • 1 月前 • 32 次点击  

前言

在此前的技术周刊《SAUSG2025版新功能——RC柱构件智能纵向配筋》(点击查看),曾介绍了RC柱纵向智能配筋功能的操作流程,并通过实际案例证明了其在配筋设计中的价值。本文重点从试验数据收集、特征工程、模型训练以及模型解释等几个方面介绍了基于机器学习的RC柱构件智能纵向配筋模型的建模过程。


国内外试验数据收集

试验数据来源于两部分:1)来源于ACI(American Concrete Institute)数据库,共498个样本;2)广泛收集我国钢筋混凝土矩形截面柱力学性能研究试验数据,共224个样本。

在数据收集及整理形成数据库过程中面临数据缺失问题,现就缺失数据的填充进行说明:1)部分试验没有给出试件的保护层厚度,这部分试件的保护层厚度,根据试验数据库中出现频次最高的保护层厚度值来确定,取为25mm;2)部分试验没有给出箍筋的屈服强度,仅给出了牌号与直径,这部分试件的箍筋屈服强度按试验数据库中同牌号、同直径的箍筋屈服强度确定。

为确保数据库中数据的一致性和适用性,对ACI数据库中的数据进行了筛选,去掉不符合预定结构形式以及受力机理要求的样本,例如:1)去掉纤维增强聚合物(Fiber Reinforced Polymer,下简称FRP)加固样本;2)模型仅对矩形截面RC柱做讨论,去掉数据库中圆形截面样本。经过筛选后,保留ACI数据库试验样本306个以及我国力学性能研究试验样本224个,数据库试验样本总数为530个,涵盖了轴压、压弯与纯弯三种受力模式。

特征参数分布直方图如图1所示。可见数据库覆盖的参数范围较广,涵盖了普通强度和高强度混凝土构件试验数据,确保了机器学习模型在实际工程中的适用性。

图1 特征参数分布直方图


特征工程

模型采用特征选择的包装器方法(Wrapper)进行特征迭代,特征迭代包括如下4个步骤:1)选择特征的子集;2)用选择的特征训练模型;3)评估模型性能;4)决定保留还是移除所选特征。其中每一个特征子集作为输入特征时都会进行一轮超参数调优,选取的四种有代表性的特征子集如下:

以上述四个特征子集分别作为输入特征时, XGBoost模型在测试集上的拟合优度如表1所示。

表1 四种特征子集的模型性能


由表1可知,机器学习模型分别以四种特征子集作为输入特征时,特征子集1、2、3的拟合优度差异不大,特征子集4的拟合优度略低。可进一步从模型泛化性能以及模型复杂程度角度对特征子集进行评价。模型在不同测试集下的拟合优度如图2所示。

图2 模型在不同测试集下拟合优度


由图2可知,测试了模型在80个不同测试集下的表现情况,用拟合优度来衡量模型性能。图中横轴为测试集划分方法,代表不同的测试集,纵轴为模型的拟合优度。可以看出,特征子集1、2、3的性能与稳定性差异不大,特征子集4的性能与稳定性明显差于其他三个子集。通常情况下,随着模型输入特征增加,模型参数空间的维度增加,计算资源消耗呈现上升趋势,进而引发计算复杂性、计算量、内存需求、训练时间以及过拟合风险上升。符合奥卡姆剃刀原则的做法是选择最简单的假设,即特征选择和模型设计应尽量简洁,以维持合理计算成本的同时提高模型的泛化性能。综上所述,选择特征子集3作为模型输入。


模型训练

数据库被随机分成训练集(80%,424个样本)和测试集(20%,106个样本)。训练集用于训练机器学习模型,测试集用于评估训练好的机器学习模型的性能。选取共7个特征作为输入参数,输出参数为纵向配筋率。在训练集上训练4个机器学习模型,包括DT、SVR、RF和XGBoost。为达到最优的模型性能,进行了超参数调优。超参数调优通过随机搜索方法实现,每次进行超参数调优时,都伴随着十折交叉验证。采用拟合优度 、平均绝对误差MAE(Mean Absolute Error)、平均绝对百分比误差MAPE(Mean Absolute Percentage Error)、均方根误差RMSE(Root Mean Square Error)四个指标进行评价,以定量比较不同模型预测性能。

DT、SVR、RF和XGBoost四种模型预测值与试验值对比结果如图3所示,横轴为实际纵向配筋率,纵轴为模型预测纵向配筋率,数据点分布在45度角的直线附近,模型的预测值与试验值较为一致。

(a)DT预测值与试验值对比

 (b)SVR预测值与试验值对比

(c)RF预测值与试验值对比

 (d)XGB预测值与

试验值对比


本文DT、SVR、RF和XGBoost四种机器学习模型在训练集和测试集上的性能评估结果如表2所示,集成学习模型,即随机森林和XGBoost,表现出较好性能,其拟合优度()明显高于两种单一学习模型,这表明它们能更好地解释目标变量的方差。此外,集成模型的平均绝对误差(MAE)与平均绝对百分比误差(MAPE)较低,说明了其在减小预测误差方面表现更好。集成学习模型较低的RMSE值暗示了更为均匀的误差分布。这意味着RF和XGBoost模型相对于单一学习模型来说,具有更小比例的大误差值,从而对数据集的异常值更具鲁棒性。

表2 机器学习模型配筋率预测评价


不同模型在不同测试集下的性能如图4所示,包含模型在80个不同测试集下的表现情况,用拟合优度来衡量模型性能,图中横轴为测试集划分方法,代表不同的测试集,纵轴为模型的拟合优度。可以看出,两种单一学习模型的泛化性能明显差于两种集成模型的泛化性能,两种集成学习模型对比,XGBoost模型泛化性能更佳。因此,选择XGBoost模型作为最终机器学习模型。

图4 不同模型的泛化性能


模型解释

因为机器学习模型仅提供输入、输出参数映射关系,模型内部运行方式及各参数对预测的贡献程度与影响通常不为人所知,因此数据驱动机器学习模型常被视为黑箱,本文采用SHAP(SHapley Additive exPlanations)方法对机器学习模型内部工作机制进行了解释。如图5所示。图中横轴SHAP值为预测值中每个特征的贡献度;图中每一行代表模型一个输入特征,从上至下的排列为根据重要性的排列顺序;横坐标为样本特征对于输出值的贡献;数据点颜色越红表示该样本特征值越大,颜色越蓝表示该样本特征的值越小。

通过SHAP方法得到的解释规律如下:1)随着纵筋屈服强度、截面有效高度、截面宽度的增加,纵向配筋率减小;2)随着截面弯矩的增加,纵向配筋率增大;3)纵向配筋率随混凝土立方体抗压强度 的变化规律不明显,红色点和蓝色点交错分布,这可能是由样本分布不均匀引起,混凝土立方体抗压强度主要集中于普通强度混凝土和高强混凝土两个极端,中高强度段样本较少,样本出现明显分层,因而解释的规律不明显,随着国内外中高强度混凝土样本的增多,机器学习模型解释的规律将会更明显;4)纵向配筋率随截面轴力的变化规律不明显,原因是样本数据中包含有大、小偏压两种样本,两种样本纵向配筋率随截面轴力的变化规律相反,因此在图中没有显示出影响规律;5)配箍特征值的影响不明显。

通过SHAP方法得到的解释规律与已知力学规律一致,验证了模型的可靠性和科学性。

图5 XGBoost模型全局解释


小结

本文系统介绍了基于机器学习的RC柱纵向配筋率预测方法,涵盖了试验数据的收集、特征工程、模型训练以及模型解释等环节。基于机器学习的RC柱配筋预测方法准确性高、可解释性好,为推进建筑结构设计的智能化与高效化奠定了坚实基础。


供稿丨肖岩松   审稿丨侯晓武、刘孝国

编辑丨马延君   责编丨张跃飞


阅读推荐


技术周刊 | 鉴定加固模型实配钢筋级别和参数中的钢筋级别不一致时,程序是如何处理的?

手把手解锁PKPM鉴定加固黑科技!让老建筑焕发新生

门式刚架厂房三维设计全攻略:提升设计效率,符合审查要求

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/180109
 
32 次点击