What computer science skills are most valuable in neuroscience research?
Here are a few that would make a good beginning:
- Bayesian statistics and Bayesian Belief Networks
- Reinforcement Learning
- Sparse coding (for example with conjugate gradient)
- Principle Component Analysis (PCA) and Independent Component Analysis (ICA)
- Expectation Maximization (E-M)
- Neural networks (backprop learning)
- Integrate-and-Fire neuron model (ion channel modeling)
- Convolution (2D image and 1D sound wave); Fourier Transform
- Maybe some of the classics: Hopfield Networks, Boltzmann Machines
The computer science skill that is most sought after in neuroscience is large-scalestatistical data analysis.
A typical electrophysiology experiment will capture megabytes to terabytes of data from recording electrodes. EEG and fMRI studies also capture millions to billions of data points. This data must be run through rigorous large-scale data analysis algorithms to “find the signal.”
MATLAB and python are the two most commonly used programming languages for this. There are dozens of opensource libraries available. Using them requires a solid grounding in statistical methods and linear algebra. Knowing some statisticalmachine learning is also good, since the math and algorithms are nearly identical between the two.
If you want to try your hand at data analysis and learn the techniques on your own, you can download actual neuroscience data sets from the Cold Springs Harbor Labs data sharing website, which includes data sets from their summer course incomputational neuroscience along with problem assignments for students. That website is here: http://crcns.org/
An excellent book on programming techniques used in neuroscience is the book MATLAB for Neuroscientists.
More guest posts from Paul King.