分享

Constr. Build. Mater.:基于机器学习的混凝土抗压强度预测:一种自适应增强方法

 智慧土木 2022-09-11 发布于广东

文献精读

Constr. Build. Mater.:基于机器学习的混凝土抗压强度预测:一种自适应增强方法

背景介绍

众所周知,混凝土由不同的成分组成,这些成分随机分布在整个混凝土基体中。如此复杂的系统使得准确预测混凝土材料的抗压强度成为一个巨大的挑战。一般来说,获得混凝土抗压强度最直接的方法是通过物理实验。但是,这种方法既费时又费钱,工作效率会很低。与传统的实验方法不同,还提出了一些经验回归方法来预测混凝土中不同组分的给定设计配合比的混凝土抗压强度,但混凝土配合比和抗压强度呈现出很强的非线性关系,很难推出一个准确的回归表达式。

研究出发点

随着近年来人工智能(AI)的发展,利用机器学习(ML)技术来预测混凝土抗压强度是一种趋势。其中,集成学习模型的基本思想是利用训练数据训练几个弱学习器,然后将弱学习器整合起来构造一个强学习器,可有效提高预测精度和鲁棒性。目前的集成学习算法主要分为三组,即 bagging、boosting 和 stacking。在各种集成学习算法中,自适应提升(AdaBoost)是最典型的一种。因此,本文提出一种基于 AdaBoost 算法的混凝土抗压强度预测智能方法。

全文速览

东南大学混凝土与预应力混凝土结构教育部重点实验室冯德成课题组提出了一种基于 AdaBoost 算法的混凝土抗压强度预测智能方法。采集了1030组混凝土抗压强度试验数据,以配合比和养护时间为输入数据,抗压强度为输出数据。使用收集到的数据训练基于 AdaBoost 的模型,得到一个可用于预测抗压强度值的强学习器。使用 10 折交叉验证方法对开发的模型进行验证,并使用包含 103 个样本的新数据集来展示模型的泛化性。还将 AdaBoost 模型的性能与以前的单个 ML 模型(例如基于 ANN 和基于 SVM)进行了比较,表明了集成学习方法的优越性。最后,还讨论了 AdaBoost 方法中一些关键因素的影响,例如训练数据的数量、弱学习器的类型以及输入变量的敏感性和数量。相关论文以“Machine learning-based compressive strength prediction for concrete: An adaptive boosting approach”为题,于2020年发表在《Construction and Building Materials》

图文解析

图1 输入/输出变量的统计分布

表1 SFRC输入变量的约束

实验数据集中共有9个参数。实验参数的名称、单位、最小值/最大值、平均值和标准差(SD)见表 1。此外,所涉及参数的统计分布如图 1 所示,这可以帮助我们获得一个直接观察参数。在开始学习过程之前,应首先确定输入和输出变量。显然,配料和养护时间都对混凝土的终抗压强度有影响。因此,本研究共考虑了8个输入变量(X =X1;X2;...;X8)和1个输出变量(Y)。

图2 测试和预测的抗压强度之间的关系

表2 数据集以9-1形式的性能分析

由图2可知,随机选择 90% 的数据用于训练集,其余 10% 的数据用于测试集,图2分别显示了训练集和测试集的预测抗压强度值和测试抗压强度值之间的关系。显然,对于这两个集合,它都显示了预测值和测试值之间的线性关系。特别是对于训练集,散点几乎与图中理想的黑线重合(即预测值等于测试值),而对于测试集,则存在少许离散。表2列出了 AdaBoost 模型计算的 9-1 结果的四个度量,其中给出了训练集和测试集的结果。显然,该模型在预测精确度方面表现出非常好的性能。对于训练数据集,R2 = 0.997,即预测值与测试值几乎相同;MAE 仅为 1.52 MPa,MAPE 仅为 5.54%。所有这些结果表明,AdaBoost 模型从训练数据中具有非常强的学习能力。对于测试数据,R2 = 0.982 仍然非常接近 1,MAPE 相对较高,为 6.78%。但是,从工程实践的角度来看,错误率仍然很低。总之,AdaBoost 模型以非常高的精度预测抗压强度。

图3 10折交叉验证的结果

表3 10折交叉验证结果

图3显示了 10 折交叉验证中每个折的四个测量值。可以看出,10折的结果虽然有一定的波动,但都保持了较高的准确率。例如,R2的最小值为 0.890,而最大值为 0.978。MAPE 最小值为 7.96%,最大值为 15.27%。同时,结果的详细统计信息见表3。R2 的平均值为 0.952,SD 为 0.025,得出的变异系数 (COV) 仅为 2.6%。RMSE 的平均值为 4.856 MPa,与平均抗压强度值 35.82 MPa 相比相对较小。MAE平均为3.205 MPa,MAPE平均为11.39%,均表明预测误差较小。

图4 新数据集的预测结果

 AdaBoost 模型对新数据集的预测结果如图4所示。可以看出,所提出的模型也对新数据集产生了良好的预测。预测值和测试值之间的关系非常接近理想的 y =x 线。计算出的定量性能指标为:R2=0.94,RMSE = 1.93 MPa,MAE = 1.43 MPa 和 MAPE = 4.3%。所有这些都表明 AdaBoost 模型在预测混凝土抗压强度方面确实具有很高的准确性和泛化性能。

图5 混凝土抗压强度的时间相关预测结果

表4 混凝土抗压强度的时间相关预测结果

如表 4,养护时间设置为 1 天至 365 天。图5显示了AdaBoost模型得到的抗压强度随时间变化,其中散点是不同时间的测试结果。显然,测试数据点几乎都位于时变曲线上。三组曲线具有相似的趋势,即抗压强度随着时间的增加而增加,60d前增加较快,60 d后缓慢增加,120d左右趋于稳定。7天强度约为最终强度的50%,28天强度约为最终强度的85%。显然,AdaBoost 模型可以帮助我们在没有实验的情况下捕捉混凝土强度随时间变化的全貌,这可以为我们提供研究其他物理机制的有效工具。

图6 不同机器学习技术的结果

表5 与不同机器学习技术的比较

为了更好地展示作为集成学习方法的 AdaBoost 算法的能力,本文还使用了被广泛采用的独立学习方法,即 ANN 和 SVM。预测值与测试值的图如图6所示。显然,AdaBoost 的结果显示出更线性的关系,这意味着它的预测更接近测试值。原因可能是 SVM 或 ANN 是个体学习算法,而 AdaBoost 是集成学习算法。表 5给出了不同算法对测试集的度量, AdaBoost 模型在所有四个测量中都显示出明显优于独立学习方法。R2从 0.855 (SVM) 增加到 0.982,而 MAPE 从 14.95% (SVM) 下降到 6.78%,预测能力得到显著的提升。

表6 不同的训练数据集数量结果

如前所述,模型的性能还取决于用于训练的数据量。因此,在这一部分,我们尝试调查训练数据集数量的影响。这里考虑三种情况,即总数据分为9-1、8.5-1.5和8-2进行训练和测试。结果如6所示。显然,这三种情况都得到了非常高的准确率,尽管它仍然随着训练数据量的增加而增长。对于训练数据集,无论是9-1、8.5-1.5还是8-2,性能还是很不错的。三个案例的 R2 都接近 1.0,这意味着预测值和测试值之间的关系是线性的。9-1 和 8.5-1.5 的 RMSE 约为 1.52 MPa,而 8-2 的 RMSE 为 1.55 MPa。这意味着随着训练数据量的增加,预测偏差会减小。同样,如果我们使用超过 85%(875 个样本)的总数据进行训练,MAPE 将降低到 5.54% 以下。结论与测试数据集的结论相似。如果施加更大量的训练数据,预测误差和偏差都会呈现减小的趋势。具体来说,当训练数据从整组的 80% 增加到 90% 时,R2 将从 0.979 增长到 0.982。MAPE 将从 7.78% 降至 6.78%。

图7 不同弱学习器的结果

表7 分析不同弱学习器的性能指标

AdaBoost 模型的另一个关键因素是弱学习器的选择。尝试了三种广泛采用的方法进行比较,即 LR、ANN 和 SVM。结果如图7所示。从图中可以看出,除了LR,其他三个弱学习器都得到了很好的结果。量化指标列于表 7。对于 LR,指标为 R2=0.619,RMSE = 10.19 MPa 和MAPE = 31.55%,而对于 CART、ANN 和 SVM,最差指标是 R2= 0.960,RMSE = 3.30 MPa 和MAPE = 8.58%。因此,尽管采用了 AdaBoost 方法来增强模型性能,但它仍然产生了很差的结果。相比之下,CART、ANN 和 SVM 本身已经可以捕获输入和输出之间的非线性关系,因此如果使用集成方法,可以提高模型性能。此外,如表7所示,选择 CART、ANN 和 SVM 作为弱学习器都具有可接受的精度,因为这些弱学习器本身可以在一定程度上获得输入和输出之间的非线性关系。

图8 不同输入变量的相对重要性

图 8 显示了每种成分的相对重要性。可以发现,养护时间是影响最终抗压强度的最关键因素,水泥对抗压强度也有显着影响,大约为养护时间的 97%,因为它在物理上通过水合反应将所有其他组件粘合在一起。同样,水排名第三,因为它用于确保水泥的水化和混凝土的流动性。

图9 输入变量数量的影响

表8 用于分析不同输入变量组合的性能度量

最后一部分研究了输入变量值的敏感性(或变化)的影响,这里分析了输入变量个数对最终预测的影响。考虑了六种输入组合,如表 8所列。组合 1 是原始数据,而组合 6 只有四种输入,即水泥、水、粗骨料和细骨料。组合 2-5 逐渐忽略不同的输入变量以查看影响。六种组合的预测值与测试值的结果如图9所示,相应的性能指标也在表 8中给出。可以肯定的是,组合 1 的结果获得了最好的分数,因为它提供了如下的整体信息输入。组合 6 的性能最低,其测量值为 R2 = 0.377,RMSE = 13.04 MPa 和 MAPE = 41.30%。有趣的是,模型的准确性不会简单地随着输入变量数的增加而增加,如组合 2-5 的结果所示。虽然组合 2 有 7 个输入变量,但它的精度最低(R2=0.398,RMSE = 12.82 MPa 和 MAPE = 40.36%),因为没有考虑最重要的变量固化时间。作为比较,组合3也有7个输入变量(忽略水泥),其性能明显优于组合2,组合2的R2=0.865,RMSE=6.07 MPa,MAPE=16.42%。组合 5 只有 5 个输入变量,但包含固化时间,因此其性能优于组合 2 和组合 6。组合 4 尽管只有 6 个输入变量,但依然是有最好的性能(组合 1 除外)。总之,养护时间和水泥是模型中应该考虑的最重要的输入变量,以获得高精度的预测。忽略固化时间会导致精度急剧下降(R2 从 0.982 到 0.398),而忽略水泥会导致精度下降相对较小(R2 从 0.982 到 0.865)。忽略一个甚至两个其他组件将导致更小的下降(R2 从 0.982 到 0.907)。

总结

1.AdaBoost 模型可以在给定输入变量的情况下准确有效地预测混凝土的抗压强度。该模型就像一个黑匣子,用户无需了解实际机制,应用简单方便。该模型还可以捕捉到混凝土在不同养护天数时随时间变化的抗压强度。

2.10 折交叉验证的平均 R2可能达到 0.952,平均 MAPE 可能达到 11.39%,这意味着预测误差非常低。一个新的数据集也被用来证明模型的泛化,结果表明模型保持了较高的精度,其 R2 = 0.94,RMSE = 1.93 MPa,MAE = 1.43 MPa 和 MAPE = 4.3%。

3.AdaBoost 模型还与 ANN 和 SVM 等独立学习算法进行了比较,也表现出明显优于这些模型。同时,也采用文献中应用于预测抗压强度的个体/集成学习算法对所提出的AdaBoost模型进行比较。即使是文献中报道的最好结果,也比 AdaBoost 模型差。

4.还讨论了 AdaBoost 模型中的几个关键因素,例如训练数据集数量、弱学习器类型、敏感性和输入变量的数量。发现使用整个数据集的 80% 可以获得可接受的结果。选择能够捕捉输入和输出之间非线性关系的弱学习器(例如CART、ANN和SVM)都可以获得最终强学习器的高精度,而CART可以达到最佳性能。养护时间、水泥和水是最重要的输入变量,对最终预测的影响非常大,不容忽视。

本期编者简介

翻译:

陈    仓             博士生         深圳大学

审核:

程博远             博士生         深圳大学

排版:

罗盛禹             硕士生         深圳大学

本期学术指导

何    闯          博士后       深圳大学

龙武剑          教    授       深圳大学

文献链接:

https:///10.1016/j.conbuildmat.2019.117000

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多