Factor-Analysis Methods for Higher-Performance Neural Prostheses

This document is written as final project for ELEC 548 course. I chose “Factor-Analysis Method for Higher-Performance Neural Prostheses” for implementation and performed two different Factor Analysis (FA) algorithms using data set “ReachData.mat”. Decoding Accuracy with the new version of FA algorithm described in the paper is about 70% while it is about 90% using the FA algorithm described in the text book. On the other hand, these values are reported about 95% and 90% respectively in the paper. There are several factors cause this discrepancy such as initialization and numerical errors. I. ALGORITHM DESCRIPTION The data sets in the paper are recorded from neural activities of two trained monkeys (H and G) performing a standard instructed-delay center-out reaching task. The data sets are recorded by implanting a 96-channel silicon electrode array in premotor cortex in the left hemisphere for monkey G and left hemisphere for monkey H under some special protocols and conditions. The window for counting neural spikes, known as “integration time” in the paper, starts 150ms after target presentation varies from 25ms to 250ms depending on analysis type. The datasets are divided into two parts named as “training trials” and “test trials”. The goal was to develop a system that is able to predict the reach target given only the neural data recorded from the implanted electrode array. The relationship between neural activity and reach point is exploited using a probabilistic framework. An initial set of training data is collected from both of the neural activity and reach endpoint. Training data is used for learning parameters for probabilistic model. For each experimental trial, the square root number of observed spikes from each neural unit within integration window is stored into the vector y and an abstract set of underlying factors known as “latent dimensions” are assembled into a vector x. where x lies in a p-dimension (p is size of reduced data) space. These factors are Gaussian distributed, independent and have unit variance with mean 0, as shown in equation 1. Training data is passed to this probabilistic model per direction which causes 8 different learning parameters and 8 different probabilistic model. After learning fitting parameters per direction, test data is decoded by using the most probable target given the observed data. The complete model is as follows. P(x) = N(x; 0, I) (1) P(y|x, s) = N(y; μs + Csx, Rs) (2) P(y|s) = N(y; μs , CsCs ′ + Rs) (3) In equation.2, μs contains the mean number of spikes that each neuron would produce for endpoint s and is a q dimensional vector where q is the number of neuron units recorded in each trial. In fact, the assumption is there is only endpoint-related variability in the system and Rs is a diagonal matrix that captures the independent variability present in y form trial to trial. The matrix Cs is a qxp (q is original dimension of data and p is reduced dimension) matrix that does mapping between factors and observations. For the purpose of decoding, we can use equation 3 after learning all fitting parameters using FA algorithm. The mathematical derivation for FA algorithm is same as the text book. The FA algorithm is based on Expectation and Maximization (EM) technique and we can determine μ , C and R in the factor analysis model by maximum likelihood. The solution for μ is given by sample mean and C must be found iteratively. Because factor analysis is a latent variable model, this can be done using EM algorithm. The equations for E step are as follows. E[xn] = GC R(yn − ? ̅? ) (4) E[xnxn T] = G + E[xn]E[xn] T (5) Where G is defined as: