ELEC/BIOE 548 | ELEC 483
Fall 2022
Episodes 25 & 26 (bonus) The dramatic conclusion: Continuous decoding | Real-time detection | Beyond this course
Introduction. Class & brains
Fundamental neurobiology. How do neurons fire? How/what do we record?
Modeling spike trains. First bit of analysis work and understanding firing properties of neurons.
Classification. Making machines learn. Which direction is a monkey trying to reach? Bayesian decoding.
Point processes. Continued modeling work of neurons.
Clustering/Mixture models. Making machines learn some more. Spike sorting.
Continuous decoding. Kalman filters. Machines continue to learn...but smoothly this time!
Spectral analysis? LFP interpretation in spectral domain. But also kinda in clustering.
How can we measure neural activity?
What info do neurons encode in trains of action potentials (“spike trains”)?
How can we model “statically” encoded information?
Estimation/”decoding”
Signal conditioning – “spike sorting” (PCA, Expectation-Maximization)
How can we model/decode “dynamic” information? (filtering, Kalman, HMM)
Real-time systems discussion!
Beyond spike trains (LFP, EEG, imaging)
Probabilistic PCA (PPCA)
Factor Analysis
(FA)
Kalman filters are very simple
Apparently, this is a figure from Dr. Kemere's PhD Thesis lol
https://neuralsignalprocessing.github.io/Lectures/KalmanFilter.pdf
https://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/
https://www.kalmanfilter.net/default.aspx
I'll probably record one more video lecture of this later as I just wanted to define all the equations and formulas and needed more time to show examples and demonstrate usage and such. However, honestly these are the resources that should help significantly if you want to learn and understand this stuff fully. Have fun and enjoy!
\(\mathbf{z}_t \in \mathbb{R}^M \quad\) latent "state" variable at time \(t\)
\(\mathbf{x}_t \in \mathbb{R}^D \quad\) observation at time \(t\)
\(\mathbf{x}_t\) represents the spiking data BUT this does not just need to be sorted place cells through spatial tuning curve generation!
\(\mathbf{z}_t\) represents latent states which could be place fields OR even have more information conveyed than just space!
Meaning we could also include pyramidal cells that are not spatially tuned & even interneurons
Let's start with the state model: \(\mathbf{z}_t \in \mathbb{R}^M\)
We need to pick \(M<D\), where \(M\) is the number of latent states and \(D\) is the dimensionality of the input data \(\mathbf{x}_t\) which in this case happens to be 10.
Set \(D=10\) & \(M=6\) just to have concrete numbers
\(\mathbf{z}_t|\mathbf{z}_{t-1}\sim\mathcal{N}(\mathbf{A}\mathbf{z}_{t-1},\mathbf{Q})\)
\(\mathbf{z}_1\sim\mathcal{N}(\boldsymbol{\pi},\mathbf{V})\)