Machine Learning For Neural Decoding