DGMLib Parameter Estimation - Questions

Semantic Image Segmentation with Conditional Random Fields
Julie Robic

DGMLib Parameter Estimation - Questions

I am currently using the DGM library to build a 3D CRF model. I asked here a few questions a year ago and now it works very well. I have published a paper in ISBI 2017 and I have cited the library .

Now, I am trying to use the parameter estimation method. As far as I understand, the Powell method implemented is a maximization function. However, the objective function I use needs a minimization process.
Is their an easy way to modify the Powell's method to do a minimization instead of a maximization ?

Thank you very much in advance.

Creator
Posts: 151
Joined: Tue Dec 16, 2008, 20:52
Location: Hannover, Germany
Contact:

Re: DGMLib Parameter Estimation - Questions

I am very glad that the DGM library helped in you research so much. Thank you for citing it in your publication. I would be happy having a chance to read it.

According to the Powell method, I think about a simple changing the sign of the objective function to find its minimum instead of maximum.

Julie Robic

Re: DGMLib Parameter Estimation - Questions

Regarding the Powell method, my problem is the following:
• I need to maximize a function whose values are negative but the Powell method does not allow negative kappa values.
• If I change the sign of the objective function, the Powell method will maximize the higher values which are my errors.
I am thinking of shifting the values of the objective function up to 0 to keep their relative order.
The other way would be to change the sign of the objective function and then minimize it.

If you have any ideas, they would be much appreciated.
Thank you.

Creator
Posts: 151
Joined: Tue Dec 16, 2008, 20:52
Location: Hannover, Germany
Contact:

Re: DGMLib Parameter Estimation - Questions

As I understand now, the values of the objective function may be less then 0, and you need to find its maximal value. I think, that your idea of shifting the values of the objective function will work.
If it is possible to roughly estimate the theoretical boundaries of the objective function, e.g. [f_min; f_max], f_min will be some negative number -Delta.  Add this number Delta to all the values of the objective function:

Code: Select all

CPowell::getParams(kappa + Delta),

thus, the boundaries of the objective function will be positive: [0; f_max + Delta]. Now you will be able to find the maximum value.