一、概述
智能工业设计是一种非常重要的现代设计方法, 能从众多的设计方案中找出最佳方案,从而大大提高设计的效率和质量。现代工业设备的复杂性使得工业设计变得越来越困难,利用新的科学理论探索新的智能工业设计方法是该研究领域的一个重要方面。
工业设计的数据价值呈现单点价值密度高、数据集规模小的情况,这些特性为面向工业的优化设计技术提出了挑战。从发展历史来看,工业设计方法可以分为传统优化设计理论方法和现代优化设计理论方法。
图1 智能工业设计方法的发展历程,现代优化设计方法需要比传统优化方法更好地解决工业设计中“维度高、求解问题不可导、计算昂贵”的问题
现代优化设计路线中往往大量采用了数据驱动的方式构建代理模型,用以解决传统优化设计方法适用性低、代价昂贵等问题,并在实际工程中有了一定规模的成功应用。
但数据驱动的技术路线普遍存在着data-hungry数据规模依赖和dimension-curse维度诅咒问题,即算法非线性表达能力越强,对于训练数据规模和多样性需求也就越高;而非线性表达能力一般的算法,又无法有效提取训练数据集中复杂的映射模式,训练得到的模型难以胜任复杂应用。
由于工业设计端数据集规模较小的客观限制,诸如深度学习等复杂模型无法得到有效的使用,而相较于深度学习,机器学习算法对于数据集的规模依赖较低,故而成为实际工业应用中的常用类型算法。常见的机器学习开源算法,非线性表达能力有限,叠加考虑工业设计数据常存在多种模式混合、数据分布一致性差异大等因素,基于开源机器学习算法的建模效果将被进一步削弱。
图2 DTEmpower的HierachicalStratify分层分类技术有效缓解工业设计段数据规模小、分布不一致等导致的模型精度差的问题
基于以上思考,天洑软件通过自研的HierachicalStratify分层分类技术作为数据前处理功能,辅助用户通过挖掘训练集内部的多种混合模式,单一模式下的子数据集的分布一致性将得到较大提升,而后用户即便使用常见的开源机器学习算法,也可以得到性能更好的模型。通过这种分而治之的解构方式,HierachicalStratify分层分类技术可有效均衡“数据规模投入”和“训练模型精度”之间的矛盾,为在实际工业应用中落地数据驱动技术扫清了障碍。该技术目前已集成于天洑DTEmpower软件之中。
二、HierachicalStratify分层分类技术模块解构
HierachicalStratify分层分类技术模块采用无监督聚类算法、有监督分类算法和回归算法作为组合解决方案,其中数据处理的顺序如下:
第一步,采用无监督聚类算法用于前置分割用户提供的数据集,根据用户指定的参数配置,形成相应的数据子集分割方案;
第二步,采用有监督分类算法作为中段的分类器,用于判别新进数据样本的子类归属,从而决定要激活的回归模型;
最后,使用机器学习回归算法,在用户提供的数据集上验证HierachicalStratify分层分类技术是否可以有效地提升当前建模效果。
HierachicalStratify分层分类技术模块的参数如表1所示:
表1 HierachicalStratify分层分类技术模块的参数名称和含义
参数名称 | 含义 |
input_csv | 源csv数据集路径 |
output_path | 分割后子csv数据集的输出路径 |
y_name/x_names | 分别为目标参数名称、建模输入变量参数名称 |
n_split | 用户用于指定调用分层分类进行分割的层数 |
n_jobs | 分层分类模块支持并行计算,用户用于指定并行规模 |
activate_automl | 启动该选项将在更准确的机器学习模型上进行分割独立建模工作 |
random_state | 随机数种子 |
三、基于DTEmpower的HierachicalStratify分层分类建模实验
选用某测试数据集进行实验验证,此数据集的设计参数为(x1, x2, x3),目标参数是y。采用图3所示的建模方法,其中HierachicalStratify节点为DTEmpower集成的分层分类技术模块,基元算法选择Bagging算法。
图3 基于DTEmpower的HierachicalStratify分层分类技术建模流程,HierachicalStratify节点使用简单,通过节点拖拽即可搭建完整的建模流程
选择MAPE为评价指标,设置数据集划分子类个数n_split=2对两种算法的建模方案结果进行对比,对比结果如表2所示。
表2 基于HierachicalStratify分层分类技术方案的回归模型误差,在不增加数据规模和改变机器学习算法的情况下,仅通过引入HierachicalStratify分层分类技术便可以将原先近10%的预估误差降低到3.64%:
算法 | 评价指标(MAPE) |
Bagging | 9.81% |
HierachicalStratify(n_split=2) | 3.64% |
图4 固定回归算法为Bagging,未采用和采用HierachicalStratify分层分类技术处理数据集的两种建模方案的对比效果,采用HierachicalStratify分层分类技术方案的模型更逼近真实值
表3开启HierachicalStratify分层分类的智能分割功能后,系统自动判定最佳分类数为n-split=3, 可以发现相较于用户手动设置n_split=2的分割方案,开启智能分割的方案可以得到更进一步的性能提升。
算法 | 评价指标(MAPE) |
Bagging | 9.81% |
HierachicalStratify(n_split=2) | 3.64% |
HierachicalStratify(n_split=3) | 2.79% |
图5 对数据集采用HierachicalStratify(n_split=2)分层分类技术后,模型误差有大幅下降,MAPE从9.81%下降到3.64%,采取优选分割功能(n_split=3)后,MAPE误差进一步下降到2.79%
通过图6所示的数据集的可视化结果也可发现,数据集中明显存在多种子类模式,分层分类技术方案成功地捕获了数据集内部的混合模式情况,并通过“分而治之”的方式为后续的回归训练提供了有效的处理支持,并大幅地提高了数据建模的精度。
通过图7所示的测试数据集的可视化结果也可发现,数据集中明显存在多种子类模式,分层分类技术方案成功的通过“分而治之”两种子类模式提高了数据建模的精度。
图6 采用天洑DTEmpower的HDDV(高维数据集可视化)模块对数据集可视化观察,可以发现数据集中明显存在两个不同的子类模式
2. 实验结果分析
① 智能工业设计通常采用数据驱动的机器学习方法,但是工业设计段数据集规模小限制了复杂模型的应用,数据分布不一致又进一步消减了常见开源机器学习算法的代理精度。
② HierachicalStratify分层分类技术通过挖掘样本训练集内部的多种混合模式,HierachicalStratify分层分类技术可有效均衡“数据规模投入”和“训练模型精度”之间的矛盾,为在实际工业应用中落地数据驱动技术扫清了障碍。
③ 针对某测试数据集的实验结果表明,在该测试数据集内部存在多种模式的情况下,HierachicalStratify分层分类技术的应用可以轻松地将模型的MAPE误差从10%降低到3%。
四、基于DTEmpower的分层分类建模实验
数据驱动的建模方法对数据不仅有“量”的要求,也有“质”的要求,而工业设计段的数据集规模小、数据集的分布又不一致,这成了工业设计通往数据驱动、智能化的一大障碍。
DTEmpower致力于为工业数据研究者扫清各种陷阱、提供易用可信赖的技术支撑!平台不仅提供了数据建模一站式的解决方案,还提供了强大的分层分类、高维可视化、异常点提取等探索数据的支撑技术,可以帮助用户快速、便捷的深入认识数据,为建立高精度的数据模型提供了一条高效可落地的实现路径。