模型参数的正则化估计

什么是正规化?

正则化是用于指定模型灵活性的约束的技术,从而降低了估计的参数值中的不确定性。

通过将测量数据拟合到预测的模型响应,例如具有三极或二阶状态空间模型的传递函数来获得模型参数。模型顺序是其灵活性的衡量标准 - 较高的顺序,灵活性越大。例如,具有三极的模型比具有两极的型号更灵活。增加订单导致模型以提高准确度适合观察到的数据。但是,增加的灵活性随着估计的较高不确定性的价格而言,通过较高的随机或方差错误。另一方面,选择具有太​​低订单的模型导致更大的系统错误。此类错误不能归因于测量噪声,并且也称为偏见错误。

理想情况下,良好模型的参数应尽量减少均方误差(MSE),由系统误差(偏差)和随机误差(方差)之和给出:

MSE = |偏见|2+方差

因此,最小化是约束模型的权衡。灵活的(高阶)模型具有较小的偏差和大方差,而更简单(低阶)模型会导致较大的偏差和较小的方差误差。通常,您可以通过跨验证测试在一组增加灵活性模型上调查偏差和方差误差之间的此权衡。但是,这种测试并不总是在管理参数估计行为方面完全控制。例如:

  • 您不能使用已知的(先验)有关模型的信息,以影响适合的质量。

  • 在灰度盒和其他结构化模型中,订单由底层杂散固定,无法改变。如果数据不足以捕获全方位的动态行为,这通常会导致估计值的高不确定性。

  • 改变模型顺序不能让您显式地塑造基础参数的方差。

通过在最小化标准中引入惩罚模型灵活性的额外术语,正则化可以更好地控制偏差与方差的折衷。不需要正则化,对于只有一个输出且没有加权的模型,参数估计是通过最小化预测误差的加权二次范数得到的ε.tθ.):

V N θ. 1 N σ. t 1 N ε. 2 t θ.

在哪里t是时间变量,N是数据样本的数量,和ε.t,θ)为模型的观测输出与预测输出之间的差值计算出的预测误差。

正则化通过添加与参数向量的规范平方成比例的术语来修改成本函数θ.,使参数θ.通过最小化:

V N θ. 1 N σ. t 1 N ε. 2 t θ. + 1 N λ. θ. 2

在哪里λ.是一种积极的常数,它具有v中交易方差误差的影响N(θ)为偏倚误差- λ值越大,偏倚越高,方差越小θ..添加的术语通过在估计期间保持其值的效果来惩罚参数值。在统计中,调用这种类型的正规化Ridge回归.有关更多信息,请参阅Ridge回归(统计和机器学习工具箱)。

请注意

另一个选择标准的选择θ.向量是L1规范,即套索正规化.但是,系统识别工具箱™仅支持基于2规范的惩罚,称为l金宝app2正则化,如上面的方程所示。

用正定矩阵使罚项更有效R,允许参数向量的加权和/或旋转:

V N θ. 1 N σ. t 1 N ε. 2 t θ. + 1 N λ. θ. T R θ.

的方阵R给予额外的自由:

  • 塑造罚款术语以满足所需的约束,例如保持模型稳定

  • 添加有关模型参数的已知信息,例如各个参数的可靠性θ.向量

对于灰盒式型号等结构化模型,您可能希望将估计的参数保留在猜测值接近,以保持估计模型的物理有效性。这可以通过透露罚款术语来实现 λ. θ. - θ. T R θ. - θ. ,使成本函数为:

V N θ. 1 N σ. t 1 N ε. 2 t θ. + 1 N λ. θ. - θ. T R θ. - θ.

最小化这种成本函数具有估计的效果θ.这样他们的价值观仍然遵循初始猜测θ*

在正则化:

  • θ*表示关于未知参数的先验知识。

  • λ.R代表对未知参数的先前知识的信心。这意味着价值越大,置信度越高。

贝叶斯环境中的正式解释是θ具有先前分布,该分布是具有平均θ*和协方差矩阵的高斯 σ. 2 / λ. R - 1 2为ε(t)的方差。因此,正规化的使用可以与有关系统的一些预先信息联系起来。这可能是相当软的,比如系统是稳定的。

您可以使用正则化变量λ.R作为工具,找到一个良好的模型,使复杂性余额,并提供偏差和方差之间的最佳权衡。您可以获得用于传递函数,状态空间,多项式,灰度框,过程和非线性黑盒型号参数的正常估计。定义惩罚术语的三个术语,λ.Rθ*,由正则化选项表示λR, 和义务,分别在工具箱中。您可以在估计选项集中指定其用于线性和非线性模型的估计选项集中的值。在系统标识应用程序中,单击正则化在线性模型估计对话框或估算选项在“非线性模型”对话框中。

何时使用正则化

使用正常化:

  • 识别overparameterized模型。

  • 施加先验结构模型中模型参数的知识。

  • 在ARX和FIR模型中纳入系统行为的知识。

识别Overparameterized模型

过度参数化模型具有丰富的参数。它们的估计通常通常具有高水平的不确定性的参数值。非参数化对于非线性ARX是常见的(idnlarx)模型,也可以用于使用自由参数化的线性状态空间模型。

在这种情况下,正规化改善了估计的数值调理。您可以使用正则化常量的各种值探索偏差与方差概况λ.通常是义务选项是其默认值0, 和R是一个身份矩阵,使得以下成本函数最小化:

V N θ. 1 N σ. t 1 N ε. 2 t θ. + 1 N λ. θ. 2

在以下示例中,使用大量神经元的非线性ARX模型估计导致坏条件估计问题。

%负载估计数据。负载正则化申请表.MAT.MAT.NLDATA.%估计模型没有正规化。订单= [1 2 1];问= sigmoidnet ('单位数量',30);sys = nlarx(nldata,订单,nl);比较(NLDATA,SYS)

即使是一个小规则的惩罚也适用于模型到数据的良好拟合。

使用正则化常数λ= 1E-8的%估计模型。选择= nlarxOptions;opt.Regularization.Lambda = 1 e-8;sysr = nlarx (nldata、订单、问、选择);比较(nldata sysr)

施加先天的结构化模型中模型参数的知识

在衍生自微分方程的模型中,参数具有物理意义。即使猜测的可靠性对于每个参数,您可能对这些参数的典型值具有很好的猜测。由于在这种情况下修复了模型结构,因此无法简化结构以降低方差误差。

使用正则化常数义务,您可以将估计的值保持接近其初始猜测。你也可以设计R反映对参数初始猜测的信心。例如,如果θ是2元素向量,并且您可以猜测第一元素的值比第二个元素更频繁R作为尺寸2-ob-2的对角线矩阵,使得R(1,1)>> R(2,2)。

在以下示例中,通过静态增益参数化DC电机的模型G时间常数τ。根据先验知识,假设你知道G大约是4,τ大约是1。同时,假设你对τ的值更有信心G并希望指导估计保持接近最初的猜测。

%负载估计数据。负载正则化申请表.MAT.MAT.motordata.%为直流电机动态创建IDGREY模型。mi = idgrey(@dcmotorode,{'G',4;“τ”,1},'光盘',{},​​0);mi = setpar(mi,'标签''默认');%配置正则化选项。选择= greyestOptions;opt.Regularization.Lambda = 100;%指定第二个参数比第一个参数更广为人知。opt.regularization.r = [1,1000];%指定初始猜测为名义。Opt.Regularization.Nominal ='模型'%估计模型。sys = greyest(motordata,mi,opt)getpar(sys)

在ARX和FIL模型中纳入系统行为的知识

在许多情况下,您可以从冲击试验中知道系统脉冲响应的形状。例如,稳定系统的脉冲响应是平滑的、指数衰减的,这是很常见的。您可以使用这种系统行为的先验知识来为参数中的线性模型(如ARX和FIR结构模型)推导良好的正则化常数值arxRegul命令。

对于任意结构的黑盒模型,往往很难确定的最优值λR这会产生最好的偏差与方差权衡。因此,建议您首先获取ARX或FIR结构模型的正常化估计。然后,将模型转换为状态空间,传递函数或多项式模型idtf中的难点, 要么Idpoly.命令,随后需要减少订单。

在下面的例子中,由于数值病态,直接估计一个15阶连续时间传递函数模型失败。

%负载估计数据。负载干酪2烘干机= IDDATA(Y2,U2,0.08);Dryerd = DEDREND(干燥器,0);Dryerde =磨机(1:500);XE =磨机(1:500);ZE =烘干机(1:500);ZV =晶体机(501:结束);%估计模型没有正规化。sys1 = tfest(ze,15);

因此,使用正则化ARX估计,然后将模型转换为传递函数结构。

%指定正则化常量。[L, R] = arxRegul(ze,[15 15 1]);optARX = arxOptions;optARX.Regularization.Lambda = L;optARX.Regularization.R = R;%估计ARX模型。Sysarx = Arx(Ze,[15 15 1],Optarx);%转换模型到连续时间。SYSC = D2C(SYSARX);%转换模型转移函数。sys2 = idtf (sysc);%验证模型sys1和sys2。比较(ZV,SYS1,SYS2)

选择正则化常数

选择正则化常量λ和的指导R是贝叶斯的解释。增加的罚则是一个假设参数矢量θ是具有平均θ*和协方差矩阵的高斯随机向量 σ. 2 / λ. R - 1

您可以自然地与灰度盒模型的这种假设相关,其中参数是已知的物理解释。在其他情况下,这可能更困难。然后,你必须使用ridge回归(R= 1;θ* = 0)并通过试验和误差调谐λ。

使用以下技术来确定λ和R价值观:

  • 使用可调谐内核合并先前的信息。

  • 执行交叉验证测试。

使用可调谐内核并入的先前信息

调整ARX模型的正则化常量arxRegul基于关于真正脉冲响应的属性的简单假设。

在FIR模型的情况下,参数向量包含脉冲响应系数bk对于系统。从系统的先前知识来看,通常已知脉冲响应是平滑且指数衰减的:

E b k 2 C μ. k c o r r b k b k - 1 ρ

在哪里corr意味着相关性。等式是在系数C,μ和ρ中的正则化常数的参数化,并且所选的形状(衰减多项式)被称为a内核.因此,内核包含有关脉冲响应系数的先前协方差的参数化的信息。

您可以估计核的参数,通过调整它们到测量数据使用正则化妥Kernel.输入的arxRegul命令。例如,直流内核估计所有三个参数TC.内核链接 ρ μ. .这种调整内核的技术适用于所有线性参数型号,如ARX和FIR模型。

执行交叉验证测试

测试和评估任何正则化参数的一般方法是基于估计数据集的某些参数估计模型,并评估模型适合另一验证数据集。这被称为交叉验证

交叉验证完全类似于选择模型顺序的方法:

  1. 生成候选λ和R要测试的值。

  2. 估算每个候选正则化常量集的模型。

  3. 将模型适合验证数据进行比较。

  4. 使用常量给予验证数据的常量。

例如:

%创建估计和验证数据集。泽z = (1: N / 2);zv = z (N / 2:结束);%指定正则化选项和估计模型。选择= ssestOptions;对于test = 1:M opt.Regularization.Lambda = Lvalue(test);opt.Regularization.R =右值(测试);m{测试}= ss(泽,顺序,选择);比较模型与验证数据的模型拟合。[~,适合]=比较(zv, m {:))

参考

[1] l . Ljung。线性系统辨识的一些经典与新思想控制、自动化与电气系统学报。2013年4月,第24卷,第1-2页,第3-10页。

[2] L. Ljung和T. Chen。“估计动态系统的正常化提供了什么?”在IFAC国际讲习班关于控制和信号处理的IFAC国际研讨会的诉讼中,Alcosp13,Caen,法国,2013年7月。

[3] L. Ljung和T. Chen。“系统识别中的凸起问题。”第10届IEEE控制与自动化国际会议论文集, ICCA 2013,中国杭州,2013年6月

相关的例子

更多关于