1
$\begingroup$

For my master's thesis I am using a 3rd party program (SExtractor) in addition to a python pipeline to work with astronomical image data. SExtractor takes a configuration file with numerous parameters as input, which influences (after some intermediate steps) the statistics of my data. I've already spent way too much time playing around with the parameters, so I've looked a little bit into machine learning and have gained a very basic understanding.

What I am wondering now is: Is it reasonable to use a machine learning algorithm to optimize the parameters of the SExtractor, when the only method to judge the performance or quality of the parameters is with the final statistics of the analysis run (which takes at least an hour on my machine) and there are more than 6 parameters which influence the statistics.

As an example, I have included 2 different versions of the statistics I am referring to, made from slightly different versions of Sextractor parameters. Red line in the left image is the median value of the standard deviation (as it should be). Blue line is the median of the standard deviation as I get them. The right images display the differences of the objects in the 2 data sets.

I know this is a very specific question, but as I am new to machine learning, I can't really judge if this is possible. So it would be great if someone could suggest me if this is a pointless endeavor and point me in the right. Example 2Example 1

$\endgroup$
  • 2
    $\begingroup$ This seems like an optimization problem rather than a machine learning one. In principle, you can use an optimization algorithm that searches for parameters that optimize some function of your statistics. You haven't told us enough details about the problem to make any specific recommendations. In general, it's important to choose an optimization algorithm that's suited to the nature of your problem, and takes advantage of as much structure in the problem as it can. $\endgroup$ – user20160 Jan 31 '17 at 14:15
  • 2
    $\begingroup$ Here are a few example questions whose answers would help determine your approach: Are the parameters continuous, discrete, or mixed? What constraints do they have? How many are there? Is the objective function deterministic or stochastic? Is it differentiable? Is it twice differentiable (and feasible to compute the Hessian)? Is it convex? Is there a single global minimum or multiple local minima? Do you need a globally optimal solution, or just a good enough solution? If necessary, can you modify the objective function to make it easier to optimize? Etc. $\endgroup$ – user20160 Jan 31 '17 at 14:35
  • $\begingroup$ "sextractor" is surely a catchy name for an astronomical imaging software. $\endgroup$ – Firebug Jun 5 at 19:15
1
$\begingroup$

Given that each run (for one sample point) takes you at least one hour, standard optimization or machine learning ideas are probably not right. I would look into experimental design, specifically fractional factorial designs. This Algorithm for generating a multi-level fractional factorial design is a somewhat similar question with answer, and another idea that factorial designs.

Another alternative to factorial designs could be algoritmically generated optimal designs. For mre specific advice we need more details, like

  1. How many parameters do you have to tweak?

  2. What kind of parameters? categorical, how many levels? Continuous?

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.