how to optimize two variables with different scales
3 次查看(过去 30 天)
显示 更早的评论
I am using fminsearch function to optimize two variables, say, a and b. They are the values returned from the optimization function.
a and b however, are in different scales, a is of 10^-1, while b is of 10^1. if I want to find minimum of a and maximum of b, is it okay I just return a-b from the optimization function? will different scales make the optimization worse?
And another concern is the tolerance I set in the options argument from 'fminsearch',TolX and TolFun. How could I set the tolerance as relative one instead of absolute? The reason is that all my tuning parameters and optimize targets are of different scales.
0 个评论
采纳的回答
Walter Roberson
2018-1-5
a-b would work in theory if the influence of a and b are independent. As soon as there is cross-effect than a-b would imply that a change of 1% in b would of the same importance as a change of 100% in a. That probably is not what you want.
3 个评论
Walter Roberson
2018-1-5
The larger your sample size the closer the percentage within a given standard deviation will come to being statistically constant, so I would wonder if it is a good thing to optimize or if instead you would end up optimizing statistical accidents?
It is not immediately clear to me that the standard deviation can be usefully normalized more than it already is.
If you have small sample sizes then the percentage you mention could end up badly quantized.
更多回答(0 个)
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!