Kirill wrote: > > Hello, > > I’ve been using metavolv to tune parameters of my program, and here is > what I have to say. > > The program can’t deal with stochastic functions at all. Even when the > function shows a clear gradient at bigger scale, but is noisy in small > details, metavolv gets stuck in fictional local maxima created by > noise. I can provide some logs showing that. Mitchell writes in > ‘discussion’ section of the manual about optimization of 4Play > parameters: “In looking at the parameter set, we see that most of the > parameters changed very little, indicating that our initial choices > were not bad.” Well, I don’t think so. It seems that parameters always > change very little, because of the noise problem. > > Description of what should be in ‘editThis.py’ file is insufficient; > it takes time to guess what ‘resultPosition’ means, and I don’t > understand some others. Is it worth mentioning in manual that the > program requires 2 non-standard python packages: numpy and ctypes. > > Overall, the idea is nice, but it needs more sophisticated search > procedures. Why don’t you use a GA, for example? > Thanks for the feedback; you are the first person that has sent us any.
I have had some success myself running metavolv, but I'm the first to admit it won't always work. Like any search procedure it can get stuck in local optima, with or without noise. If the noise factor is too great it can totally mask the underlying function. I have tested metavolv in various ways, and I'm pretty sure it is sound, although it's possible that there is some flaw that I'm not aware of. Have you tried increasing sigma, which would increase the step size? Try doubling or quadrupling it. I mention this because you say that "the function shows a clear gradient at bigger scale". In order for metavolv to work, the steps must cover a large enough region of parameter space to reveal the general trend of the function. The reason that GA is not used is because it requires too many function evaluations. Metavolv is an attempt to search for optima of functions that are time consuming to evaluate, such that the total number of evaluations will be in the hundreds. When a function is also noisy, it would be accurate to say that it cannot be done, hence we are attempting the impossible here. The best that we can hope for is to improve a set of parameters. I appreciate you comments. When I get a chance to update the docs I will try to remedy the deficiencies you mentioned. m -- I'm proud of http://ANNEvolve.sourceforge.net. If you want to write software, or articles, or do testing or research for ANNEvolve, let me know. ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
