MATLAB-损失函数和模型质量度量

本文介绍了损失函数的概念及其在模型参数估计中的作用。详细讨论了不同配置选项如何影响损失函数,包括焦点、加权滤波器、正则化等,并介绍了如何通过这些选项优化模型。此外,还介绍了模型质量指标,用于评估模型的拟合度和复杂性。
摘要由CSDN通过智能技术生成

什么是损失函数?

系统标识工具箱™ 软件通过最小化模型输出和测量响应之间的误差来估计模型参数。这个误差称为损失函数或成本函数,是预测误差e(t)的正函数。通常,该函数是误差平方的加权和。对于具有ny输出的模型,损失函数V(θ)具有以下一般形式:

其中:

  • N是数据样本数。
  • e(t,θ)是给定时间t的ny-by-1误差向量,由参数向量θ参数化。
  • W(θ)是加权矩阵,指定为半正定矩阵。如果W是对角线矩阵,您可以将其视为在多输出估计期间控制输出相对重要性的一种方法。当W是固定重量或已知重量时,它不依赖于θ。

软件通过最小化相对于θ的V(θ)来确定参数值。

为了便于记,V(θ)以矩阵形式表示:

 E(θ)是大小为N×ny的误差矩阵。E的第i行(θ)表示时间t=i时的误差值。
V(θ)的确切形式取决于以下因素:

  • 模型结构。例如,您想要估计的模型是ARX还是状态空间模型。
  • 估算器和估算选项。例如,您是使用n4sid还是ssest估计器并指定Focus和OutputWeight等选项。

配置损失功能的选项

您可以根据您的应用需求配置损失函数。当估计器可用时,以下估计器选项配置损失函数:

估计选项描述提示

Focus

聚焦

焦点选项影响损失函数中e(t)的计算方式:
当Focus为“预测”时,e(t)表示1步预测误差:

当Focus为“模拟”时,e(t)表示模拟误差:

笔记
对于噪声分量微不足道的模型,(H(q)=1)、ep(t)和es(t)是等价的。

Focus选项也可以解释为损失函数中的加权过滤器。有关详细信息,请参见聚焦和加权过滤器选项对损失函数的影响

  • 在估计选项集中指定“焦点”选项。
  • oe和tfest的估计选项集没有Focus选项,因为估计模型的噪声分量微不足道,因此ep(t)和es(t)是等效的。

WeightingFilter

加权滤波器

指定加权过滤器时,预过滤预测或模拟错误将最小化:
ef(t)=ℒ(e(t))
哪里ℒ(.)是线性滤波器。WeightingFilter选项可以解释为应用于损失函数的自定义加权过滤器。有关详细信息,请参见聚焦和加权过滤器选项对损失函数的影响。
在估计选项集中指定WeightingFilter选项。并非WeightingFilter的所有选项都可用于所有估算命令。

EnforceStability

强制稳定性

当EnforceStability为真时,最小化目标还包含一个约束,即估计模型必须稳定。在估计选项集中指定EnforceStability选项。
procest和ssregest命令的估计选项集没有EnforceStability选项。这些估算命令总是产生一个稳定的模型。
当与时域估计数据一起使用时,估计命令tfest和oe总是会产生一个稳定的模型。
识别不稳定的电厂需要在带有稳定反馈控制器的闭环下收集数据。对植物动力学的可靠估计需要模型结构中足够丰富的噪声成分,以将植物动力学与反馈效应分离开来。因此,使用普通噪声分量(H(q)=1)的模型,例如通过tfest和oe命令估计的模型,对于不稳定的对象,无法估计出良好的结果。

OutputWeight

输出权重

OutputWeight选项在损失函数中配置权重矩阵W(θ),并允许您在多输出估计期间控制输出通道的相对重要性。

  • 当OutputWeight为“noise”时,W(θ)等于误差e(t)估计方差的倒数:

 因为W取决于θ,所以权重被确定为估计的一部分。使用此权重最小化损失函数可将损失函数简化为:

 使用噪声方差的倒数是最大似然意义上的最佳加权。

  • 当OutputWeight是一个ny-by-ny半正定矩阵时,使用恒定权重。然后,该损失函数成为平方误差的加权和。
  • 在估计选项集中指定OutputWeight选项。并非OutputWeight的所有选项都可用于所有估算命令。
  • OutputWeight不可用于多项式模型估计,因为此类模型总是一次估计一个输出。
  • 当SearchMethod为“lsqonlin”时,OutputWeight不能为“noise”。

ErrorThreshold

错误阈值

ErrorThreshold选项指定何时将大错误的权重从二次调整为线性的阈值。大于ErrorThreshold乘以估计标准偏差的误差在损失函数中具有线性权重。

哪里:

  • I表示那些时间点,∣e(t)∣ <ρ∗σ,,其中ρ是误差阈值。
  • J代表I的补码,即其中的时间瞬间∣e(t)∣ >=ρ∗σ.
  • σ是误差的估计标准偏差。

误差v(t,θ)定义为:

  • 在估计选项集中指定ErrorThreshold选项。
  • 误差阈值ρ=1.6的典型值将数据异常值对估计结果的影响降至最低。

Regularization

正规化

正则化选项修改损失函数,以对估计参数的方差添加惩罚。
以最小化预测误差为目标建立损失函数。它不包括对估计参数方差(可靠性度量)的具体限制。这有时会导致模型的估计参数存在很大的不确定性,特别是当模型有许多参数时。
正则化在损失函数中引入了一个额外的术语,这会影响模型的灵活性:

第二项是估计参数集θ关于其标称值θ*的加权(R)和标度(λ)方差。

在估算选项集中指定正则化选项。
对于线性参数内模型(FIR模型)和ARX模型,可以使用arxRegul命令计算正则化变量R和λ的最佳值。

Focus(聚焦)和WeightingFilter (加权滤波器)选项对损失函数的影响

Focus选项可以解释为损失函数中的加权过滤器。WeightingFilter选项是应用于损失函数的附加自定义加权过滤器。
要了解Focus和WeightingFilter的效果,请考虑线性单输入单输出模型:

y(t)=G(q,θ) u(t)+H(q,θ) e(t)

其中,G(q,θ)是测量的传递函数,H(q,σ)是噪声模型,e(t)表示建模为高斯白噪声的附加扰动。q是时移算子。
在频域中,线性模型可以表示为:

Y(ω)=G(ω,θ)U(ω)+H(ω,θ)E(ω)

其中Y(Ω)、U(Ω)和E(ω)分别是输出、输入和输出误差的傅里叶变换。G(ω,θ)和H(ω、θ)分别表示输入输出函数和噪声传递函数的频率响应。
SISO模型的最小损失函数如下:

使用Parseval恒等式,频域中的损失函数为:

 用E(ω)代替得到:

 因此,可以将损失函数V最小化解释为将G(θ,ω)拟合为经验传递函数Y(ω)/U(ω


作为加权滤波器。这对应于将Focus指定为“预测”。该估计强调输入功率较大的频率 (‖U(ω)‖2 
更大),并淡化噪音较大的频率 (‖H(θ,ω)‖2很大)。
当Focus指定为“模拟”时,与‖H(θ,ω)‖2相反的权重未使用。也就是说,只有输入频谱用于衡量特定频率范围内估计拟合的相对重要性。
指定线性过滤器时ℒ 作为WeightingFilter,它被用作损失函数中的附加自定义权重。

 

 在这里ℒ(ω) 是滤波器的频率响应。使用ℒ(ω) 以增强模型响应在某些频率下对观测数据的拟合,例如强调接近系统共振频率的拟合。
输入-输出传递函数G的估计值与您使用ℒ(.)使用idfilt,然后在不指定WeightingFilter的情况下估计模型。然而ℒ(.)根据估计的噪声模型H,取决于焦点的选择:

重点是“预测”-软件使加权预测误差ef(t)=ℒ(ep(t)),最小化,估计模型的形式为:y(t)=G(q)u(t)+H1(q)e(t),其中H1(q)=H(q)/ℒ(q). 因此,具有预测焦点的估计会产生H的有偏估计。如果您先用ℒ(.)使用idfilt,然后估计模型。
当H参数化独立于G时,可以处理过滤器ℒ(.)作为影响估计偏差分布的一种方式。也就是说,可以在系统频率响应的拟合G和拟合H之间进行权衡/ℒ 最小损失函数时的扰动谱。有关更多详细信息,请参阅Lennart Ljung,Prentice Hall PTR,1999年出版的《系统识别:用户理论》第二版第14.4节。

重点是“模拟”-软件首先通过最小化加权模拟误差 ef(t)=ℒ(es(t)),来估计G,其中es(t)=ymeasured(t)−G(q)umeasured(t)。一旦G被估计,软件就会修复它,并通过使用未过滤的数据最小化纯预测误差e(t)来计算H。估算模型的形式如下:
y(t)=G(q)u(t)+He(t)
如果你先对数据进行预过滤,然后对模型进行估计,你会得到G的相同估计,但得到一个有偏差的噪声模型H/ℒ.
因此,WeightingFilter与预过滤估计数据以估计G具有相同的效果。对于H的估计,Weighting Filter的效果取决于Focus的选择。预测焦点估计噪声模型H的有偏版本/ℒ, 而模拟焦点估计H。对估计数据进行预过滤,然后估计模型总是得到H/ℒ 作为噪声模型。

模型质量指标

 评估模型后,使用模型质量度量来评估已识别模型的质量,比较不同的模型,并选择最佳模型。报告。已标识模型的Fit属性存储各种度量,如FitPercent、LossFcn、FPE、MSE、AIC、nAIC、AICc和BIC值。
FitPercent、LossFcn和MSE是估算期间最小化的实际数量的度量。例如,如果Focus为“simulation”,则计算模拟误差es(t)的这些数量。同样,如果指定WeightingFilter选项,则使用过滤的残差ef(t)计算LossFcn、FPE和MSE。
FPE、AIC、nAIC、AICc和BIC测量值根据以下关系作为输出扰动的特性进行计算:
y(t)=G(q)u(t)+H(q)e(t)
G(q)和H(q)表示估计模型的测量和噪声分量。
无论损失函数是如何配置的,误差向量e(t)都是使用给定模型和给定数据集计算的一步预测误差。这意味着,即使通过最小化模拟误差es(t)获得模型,仍使用预测误差ep(t)计算FPE和各种AIC值。ep(t)的实际值是使用预测范围为1的pe命令和为估计指定的初始条件确定的。

这些度量包含两个术语,一个用于描述模型准确性,另一个用于说明其复杂性。例如,在FPE中,

 描述了模型精度和描述了模型的复杂性。
通过使用这些标准比较模型,您可以选择一个在准确性和复杂性之间做出最佳(最小标准值)权衡的模型。

质量指标Description

FitPercent

适合百分比

拟合百分比归一化均方根误差(NRMSE)表示为百分比,定义为:

哪里:
ymeasured是测量的输出数据。
\bar{​{y_{measured}}}是其(通道)平均值
ymodel是模型的模拟或预测响应,由Focus控制。
||.|| 表示向量的2-范数。
FitPercent在-Inf(不适合)到100(完美适合)之间变化。如果该值等于零,那么模型在拟合测量数据方面并不比拟合等于数据平均值的直线好。

LossFcn

损失函数

估计完成时损失函数的值。它包含误差阈值、输出权重和用于估计的正则化的影响。
MSE均方误差测量,定义为:

哪里:
e(t)是其范数被最小化以进行估计的信号。
N是估算数据集中的数据样本数。
FPEAkaike的最终预测误差(FPE)定义为:

哪里:
np是模型中自由参数的数目。np包括估计的初始状态数。
N是估计数据集中的样本数。
E是预测误差的N-by-ny矩阵,其中ny是输出通道的数量。
AIC

Akaike信息标准的原始度量,定义为:

AICc小样本修正了Akaike的信息标准,定义为:

当数据大小N较小时,此度量对于从候选模型列表中选择具有最佳复杂度的模型通常更为可靠。
nAIC

Akaike信息标准的标准化度量,定义为:

BIC

Bayesian Information Criterion, defined as:

 Loss Function and Model Quality Metrics - MATLAB & Simulink - MathWorks 中国

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白日梦想家_胖七七

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值