Comments (4)
This issue is most likely not a bug but a problem with the data. Component starvation means that one of the components had less data points assigned to it than necessary to estimate the covariance matrix. This usually happens once you start overfitting (obviously not the case here) or if there are outliers in the dataset.
There are two things you can try to diagnose the problem:
-
Plot the peak-to-peak amplitudes or first PC versus time to check if there are obvious outliers. If that's the case, try removing them manually and re-run the algorithm.
-
Run MoKsm with verbose=true and maybe have it plot the data after every few iterations (insert a call to plot() in the EM iteration) to see what's happening. Most likely one of the two components converges towards a small number of data points and gets a weird shape.
from moksm.
I've tried what you suggested - removing outliers and also plotting during EM iteration. However, even when using only the feature dimension with greatest separation between two clusters, I observed that two cluster means converge towards each other with one cluster eventually dropping out. I played around with the parameter settings, but again this doesn't seem to help.
I have created test-case at eywalker/moksm debug branch eywalker/moksm@eb282e9 - it will be great if you can take a look at it by running through the testMoKsm script.
from moksm.
I think the problem is the scale of the data. It has to be in muV, but it seems your data is on a different scale (judging from the feature vs. time plot in the image above). In this case the CovRidge and DriftRate parameters (and possibly others, which are sensitive to the scale of the data) need to be scaled down accordingly.
from moksm.
Scaling was indeed the problem - scaling up the data by a factor of 100 did the trick and now the data clusters correctly using the parameter settings I have configured previously. It looks like that for some reason this particular data-set breaks assumptions made in the gain adjustment inside the SpikeSortingHelper. I'll work on correcting the issue there. Thanks!
from moksm.
Related Issues (1)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from moksm.