【发布时间】: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