繁体   English   中英

如何找到最小均方误差二次方上限?

[英]How to find least-mean-square error quadratic upper bound?

我有一些数据的形式

x1[i], x2[i], x3[i], z[i]

其中z[i]x1[i], x2[i], and x3[i]的未知确定性函数。 我想找到一个二次函数u(x1, x2, x3)= a11*x1^2 + a22*x2^2 + a33*x3^2 + a12*x1*x2 + ... + a0 ,即,对于所有iu(x1[i], x2[i], x3[i]) >= z[i] ,并且这使受约束的平方误差之和最小。

Python或Matlab中是否有一种计算有效的解决方案?

您的问题听起来像是线性约束的二次编程问题 有有效的算法可以解决这些问题,它们也可以在Matlab和Python中实现; 分别参见quadprogCVXOPT

有一个非常简单的解决方案。 只需在Mathlab中使用多项式回归( http://www.matrixlab-examples.com/polynomial-regression.html )。 您将获得某个函数P(x1 [i],x2 [i],x3 [i])。 1.然后为每个i计算表达式Diff [i] = P(x1 [i],x2 [i],x3 [i])-z [i]。 您将获得一些数组Diff。 2.选择所有负值。 3.在Diff中找到最小值:M = Min(Diff)。 4.所需函数为F(x1 [i],x2 [i],x3 [i])= P(x1 [i],x2 [i],x3 [i])+ Abs(M),其中Abs(M M)-它的值不包括M的符号。

但是,如果您不仅限于二次函数,还可以改变多项式的次数,最终获得更精确的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM