我正在使用非线性优化器(例如 BOBYQA)来训练具有 10-20 个参数的模型。碰巧有些参数具有很高的相关性。粗略地说,假设您正在拟合参数在这样的函数中:
对参数变化的响应远大于对变化的响应. 如果我“旋转参数”以将粗响应与精细响应隔离开来,鲍威尔的非线性优化算法(如 BOBYQA、NEWUOA 等)的性能会提高吗?
也就是说,如果不是优化,非线性优化器会表现得更好吗在上面的函数中,我会优化参数像这样的功能:
当然,真实模型更复杂,我想知道改变参数以最小化相关性是否有机会改进任何东西。
我正在使用非线性优化器(例如 BOBYQA)来训练具有 10-20 个参数的模型。碰巧有些参数具有很高的相关性。粗略地说,假设您正在拟合参数在这样的函数中:
对参数变化的响应远大于对变化的响应. 如果我“旋转参数”以将粗响应与精细响应隔离开来,鲍威尔的非线性优化算法(如 BOBYQA、NEWUOA 等)的性能会提高吗?
也就是说,如果不是优化,非线性优化器会表现得更好吗在上面的函数中,我会优化参数像这样的功能:
当然,真实模型更复杂,我想知道改变参数以最小化相关性是否有机会改进任何东西。
如果可能,您希望为您的问题选择一个规模合理的目标,这意味着尽可能地对您的参数进行去相关。
对于目标函数的二次逼近,相关参数对应于椭圆形的目标函数等值面;等值面的理想形状大致为球形。在代数术语中,椭球等值面对应于病态 Hessian 矩阵(关系是 Hessian 的特征值的大小对应于椭球半轴的长度),对于二阶方法,病态 Hessian肯定会降低收敛性。根据经验,当一个人接近局部最优时,通过采取小的“之字形”步骤可以看到这种行为。从数值分析的角度来看,它注意到二阶方法采用的形式大致类似于
在哪里是黑森州,是目标函数,并且是目标函数的梯度,产生一个病态线性系统,用数值方法无法准确求解。(这里,我假设牛顿法,但准牛顿法的操作类似。)