[mlpack] GSoC 2014 simulated annealing optimizer
Ryan Curtin
gth671b at mail.gatech.edu
Fri Apr 4 17:56:00 EDT 2014
On Tue, Mar 25, 2014 at 04:06:12PM -0500, Zhihao Lou wrote:
> Hi Ryan,
>
> I've got the SA done. It currently can only handle unbounded search space,
> but otherwise it should work. Where should I check if the search space has
> hard boundary?
>
> My code used element-wise arma::min(), which only available in Armadillo
> after version 3.930. Let me know if that's not acceptable. It is
> straightforward to loop through all elements manually.
>
> Attached is my patch, which is generated by running
> svn diff > sa.diff
> I'm not sure this is the correct way of doing this. Let me know if there's
> more I have to do.
Hi Zhihao,
Thank you for the contribution. It looks good. However, a couple
notes:
* Could we templatize the probability distribution from which the next
sample is chosen, and also the cooling schedule? This way we can
have an interface that looks like this:
template<typename FunctionType, typename DistributionType, typename
CoolingScheduleType>
class SA;
This will allow more flexibility to the user in the exact way they
want to use simulated annealing. You could take what you already
have, which is a uniform distribution and a geometric cooling
schedule, and split them out into a UniformDistribution and
GeometricCoolingSchedule class.
* Can you comment what is going on in GenerateMove() and MoveControl()
a little better? I can sort of follow what you are doing, but it
takes a while to figure it out, and a couple informative comments could
make it much easier to read.
* I'd like to add your name to the list of contributors once I work
this in. Do you mind if I do this?
If we can fix those things, I can work it into the trunk codebase. I'll
probably add a few more tests, but that will only take a few moments.
Sorry that it took so long for me to respond to this; I've been more
busy than I would like...
Thanks,
Ryan
--
Ryan Curtin | "Long live the new flesh."
ryan at ratml.org | - Max
More information about the mlpack
mailing list