基于SVR算法的混凝土强度预测
混凝土是由水泥、粗细骨料、水、外加剂、掺合料等按照一定比例配合制成的工程复合材料。其原材料来源丰富,造价低廉,生产工艺简单、抗压强度高、耐久性好等特点使混凝土广泛运用于建筑工程施工过程中。抗压强度作为混凝土质量控制的核心内容之一,是结构设计和施工的重要依据,其质量好坏直接影响到工程的最终验收。根据《混凝土结构设计规范》(GB50010-2010)中规定混凝土强度等级应按立方体抗压强度标准值确定,制作、养护的边长为150mm的立方体试件,在28d以标准实验方法测得的具有95%保证率的抗压强度值。然而,在实际施工过程中,由于工期的紧迫性,往往不会等待28d强度测试结果出来后再进行混凝土工程施工,常常出现先施工后出报告的现象,这导致施工现场不能及时得到混凝土的性能信息,一旦出现混凝土抗压强度不过关,出现大规模返工的现象,造成人力物力大量损失。因此,及时准确的知道混凝土的抗压强度可以避免由于信息滞后造成的损失。
为了对混凝土强度进行有效的早期预测,国内外专家做了许多工作:在标准养护的前提下,提出了各种经验公式:
对数公式:
斯拉特公式:
德国经验公式:
式中R28 为混凝土28d抗压强度R7为混凝土7d抗压强度。由于经验公式中需要用到混凝土的7d强度值,而7d强度值受到外加剂的影响变化很大。另外,经验公式大多是用线性回归的思想用一维方程去拟合混凝土强度变化曲线,所得的结果与实际情况误差较大。目前在施工生产中运用较多的混凝土强度测算方法是回弹法:
式中fcu,i为混凝土强度换算值,Rm为平均回弹值,dm为平均碳化深度值。K、N、P为系数。通过大量的实验表明该曲线可以较好的测算混凝土早期强度,误差不超过20%。但是其结果的准确性受到实验样本数量的影响,且不能提前对混凝土强度进行预测,其只能测算混凝土表面抗压强度,受回弹点骨料组份影响大。给实际操作带来局限性。
回归型支持向量机(support vector machine for regression,SVR)是基于Vapnik创建的统计学习理论(statistical learning theory,STL)提出的一种新的机器学习方法,其基本原则是采用结构风险最小化准则(structural risk minimization,SRM),在最小化样本点误差的同时,最小化结构风险,提高了模型的泛化能力,且没有数据维数的限制。在进行回归拟合分析时,通过寻找一个最优分类面使得所有训练样本离该最优分类面的误差最小。
1 研究背景
国家高山滑雪中心项目位于北京市松山自然保护区内,是2022年北京冬奥会雪上项目的举办场所之一,由中交隧道工程局承建的国家高山滑雪中心第二标段施工范围为除C1/B1雪道之外的全部雪道及连接雪道的技术道路。在施工中用到的混凝土方量很大,且施工点分散在山间,混凝土取样实验工作量巨大。加之工期紧张、道路坡度过大,车辆通行困难,商混难以保质保量的供应,现场施工采用干拌料现拌混凝土,不同的加水量和外加剂的掺量导致每一盘得到的混凝土抗压强度都不同,因此急需提出一种合适的算法较准确的预测混凝土强度,以免后期由于混凝土强度不够而返工。文章基于SVR算法给出一种混凝土强度预测模型,并采用MATLAB进行代码编写,以求构建一种适用于混凝土强度预测的模型。
2 SVR算法的推导
设含有l个训练样本的训练集样本对为:
其中是第i个训练样本的输入列向量 为对应的输出值。
设在高维特征空间中建立的线性回归函数为:
其中,Φ(x)为非线性映射函数。定义为线性不敏感损失函数:
其中,为回归函数返回的预测值,y为对应的真实值。若与y之间的差别小于等于,则损失为0。线性不敏感损失函数曲线(见图1)。
图1 线性不敏感损失函数值
引入松弛变量,得:
其中,C为惩罚因子,C越大表示对训练误差大于的样本惩罚越大,规定了回归函数的误差要求,越小表示回归函数的误差越小。引入Largrange函数,并转换为对偶形式:
其中,为核函数。假定上式得到的最优解为,,则有:
回归函数为:
其中不为零的参数为样本xi的支持向量。SVR算法结构(见图2)。
图2 SVR算法结构
3 SVR算法实现
基于上文的理论基础,利用MATLAB编写程序进行,实现支持向量机回归模型的建立及性能评价,程序流程图(见图3):
图3 SVR算法流程图
其中产生训练集和创建SVR模型在上文已详细描述,此处不再赘述。针对仿真测试得到测试集的均方误差E和决定系数R²可由下式得出:
其中,l为测试集样本个体;yi(i=1,2,...,l)为第i个样本的真实值;(i=1,2,...,l)为第i个样本的预测值。
由于影响混凝土性能的因素过多,有些因素具有很强的随机偶然性,本文所述对比对象皆为标养条件实际测得的混凝土石块抗压强度,一定程度上降低了偶然因素的影响。实验采用100个混凝土标准试块样本抗压强度与其含水泥、粗细骨料、水、外加剂、掺合料6种成分的含量大小,通过测试其中的80个样本构建混凝土28d抗压强度与混凝土组份之间的回归数学模型,剩余的20个样本用来进行算法性能评价。如下表1所示(仅列出部分参数):
表1 混凝土样本组份
样本编号 1 2 3 ....... 78 79 80
水泥 273 163 154 ....... 152 304 147
粗骨料 904 843 923 ....... 944 895 860
细骨料 680 746 658 ....... 695 722 829
水 210 180 220 ....... 168 214 202
外加剂 9 12 10 ....... 18 6 9
掺合料 187 340 256 ....... 317 140 204
抗压强度 34.99 41.14 26.82 ........ 38.86 38.46 25.21
4 SVR算法性能测试
将上文给出的数据导入编写的MATLAB程序中得出以下结果(如图4、5),图中横坐标为样本编号,纵坐标为试块的抗压强度。图中用“—*—”表示通过28d标准养护实验测出的混凝土石块抗压强度真实值,用“—0—”表示采用SVR算法得到的混凝土试块抗压强度预测值。其中图4为提前给出80组先验样本的组份参数值与抗压强度值,通过训练得到的预测值与给出的真实值的比较。图5为仅给出20组样本的组份参数,通过之前80组先验样本构建的预测模型对这20组样本的抗压强度进行预测,得到的结果与实验条件下得到的抗压强度进行对比,旨在分析算法的可行性。
图4 训练样本预测效果
图5 测试样本预测效果
从图4中可以看出通过训练得到的预测结果与真实值相比,均方误差mse为0.00 040 733,拟合度R²为0.99 685。当mse为0时表示预测值与真实值完全重合,此时预测值最好,采用SVR算法得到均方误差小于1‰,拟合度R²表示模型拟合程度,取值范围为0~1,越接近1拟合效果越好,采用SVR算法得到的拟合值非常接近1。说明通过训练样本所得的预测值接近真实值,算法的稳定性很好。
从图5中可以看出训练得到的模型对混凝土样本参数进行预测效果很好,在无干预的情况下,均方误差为1‰左右,说明通过SVR算法得出的模型能很好的基于给定的混凝土组成参数对混凝土抗压强度进行预测。
判断一个算法的好坏程度,除了其结果是否满足需求外,还需考虑其对计算机性能依赖程度、是否占用过多资源、计算速度是否满足要求、是否能迅速收敛、是否会陷入局部最优。图6为计算过程中算法的性能参数,图中从上至下参数分别为:训练次数、每次训练时间、性能、误差降、误差、训练步数。
图6 SVR算法性能
从上图中可以看出,当训练7次时算法收敛,每次训练耗时不到1s,最优性能将均方误差控制在10^(-5)以内。收敛时误差降为0.0 208,误差为1‰,样本数据误差验证6次后收敛。可以看出,该算法具有收敛速度快、占用资源少、精度高的特点。
5 与经验公式计算效果对比分析
本文利用回弹法得到的公式,对数据进行归一化,将计算混凝土强度得到的结果与真实值进行对比,从图7中可以看出,虽然回弹法也能较好的计算得到混凝土的强度值,误差能控制在10%以内,拟合度约为0.9。但相较与本文给出的预测模型,其计算精度不足。且其在对均匀性不好的混凝土抗压强度计算上表现不佳,计算结果偏离真实值较大。
图7 经验公式预测结果
6 结语
利用有限的混凝土样本对混凝土28d抗压强度进行预测是一个涉及面广、综合性强的非线性问题,本文提出了一种基于SVR算法来进行混凝土强度预测的方法。通过实验数据检测证明了算法的可行性,预测结果与28d标养得到的结果拟合较好,避免混凝土强度不合格导致的后期返工。该方法能节约大量的施工现场人工和实验费用,特别适用于现场干拌混凝土强度的预测,具有一定的经济适用性。