当我们把基于数据驱动的方法和人工智能等技术引入工业、制造业领域时,会发现这样的应用场景与一般应用场景的一个重要差异是重视回归模型。一般AI应用场景与商业数据分析场景下,我们相对重视分类、聚类模型:这些模型对我们希望认知的目标形成定性判断,如判别当前的市场状态是否景气,或通过视觉识别一个人是否具有开门权限等等。而工业场景通常有更高的要求。
很多工业应用场景要求我们对观测目标形成定量判断。这些应用场景出现在工业产品的研发、制造、运维的全生命周期。这就要求我们在工业场景更多使得使用可以定量的回归模型。通过构建回归模型,我们可以总结、掌握存在于工业产品生命周期中各阶段的规律。然后在此基础上实现降本增效,质量提升,问题规避乃至实时控制等。我们从各阶段中各选择一个示例说明这些情形:
在对产品进行设计时,不同的设计参数选择会形成不同的产品性能。在理论上,设计参数与性能的关系可以通过各种仿真计算获取,在此基础上使用数学规划(最优化)方法,就能够得到最优的设计参数。但是在实际工作中,每执行一次仿真都要耗费较多的时间和硬件资源,使得优化设计难以推进。为此就需要引入所谓代理模型,代理模型基于若干次仿真结果,模拟一个计算量相对非常小的仿真过程替代,从而在优化设计中大幅减少真实仿真过程的调用。而这里的代理模型,就是一种基于若干仿真计算结果数据的一种回归模型。
制造业的生产线具有大量工业参数以及影响因素,这些参数和因素影响到制成品的良品率。那么在具备感知这些参数与影响因素取值的条件下,我们希望建立这些要素与制成品良品率之间的某种近似函数关系,这就要求我们建立感知数据与产品良品率之间的回归模型。
对于核能设施、航天、航空、航海产品、高级制造产线等复杂昂贵工业品而言,使用数字孪生技术实时监控其运行状态,并基于此估计产品可能遇到的运行风险是当前重要的发展建设方向。这一技术要求在获取现实感知数据后需要快速测算整体系统的状态,以及系统在接下来一段时间的状态变化。由于数字孪生的高实时性,使用复杂的机理模型解算这种状态往往并不可行,这时就要求数字孪生系统内部包含对系统机理关系的一种近似表示。这种表示综合了系统的机理关系与系统的实际状态信息,形成一种计算复杂度低,鲁棒性好,精度高的系统近似模型。这种近似模型的求解大多属于回归模型构建。
这些示例证明了回归模型构建在智能制造的各阶段应用的普遍性。这种回归模型的大量应用是工业领域使用人工智能技术的一个重要特点。虽然已经有很多文章对回归模型做了介绍,但往往着眼于具体的算法介绍而缺少系统的归纳。
为此我们专门撰写本文对回归模型的相关技术问题进行梳理,以期帮助相关从业者了解回归模型的整体技术框架。本文后续部分讨论以下内容:首先介绍回归的概念,包括它与“拟合”的区别与联系;其次,我们从最小二乘法开始介绍一系列经典的回归方法,并介绍回归模型常见的计算与评估方式;最后,我们汇总所有方法给出其特性比对,以供实际工业智能从业者按照需求选型。
在统计学中,回归分析(regressionanalysis)指的是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。–百度百科
“回归”这个名词最早是由达尔文(进化论提出者)的表弟,英国著名生物学家兼统计学家高尔顿提出的。他发现身高显著超过均值的父母,其后代一般会比父母低;另一方面身高显著低于均值的父母其后台在统计上要比父母高。他将这一规律描述为人类后代的身高会倾向于“回到”平均值附近,因此使用了“回归”(regression)这一词汇。这则轶闻中值得注意之处,是“回归”这一概念首先来自统计学领域。可以说,回归在某种意义上就是寻求变量间最符合某种统计概率的定量关系。主要解决下述问题:
一个与回归概念很相近的数学概念是“拟合(curve fitting)”。由于这两个概念所涵盖的实际计算方法有很多重叠,因此在很多场合我们不对其加以区分,把它们当作一回事。大多数情况下这并没有问题,除了以下方面:
回归模型可以有很多种表示形式,不同的形式往往具有不同的功能,性能以及求解方式。
总体上我们可以把回归模型分为三类:
其中每一类模型当然还能进一步划分成很多小类。下面我们对其逐一进行介绍。
显然的,解析模型是指那些可以用数学表达式表示的模型。这种模型是我们说起“回归”的时候最先想到的形式,学生们在课堂上接触的最多,学者们在研究中最想构建,科学规律最简洁有说服力的表达形式。
然而在实际生活中解析模型能解决的问题并不是那么多。请想象一下如何用一个解析表达式表示一床被
子,或者一张脸。可能出于简便的目的,一张被子会被简化成一个平面,或者复杂些,一个二维流形;但把一张脸简化成一个球面,多数人恐怕都难以接受。
虽然具有这样的局限性,在工业领域,使用解析模型求解回归问题仍然是常见且有效的。这是因为解析模型和其它回归模型相比有三个工业领域非常看重的特征,在这些特性加持下,较为简单的应用场景中使用解析模型很合适:
解析模型大体可以分为两种:
第一种解析模型是由很多个自变量的函数加和构成,并且加和的每一项都只有一个线性加权函数;其它模型是指不具备这样的特征的模型,比如指数回归,又比如下面这个洛伦兹函数模型,如果我们确切的知道所观察得变量之间得关系符合这一规律,就需要基于采样数据求解式(1)中的两个参数
它的函数曲线以及带有高斯误差的采样数据的形态在某种确定的参数下是这样的。
— 接下来的数学公式不需要细看,我们只想说明这个工作的复杂性。
求解这样一个函数的参数并不非常容易,会让我们想起牛顿法,牛顿下山法或者梯度下降法等等名词。这里以梯度下降法为例。梯度下降法通常也称为最速下降法。 要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。在回归问题中,这个函数的自变量是各个系数。梯度下降方法,迭代计算所求系数。其具体步骤包括:
将洛伦兹函数计算结果与实测结果之间差异以MSE形式表示为损失函数。如式2所示:
待定系数取值正确时上述损失函数得最小值0。此时损失函数对各系数偏导数为零。因此需要计算损失函数对各系数偏导数,因此需要写出各参数的偏导数形式如下:
在此基础上,首先初始化待求参数,比如全部赋值为1,然后定义梯度下降计算步长,比如设置为0.01。然后使用上式3,4,5,迭代计算梯度后,以指定步长调整初始值,使参数逐步靠近合理值。在上述设置下,50步迭代其三个参数变化轨迹大概是下面这个样子。
在这个示例中,参数正确的迭代到了理论值附近(array([2.99990868,2.00008539, 3.9999999 ] ) ),但这种方式其实是很脆弱的。首先这样一个复合的形式在实际问题中非常难定义,然后即使有了这样一个形式,在求解时如果使用了不恰当的初始值和步长,以及不合适的计算方法的话,是很难得到稳定的结果的。感兴趣的朋友可以尝试在上述公式基础上变更初始值与步长,很容易就能看到发散的结果。
因此,在工业实际上,应用中使用更多的是第一种模型,因为第一种模型有两个重要的特征:
先说明第一个特征。回顾一下高等数学中泰勒展开,我们应该能够理解这种多项式的性能。这也有助于我们确定用于拟合数据的模型的各项:应当优先选择幂较小的项,然后适应性的增加高次项。就像泰勒展开式那样,幂越高的项其系数很有可能越小。而在一般情形下如果我们得到相反的结果,在没有更多先验知识时就该看看是否计算出了问题。
然后讨论第二个特征,对于多项式而言,一般的,最常使用的求解方法是最小二乘法。统计学理论可以证明,最小二乘法实现了给定样本与映射形式上的最大似然估计。通过形式上使误差的平方和达到最小,结果上使数据误差并且求解也非常方便。它原本用于估计没有精确解的多元线性方程组,但实际上只要多项式中每一项都只有一个数乘参数,对于待求参数而言这个形式就是线性的,因此也就可以使用最小二乘法估计这些参数的最优取值。
值得一提的是在实际使用最小二乘法求解多项式系数时,由于需要对样本规模的巨大矩阵求逆的计算过于昂贵,通常不使用它的矩阵形式求解,而是借助对矩阵进行 SVD 分解获得解。
线性参数函数加和的形式能够解决工业领域中很大一部分回归问题。但是在一些具体的应用场景中往往存在着具体的要求,这些要求有可能体现在解析模型从建模到求解的各个阶段。比如:
这种期望以数学的形式表达,可能体现在对模型损失函数的定义上(添加正则化项),也可能只体现在求解过程中。通过添加不同的要求并进行求解,我们可以获取参数取值非常不同的解析模型。在其中某些正则化解析模型中,大量加和项的参数取值被置为零,这样我们就得到了相对精简的表达模型。比如常见的lasso回归,弹性网络回归以及稀疏回归等等,都是这一理念的体现。需要注意的是,不同的正则项定义一方面表达了某种先验的认知,另一方面也会改变参数求解的方法,比如 lasso回归使用了最小角算法进行求解。这些求解方法本身优劣不同,会影响到最终的建模质量。
解析模型确实是一种强大的回归范式,但它也存在若干不足,比如在以下三个方面:
为此,很多基于统计的非参数回归模型被提出,尝试解决这些问题。非参数回归模型也叫无参数回归模型。这种模型不需要用户提供关于变量间关系很特定的先验形式,而是基于一般数据分布规律与样本数据构建模型。很多智能回归模型可以归类到非参数模型,比如保序回归,决策树回归等,这其中两个具有代表性的模型框架是高斯过程回归(GPR)和局部多项式回归(LPR) 。
高斯过程回归(Gaussian Process Regression, GPR)是使用高斯过程(Gaussian Process,
GP)先验对数据进行回归分析的非参数模型。高斯过程(Gaussian Process, GP)是概率论和数理统计中随机过程(stochastic process)的一种,是一系列服从正态分布的随机变量(random variable)在一指数集(index set)内的组合。
高斯过程回归是在1996年由两位学者提出了系统的描述及相应的求解方法,但它的变体,或者在特定领域作为一种实用技术已经存在了50多年。工业产品研发相关的技术人员在使用isight这样的优化设计软件求解最优设计方案时会遇到仿真计算过于昂贵,拖慢优化迭代过程的问题。为解决这个问题他们经常使用名为克里金(Kriging)的代理模型对仿真计算做部分替代。这个克里金法就是在地统计学中对高斯过程回归的一种实现。
由于本文面向工业智能制造从业者,这里不对高斯过程回归的数学过程做详细描述,只介绍种回归算法的特点:
局部多项式回归方法由名字可知,它在不同的局域使用不同的多项式进行拟合。算法希望对数据进行恰当的分割,使得每个区域的多项式覆盖范围总体得到较好的拟合精度。这种算法在完成模型构建后对每个区域的预测的计算复杂度显然小于高斯过程回归类算法,而其精度又好于全局多项式回归。这样看来局部多项式回归是一个相对折衷的较好方案,但这种方法的模型求解相对繁琐,并且其性能受到很多参数影响,因此对建模人员的技术有一定要求。但可以通过调用美林数据的 Tempo AI 等产品,使用其内置局部多项式功能节点对这种方法进行直接调用。
人工智能的发展证明了神经网络的巨大潜力。因此在传统回归建模方法之外,也需要考虑使用神经网络方法构建回归模型。与传统回归方法相比,神经网络模型的一大优点是它具有非常灵活的拟合能力,因此有能力表达复杂的变量间关系。但另一方面,神经网络模型构建也存在若干局限,比如要求较多数量的训练样本数据,又比如先验知识除作为代价函数的一个添加项之外并没有更好的机理与数据的融合策略,此外神经网络的计算复杂度通常也比较高。
基于此,目前在回归模型构建领域对神经网络的使用并不广泛。相对常见用于回归模型构建的神经网络是 rbf神经网络模型,该种网络使用一种固定的三层网络
模型,以径向基函数(一般的,高斯函数)作为激活函数,以样本数作为输出神经元数量。这种神经网络模型实际上与当前常见的 BP神经网络之间的差异较大,而与高斯过程回归的原理更为接近。根据 J.- P. Costa 等人的研究,在实际使用中rbf神经网络的性能略逊于高斯过程回归。
对回归模型的评估大致有以下面向。
如果样本数据不包含误差,可以想象这个差异必然是越小越好。一般回归模型使用均方误差描述这一差异,我们在前面式(2)中也使用了它。
均方误差(mean-square error,MSE)是反映估计量与被估计量之间差异程度的一种度量。设t是根据子样确定的总体参数θ的一个估计量,(θ-t)2的数学期望,称为估计量t的均方误差。它等于σ2+b2,其中σ2与b分别是t的方差与偏倚。
事实上这一评估准则不仅用于量度模型的性能,MSE 通常是求解回归模型的直接优化目标。因此当模型确定了基本形式,其求解结果就是改该基本形式所确定的可选的函数族中能得到最小 MSE 的那个。
如果样本数据包含误差,那么 MSE 通常不为零,但是当我们选择vc维很高的解析模型,或者层数较多的神经网络时,我们可能将样本中所包含的噪声误认为是规律的一部分而将其纳入回归模型中,即形成过拟合。在这种情形下当MSE 为零或者极小的,我们往往不能确定是发生了过拟合,还是样本数据规律性足够强。为此还需要引入其它标准。
为识别回归模型是否发生了过拟合,我们需要引入训练集与测试集。这两个概念已经随着机器学习的发展而为很多人所熟知。简单的说,训练集与测试集都是从样本数据中随机采样获得,并且具有相同的统计分布特征(因此要求样本数量足够大),这两个数据集之间没有重合,并且他们合并起来就是样本总集。
在回归模型构建时,我们只使用训练集中的数据,而在完成模型构建后进行评估时,我们分别使用训练集和测试集中的数据,并比较两个数据集在同一个回归模型上的性能(比如MSE) 差异。如果这两个数据集在模型上具有相似的性能,我们就说这个模型没有过拟合,相反如果训练集数据在模型上的MSE 值很低,而测试集数据在模型上的 MSE 值很高的话,这个模型就已经过
拟合了。需要注意过拟合的模型完全不能够使用,它通常对现实不具有任何指导意义。
有时候我们获取的样本数据只能局限在一个有限的取值区间,这在工业生产中是常见的。我们希望经由这个有限取值区间去推断其它取值范围上目标变量的情形,因此除了上述对样本集进行分拆以验证模型没有发生过拟合之外,还需要研究模型在样本数据所覆盖取值范围之外的性能与范围之内性能的差异。即模型在样本统计分布区间外推的能力。直觉上,解析模型会比非参数模型具有均方误差(mean-square error, MSE)是反映估计量与被估计量之间差异程度的一种度量。设t是根据子样确定的总体参数θ的一个估计量,(θ-t)2的数学期望,称为估计量t的均方误差。它等于σ2+b2,其中σ2与b分别是t的方差与偏倚。
更好的外推性能,但是这要求模型解析的形式本征的表达了变量关系。这并不容易验证。另外,即使将已知数据按照区间进行分割,我们也只能知道所得模型在故意掩盖的取值范围上的外推性能,而不能知道其在未知取值区间上真正的外推性能。有些情形需要数据分析人员与业务专家针对具体问题进行具体的分析。
基于工程实际,我们总希望得到的回归模型计算又快,结果又准确。但现实往往不允许我们既要有要。这就牵涉到回归模型的计算复杂度问题。在算法课程中我们把计算复杂度分为两类:时间复杂度和空间复杂度。但对于模型构建而言考虑的方面要多一些,这包括:
对不同种类的模型,它们在上述三个方面的性能都存在一些差异。但是由于模型的构建通常是离线的,有限次数的,而模型的使用常常是高频次的,有时间限制的。因此一般而言我们关注模型使用时的计算复杂度。但是对智能制造领域而言,基于数据很难获得的实际情形,模型对样本数据量的要求通常是一个重要的考量因素。
最后,我们总结前述对回归模型的形式,求解难易程度,性能特性等给出如下的选型推荐。