the data set need exceptionally clean data set noise in data set: model will try to replicate it! need wide range of inputs
typical data set for neuron model current clamp over wide range hyperpolarized (passive) depolarized (spiking)
the process (1) build model anatomy channel params from lit match passive data hyperpolarized inputs
the process (2) create match function waveform match for hyperpolarized spike match for depolarized run a couple of simulations check that results aren’t ridiculous get into ballpark of right params
the process (3) choose params to vary channel densities channel kinetics m inf (V), tau(V) curves passive params choose parameter ranges
the process (4) select a param search method conjugate gradient genetic algorithm simulated annealing set meta-params for method
the process (5) run parameter search periodically check best results marvel at your own ingenuity curse at your stupid computer figure out why it did/didn’t work
conjugate gradient (CG) “The conjugate gradient method is based on the idea that the convergence to the solution could be accelerated if we minimize Q over the hyperplane that contains all previous search directions, instead of minimizing Q over just the line that points down gradient. To determine x i+1 we minimize Q over x 0 + span(p 0,p 1,p 2,...,p i ) where the p k represent previous search directions.”
no, really... take a point in parameter space find the line of steepest descent (gradient) minimize along that line repeat, sort of along conjugate directions only i.e. ignore subspace of previous lines
CG method: good and bad for smooth parameter spaces: guaranteed to find local minimum for ragged parameter spaces: guaranteed to find local minimum ;-) not what we want...
genetic algorithm pick a bunch of random parameter sets a “generation” evaluate each parameter set create new generation copy the most fit sets mutate randomly, cross over repeat until get acceptable results
genetic algorithm (2) amazingly, this often works global optimization method many variations many meta-params mutation rate crossover type (single, double) and rate no guarantees
simulated annealing make noise work for you! noisy version of “simplex algorithm” evaluate points on simplex add noise to result based on “temperature” move simplex through space accordingly gradually decrease temperature to zero
simulated annealing(2) some nice properties: guaranteed to find global optimum but may take forever ;-) when temp = 0, finds local minimum how fast to decrease temperature?