规范化在优化中是否有用/必要?

Sha*_*ant 4 optimization matlab mathematical-optimization

我正在尝试使用Matlab优化工具箱优化设备设计(使用fmincon精确的功能).为了快速了解我的观点,我提供了一个小变量集{l_m,r_m,l_c,r_c},它的起始值等于{4mm,2mm,1mm,0.5mm}.

虽然Matlab的特别推荐的规范化输入变量,我的教授建议我把这些变量正常化{l_m,r_m,l_c,R_C}的最大值.因此,变量现在将采用从0到1的值(而不是在l_m的情况下为3mm到4.5mm).当然,我必须修改我的目标函数,将其转换回正确的值,然后进行计算.

我的问题是:fmincon如果输入变量是规范化的,那么优化函数是否要小心?由于正常化,期望改变绩效是否合理?需要考虑的是优化器如何改变变量,比如说l_m - 在一种情况下它可以将它从4mm改为4.1mm,而在另一种情况下它可以将它从0.75改为0.76.

Oli*_*Oli 5

当输入标准化时,通常更容易优化.除了收敛速度和输出精度之外,您还可以改进.

例如,正如你在本文中所看到的那样(http://www-personal.umich.edu/~mepelman/teaching/IOE511/Handouts/511notes07-7.pdf),当梯度下降时,梯度下降的收敛速度更好. Hessian的最大和最小特征值的比率很小.通常,当您的数据标准化时,此比率为1(最佳).