【问题标题】:Is normalization useful/necessary in optimization?规范化在优化中有用/必要吗?
【发布时间】:2023-03-28 01:00:01
【问题描述】:

我正在尝试使用 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。

【问题讨论】:

  • 有很多不同类型的归一化,用于不同的问题领域:所有变量都在同一范围内,例如0 .. 1,或减去均值并除以标准差,或将每个数据点 x 除以其范数 |x| (相当于使用cosine distance,适用于稀疏数据)。这些都不能在任何地方工作——无约束/盒子约束,凸/不...

标签: matlab optimization mathematical-optimization


【解决方案1】:

当输入归一化时,通常更容易优化。您可以期待收敛速度和输出准确性方面的改进。

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

【讨论】:

  • 是目标函数的Hessian的特征值。
  • 文章链接失效。
  • @Anthony,我已经在我的回答中描述了链接内容的导入部分。
猜你喜欢
  • 2014-02-17
  • 2011-10-21
  • 1970-01-01
  • 1970-01-01
  • 2011-01-11
  • 2016-08-31
  • 2010-11-02
  • 1970-01-01
相关资源
最近更新 更多