分享

转发 | 如何采用机器学习方法提升数据拟合精度?(一)

 nplaiyanfang 2023-08-30 发布于福建
身为常跟混凝土打交道的土木人,根据试验数据拟合经验公式简直就是必修课,没办法,混凝土太复杂啦!大概的做法是这样的,先假设公式的形式,再通过试验数据回归分析来确定公式中的未知系数。由于所假设的公式形式可能无法充分反映参数间复杂的非线性关系,试验参数范围受限,样本多样性有限,经验公式计算结果往往准确性差、离散性大。相比于经验模型,机器学习模型具有以下优点:

1. 具有强大的捕捉输入和输出变量之间复杂非线性关系的能力;

2. 可以处理大量输入变量,避免忽略潜在的重要变量;

3. 可以考虑试验样本的多样性,从海量数据中深入挖掘信息。

近年来,机器学习这类非参数模型在数据充分、现象复杂的领域受到了广泛的认可。


1.1

机器学习和人工智能、深度学习的关系

图片

图 1 机器学习和人工智能、深度学习的关系

机器学习是人工智能的一个子集,深度学习又是机器学习的一个子集。机器学习与深度学习都是需要大量数据来“喂”的,是大数据技术上的一个应用,同时深度学习还需要更高的运算能力支撑,如 GPU。作为目前最热的机器学习方法,深度学习在计算机视觉、自然语言处理领域已经取得了非凡的成就。但小伙伴们也应注意到,深度学习模型需要大量的训练数据才能展现出神奇的效果,对于现实生活中常常遇到的小样本问题,传统的机器学习方法就已经可以很好地解决了,没必要“杀鸡用牛刀”,且由于数据量小,深度学习方法的精度不一定比传统的机器学习方法高。

传统的机器学习算法有很多,如普通最小二乘法、Lasso 回归、岭回归、K-最近邻、支持向量机、决策树、随机森林、AdaBoost、XGBoost 等。在机器学习领域,有种说法叫“世上没有免费的午餐”,就是说,没有任何一种算法能在每个问题上都取得最好的效果。针对这个问题,学习算法 a 可能更好,而针对那个问题,学习算法 b 可能更好。在脱离实际问题的情况下,空泛地谈论哪种算法好毫无意义,要谈论算法优劣必须针对具体学习问题。


图片
图 2 “世上没有免费的午餐”

1.2

机器学习建模流程

闲话少叙,进入正题!

图片
一般来说,机器学习方法的建模流程如下:
图片

图 3 机器学习模型建模流程

1. 广泛收集试验数据。可以是自己做的试验,也可以是其他学者做的试验,总之,试验数据越多越好、数据质量越高越好。
2. 进行特征工程,为机器学习模型选取合适的输入特征。据统计,大部分的数据挖掘/算法工程师80%的时间在做特征工程,20%的时间在做算法设计和模型优化,可见特征工程的重要性。
3. 将数据集随机分为训练集(80%)和测试集(20%)(当然也可以采用其它比例),训练集用于训练机器学习模型,测试集用于评估所训练的机器学习模型的精度。

4. 选择合适的机器学习方法,在训练集上训练模型。

5. 采用网格搜索和十折交叉验证方法优化机器学习模型的超参数。在机器学习模型中,有两类参数:1)模型参数,需要从数据中学习得到,如线性回归的加权系数;2)调优参数,需要在训练机器学习模型之前人为设定,称为超参数(hyper-parameter)。为达到最优的模型性能,通常情况下需要对超参数进行调优。

6. 在训练集上使用最优超参数训练机器学习模型,并通过量化指标(如决定系数 R2、均方根误差RMSE、平均绝对误差 MAE 等)评估模型在测试集上的性能。

7. 解释机器学习模型的预测结果,验证机器学习模型的可靠性。机器学习这类非参数模型是一个“黑箱”,不能对潜在的物理或力学机制给出明确的解释,如果机器学习模型解释的规律与力学规律不符,即使性能再好,也不能用于生产实践。机器学习模型解释的方法很多,如 SHAP 方法、部分依赖图(PDP)等。

看,机器学习建模流程是不是挺简单?小伙伴们是不是跃跃欲试了呢,下期我们将以基于试验数据建立钢筋混凝土柱箍筋计算模型为例来介绍机器学习的实战,欢迎继续关注!





图片

乔保娟

工学博士

高级工程师

SAUSAGE 软件计算核心负责人,从事建筑结构非线性分析及软件开发研究

肖从真工作室

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多