5

I am trying to optimize a device design using Matlab optimization toolbox (using the fmincon function to be precise). To get my point across quickly I am providing a small variable set {l_m, r_m, l_c, r_c} which at it's starting value is equal to {4mm, 2mm, 1mm, 0.5mm}.

Though Matlab doesn't specifically recommend normalizing the input variables, my professor advised me to normalize the variables to the maximum value of {l_m , r_m, l_c, r_c}. Thus the variables will now take values from 0 to 1 (instead of say 3mm to 4.5mm in the case of l_m). Of course I have to modify my objective function to convert it back to the proper values and then do the calculations.

My question is: do optimization functions like fmincon care if the input variables are normalized? Is it reasonable to expect change in performance on account of normalization? The point to be considered is how the optimizer varies variables like say l_m — in one case it can change it from 4mm to 4.1mm and in the other case it can change it from 0.75 to 0.76.

Shashank Sawant
  • 1,111
  • 5
  • 22
  • 40
  • There are quite a few different kinds of normalization, used in different problem areas: all variables to the same range e.g. 0 .. 1, or subtract mean and divide by standard deviation, or divide each data point x by its norm |x| (equivalent to using [cosine distance](http://en.wikipedia.org/wiki/Cosine_similarity), good for sparse data). None of these can work everywhere -- unconstrained / box constraints, convex / not ... – denis Sep 15 '12 at 14:34

1 Answers1

6

It is usually much easier to optimize when the input is normalized. You can expect an improvement in both speed of convergence and in the accuracy of the output.

For instance, As you can see on this article ( http://www-personal.umich.edu/~mepelman/teaching/IOE511/Handouts/511notes07-7.pdf ), the convergence rate of gradient descent is better bounded when the ratio of largest and smallest eigenvalues of the Hessian is small. Typically, when your data is normalized, this ratio is 1 (optimal).

Oli
  • 15,935
  • 7
  • 50
  • 66