• 鲁棒实验设计(ED-最优设计)


    写在前面

    在中文社区,对于最优设计这块的讨论几近于无。写这篇博客也算是抛砖引玉。

    论文:《Robust Experiment Design via Stochastic Approximation 》(1984)
    作者:LUC PRONZATO AND ERIC WALTER

    介绍了一种统计实验设计方案,利用Fisher矩阵的行列式的期望评判参数估计精度。然而,Fisher矩阵的计算需要知道未知参数的值,这实际上是不能获得的,因此需要一个标称值(nominal value of the parameter.)

    ED-Optimal design

    D-optimal design

    在介绍ED-optimal之前,需要对D-optimal进行介绍。
    最大似然估计写为:
    θ m l = a r g m a x θ [ p ( y ∣ θ ) ] \theta_{ml}=argmax_\theta[p(y|\theta)] θml=argmaxθ[p(yθ)]
    最大似然估计是渐进正态的
    N ( θ , M − 1 ( θ ) ) \mathcal{N}(\theta, M^{-1}(\theta)) N(θ,M1(θ))
    其中, M ( θ ) M(\theta) M(θ)是Fisher信息矩阵,定义为
    M ( θ ) = E y ∣ θ ∂ l n p ( y ∣ θ ) ∂ θ ∂ l n p ( y ∣ θ ) ∂ θ T d y M(\theta)=E_{y|\theta}{\frac{\partial lnp(y|\theta)}{\partial \theta}}{\frac{\partial lnp(y|\theta)}{\partial \theta^T}}dy M(θ)=Eyθθlnp(yθ)θTlnp(yθ)dy
    也等于 M ( θ ) = E y ∣ θ [ ∂ 2 l n p ( y ∣ θ ) ∂ θ ∂ θ T ] M(\theta)=E_{y|\theta}[\frac{\partial ^2 lnp(y|\theta)}{\partial \theta \partial \theta^T}] M(θ)=Eyθ[θθT2lnp(yθ)]Fisher矩阵针对 y y y求取了条件分布的期望,因此实际上是关于 θ \theta θ的函数。
    在多元线性回归(高斯噪声)的情形下,Fisher信息矩阵的表达式是
    M ( θ ) = X T Σ − 1 X M(\theta)=X^T\Sigma^{-1}X M(θ)=XTΣ1X其中,X为数据矩阵(设计矩阵),或者说导数矩阵(对参数向量求导)。
    可以发现,这个表达式与 θ \theta θ没有关系了。这个表达式的推导,我会另外写文章详细探讨。
    然而,在非线性的情况下,上面的表达式仍然与 θ \theta θ有关系。其原因在于X是导数矩阵,线性情形下,任何点的导数都一致。然而,对于非线性问题,我们实际上是把模型先线性化,得到这个导数矩阵。而这个导数矩阵是在哪个点求得的呢?
    实际上,应该从参数的真实值处展开,然而真值是不知道的。D-optimal的做法是,寻找一个标称值 θ 0 \theta_0 θ0,在该值处线性化正向模型,再利用线性回归的Fisher矩阵表达式。这个 θ 0 \theta_0 θ0则只能依靠先验知识或专家决策。

    D-optimal就表达为:
    e = a r g m a x e ( d e t ( M ( θ 0 ) ) ) e=argmax_e(det(M(\theta_0))) e=argmaxe(det(M(θ0)))
    e e e表示实验配置。说白了就是找到一组设计变量,使得估计的Fisher矩阵的行列式最大。

    ED-optimal

    ED-optimal所作出的改进是考虑参数 θ \theta θ的不确定性,实际上也就是先验分布。我们在 θ \theta θ所有可能的值上求取期望,从而获得相比单取一个 θ 0 \theta_0 θ0更加鲁棒的结果。ED-optimal的表达式是:
    e ∗ = a r g m a x e ∫ θ d e t ( M ( θ ) ) p ( θ ) d θ e^*=argmax_e\int_\theta det(M(\theta))p(\theta)d\theta e=argmaxeθdet(M(θ))p(θ)dθ其中, p ( θ ) p(\theta) p(θ)我个人理解是先验分布。
    另一方面,从决策理论的角度看,这实际上是某种贝叶斯风险。风险函数是负的Fisher信息的行列式。
    值得注意的是,上式要区别于下式:
    e ∗ = a r g m a x e det ⁡ ( M ( ∫ θ θ p ( θ ) d θ ) ) e^*=argmax_e\det(M(\int_\theta\theta p(\theta)d\theta)) e=argmaxedet(M(θθp(θ)dθ))即先求期望再计算Fisher信息。

    一个例子

    y = e − θ x ( x ≥ 0 ) + ϵ y=e^{-\theta x} (x \ge0) +\epsilon y=eθx(x0)+ϵ
    噪声服从 ϵ ∼ N ( 0 , σ 2 ) \epsilon \sim N(0, \sigma^{2}) ϵN(0,σ2)
    先求出Fisher信息的表达式:
    ∂ 2 y ∂ θ 2 = x 2 σ 2 y e − θ x − 2 x 2 σ 2 e − 2 θ x M ( θ , x ) = − E y ∣ θ [ ∂ 2 y ∂ θ 2 ] = − x 2 σ 2 e − θ x E y ∣ θ [ y ] + 2 x 2 σ 2 e − 2 θ x = − x 2 σ 2 e − 2 θ x + 2 x 2 σ 2 e − 2 θ x = x 2 σ 2 e − 2 θ x

    2yθ2=x2σ2yeθx2x2σ2e2θxM(θ,x)=Ey|θ[2yθ2]=x2σ2eθxEy|θ[y]+2x2σ2e2θx=x2σ2e2θx+2x2σ2e2θx=x2σ2e2θx" role="presentation" style="position: relative;">2yθ2=x2σ2yeθx2x2σ2e2θxM(θ,x)=Ey|θ[2yθ2]=x2σ2eθxEy|θ[y]+2x2σ2e2θx=x2σ2e2θx+2x2σ2e2θx=x2σ2e2θx
    θ22yM(θ,x)=σ2x2yeθx2σ2x2e2θx=Eyθ[θ22y]=σ2x2eθxEyθ[y]+2σ2x2e2θx=σ2x2e2θx+2σ2x2e2θx=σ2x2e2θx注意到和参数 θ \theta θ和设计变量 x x x都有关系。
    ED-optimal的表达式就是
    ∫ θ x 2 σ 2 e − 2 θ x p ( θ ) d θ \int_\theta\frac{x^2}{\sigma^2}e^{-2\theta x}p(\theta)d\theta θσ2x2e2θxp(θ)dθ设置 θ \theta θ [ a , b ] [a,b] [a,b]上的均匀分布,则上面的积分为:
    − x 2 σ 2 ( b − a ) ( e − 2 x b − e − 2 x a ) -\frac{x}{2\sigma^2(b-a)}(e^{-2xb}-e^{-2xa}) 2σ2(ba)x(e2xbe2xa)
    最优化的过程省略。

  • 相关阅读:
    Flutter Don‘t use ‘BuildContext‘s across async gaps.
    CMake 安装升级更高版本
    CentOS 7 下 Telnet 远程 root 登录
    JAVA 包装类
    微电子领域常见概念(九)势垒层
    Llama 3王者归来,可与GPT-4分庭抗礼,开源模型即将追上闭源模型了?
    Spring同时集成JPA与Mybatis
    用友NC pagesServlet SQL注入致RCE漏洞复现(XVE-2024-13067)
    FL Studio 21.1.0官方中文破解版下载安装激活教程重磅发布含注册机
    【Python性能优化】元素极少时list和set的查找速度
  • 原文地址:https://blog.csdn.net/RSstudent/article/details/126659329