EEE 482/582: Computational Neuroscience Homework 4

$35.00

Download Details:

  • Name: Homework-4-tb1bdt.zip
  • Type: zip
  • Size: 3.55 MB

Category:

Description

5/5 - (1 vote)

Question 1. [50 points]
Stimuli consisting of face images have been used in a study on visual perception. Experimental stimuli are provided in the file hw4_data1.mat, which contains face images downsampled
to a 32×32 square grid. The images are stored in a matrix f aces, with 1000 rows (number of
different images) and 1024 columns (number of image pixels). Answer the questions below.
a) The experimenter would like to fit encoding models between the stimuli (i.e., face images) and the measured neural responses. However, one first needs to define explanatory
variables (i.e., regressors) that capture important variations in stimulus properties during
the experiments. To accomplish this goal, perform PCA on the 1000 faces images. Plot the
proportion of variance explained by each individual PC, for the first 100 PCs. Display the
first 25 PCs using the function dispImArray.m.
b) The experimenter would like to know how many PCs are sufficient to obtain a reasonable
representation of the stimuli. Reconstruct each image in the matrix f aces using their PC
projections (i.e., reconstructed images are a linear weighted combination of stimulus PCs).
Obtain separate reconstructions based on first 10, 25, and 50 PCs. Display the original
images and the reconstructions using dispImArray.m, for the first 36 images. Find the
mean-squared error (MSE) between the original and reconstructed images, and report the
mean and standard deviation of MSE across 1000 images. Interpret the results.
c) Instead of PCA, find explanatory variables to capture stimulus properties using independent component analysis (ICA). Use the FastICA package available on Moodle, and use
PCA-based reduction to 50 dimensions during the calls (i.e., by setting lastEig). Note that
unlike PCA, ICA results are not deterministic. Recall fastica.m to return 10 ICs, 25 ICs,
and 50 ICs. Display the obtained ICs using dispImArray.m. Reconstruct face images based
on their IC projections. Display the original and reconstructed images based on 10, 25, and
50 ICs. Report the mean and std of MSE in each case. Compare your results with part b.
d) Finally, find explanatory variables to capture stimulus properties using non-negative matrix factorization (NNMF). NNMF requires its input to be strictly positive, so add a single
scalar constant to all entries of the matrix f aces to satisfy this constraint (but only add the
minimum amount required). Recall nnmf.m to return 10, 25, and 50 MFs. Display the obtained MFs using dispImArray.m. Reconstruct face images based on their MF projections.
Display the original and reconstructed images based on 10, 25, and 50 MFs. Report the
mean and std of MSE in each case. Compare your results with parts b and c.
Question 2. [50 points]
Consider a population of 21 independent neurons with Gaussian-shaped tuning curves:
fi(x) = A · e
−(x−µi
)
2
/(2σ
2
i
)
(1)
The tuning curves have an amplitude of 1 and a standard deviation of σi = 1, with centers
µi evenly spaced between -10 and 10 along the x-axis. Answer the questions below.
a) Plot all tuning curves in the population on the same axis. Simulate the population response to the stimulus x = −1, and plot the population response as a function each neuron’s
preferred stimulus value.
b) Perform a simulated experiment with 200 trials. In each trial, sample a stimulus intensity uniformly from the interval [−5 5], simulate the 21-long vector of population response
~r. Assume that each neuron’s response is corrupted by an additive Gaussian noise with zero
mean and σ/20 standard deviation. Implement a winner-take-all decoder, and calculate the
stimulus estimate xW T A for each trial. Plot the actual and estimated stimulus on the same
graph. Compute the mean and standard deviation of error in stimulus estimation across
200 trials.
c) For the experimental trials simulated in part b, implement a maximum-likelihood decoder, and calculate the stimulus estimate xML for each trial. Plot the actual and estimated
stimulus on the same graph. Compute the mean and standard deviation of error in stimulus
estimation across 200 trials. (Hint: To find xML, you can calculate the log-likelihood for
the entire stimulus range. Note that the tuning curve gives you the expected value (i.e.,
mean) of the neural response, and there is additional variability due to additive noise that
you need to consider.)
d) For the experimental trials simulated in part b, implement a maximum-a-posteriori decoder, and calculate the stimulus estimate xMAP for each trial. Assume that the prior of the
stimulus value x follows a Gaussian distribution with a mean of 0 and a standard deviation
of 2.5. Plot the actual and estimated stimulus on the same graph. Compute the mean and
standard deviation of error in stimulus estimation across 200 trials. Interpret your results.
e) Perform an experiment with 200 trials of stimulus intensity. In each trial, sample a stimulus intensity from the interval [−5 5]. For the resulting stimulus vector (of length 200),
separately simulate the population response vectors (~r) for σi = 0.1, σi = 0.2, σi = 0.5,
σi = 1, σi = 2, and σi = 5. In each case, assume additive Gaussian noise with zero
mean and 1/20 standard deviation. Calculate MLE estimates of the stimulus xML based on
each population response separately. Compare the mean and standard deviation of error in
stimulus estimation for various σ values. Is it better to have narrow or wide tuning curves?