Labels
- Bash (6)
- Bioinformatics (20)
- Debian (6)
- Game-Theory (2)
- HMM (1)
- LaTeX (1)
- Linux (19)
- Machine Learning (3)
- Markov Chains (3)
- Octave (1)
- Perl (7)
- R (18)
- Random (4)
- Sequence analysis (3)
- Stochastic messages (13)
- Tutorials (19)
Saturday, October 19, 2013
Optimizing a multivariable function parameters using a random method, genetic algorithm and simulated annealing in R
Say that you are implementing a non-linear regression analysis, which is shortly described by wikipedia as:
"In statistics, nonlinear regression is a form of regression analysis in which observational data are modeled by a function which is a nonlinear combination of the model parameters and depends on one or more independent variables."
For the training set, we have the following:
And the function to optimize the parameters is:
Which leads us to the following equality:
In other words, we want to optimize the value of theta in order to minimize the sum of the error among y and predicted.y:
Given theta (each parameter a0,..a3 has a range from 0 to 15):
And the error function:
finally, the goal function:
In other words, the goal function searches for the value of theta that minimizes the error.
COMPUTATIONS BEGIN
This is the scatter plot of the training set:
Here is the implementation in R, you can download the file clicking here
Here is a result plot using the genetic algorithm:
Benjamin
Subscribe to:
Posts (Atom)