Parameter Optimization using Simulated Annealing

1 view (last 30 days)
I am new to optimization and trying to understand the basics, so sorry if it is a dumb question. Is it possible to tune parameters (which is a search problem) of a classifier using simulated annealing or other optimization technique, just for an example optimum value of "k" in KNN (I know there is an automatic hyperparameter optimization for KNN)?

Accepted Answer

Alan Weiss
Alan Weiss on 18 Dec 2017
Edited: Alan Weiss on 18 Dec 2017
Sure, you can do anything you want. It might not be a good idea, but feel free.
Write an objective function that is, say, the cross-validation error rate for a particular parameter. If you have k as your parameter, and a cross-valudation partition c, then you might have
fun = @(k)kfoldLoss(fitcknn(X,y,'CVPartition',c,...
'NumNeighbors',k));
The only problem with this is that k is an integer variable, and most optimizers (including simulannealbnd) work only with continuous parameters. But you could use mixed-integer ga to optimize this.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!