主要内容

模型参数的正则化估计

什么是正规化?

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

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

理想情况下,良好模型的参数应尽量减少均方误差(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-norm,被称为套索正规化。但是,系统识别工具箱™仅支持基于2规范的惩罚,称为l万博1manbetx2正则化,如前面的等式所示。

通过使用正定的矩阵使罚款术语更有效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.θ*,由正则化选项表示lambda.R., 和义务,分别在工具箱中。您可以在估计选项集中指定其用于线性和非线性模型的估计选项集中的值。在系统标识应用程序中,单击正则化在线性模型估计对话框或估算选项在“非线性模型”对话框中。

何时使用正规化

使用正常化:

  • 识别过共同计量模型。

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

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

识别过度分数的模型

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

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

V. ^ N θ. = 1 N σ. T. = 1 N ε. 2 T. θ. + 1 N λ. θ. 2

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

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

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

使用正则化常数λ= 1E-8的%估计模型。选择= nlaroptions;opt.regularization.lambda = 1e-8;sysr = nlarx(nldata,订单,nl,opt);比较(NLDATA,SYSR)

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

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

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

在以下示例中,通过静态增益参数化DC电机的模型G和时间常数τ。从先前的知识来看,假设你知道这一点G约4个,τ是约1.此外,假设您对τ的值有更多的置信度G并希望指导估计保持靠近初始猜测。

%负载估计数据。加载正则化申请表.MAT.MATmotordata.%为直流电机动态创建IDGREY模型。mi = idgrey(@dcmotorode,{'G',4;'tau',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.命令。

对于任意结构的黑匣子型号,通常难以确定最佳值lambda.R.这会产生最好的偏差与方差权衡。因此,建议您首先获取ARX或FIR结构模型的正常化估计。然后,将模型转换为状态空间,传递函数或多项式模型idtf.IDS., 或者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.命令。例如,DC.内核估计所有三个参数TC.内核链接 ρ = μ. 。这种调整内核的技术适用于所有线性参数型号,如ARX和FIR模型。

执行交叉验证测试

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

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

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

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

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

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

例如:

%创建估计和验证数据集。ze = z(1:n / 2);zv = z(n / 2:结束);%指定正则化选项和估算模型。选择= ssestoptions;测试= 1:m opt.regularization.lambda = lvalue(测试);opt.regularization.r = rvalue(测试);m {test} = ssest(ze,订单,选择);END%比较模型,具有模型适合的验证数据。[〜,fit] =比较(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。“系统识别中的凸起问题。”在第十次IEEE控制和自动化国际会议的诉讼程序中,2013年,中国杭州,2013年6月。

相关例子

更多关于