-
Notifications
You must be signed in to change notification settings - Fork 0
Added a New Type of Decoder - the Hybrid State-Space Classifier #28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… of model classification
…y conversion instead of having an additional generic `Show` method
…andPosition` methods for random position generation with optional seed support
… improved clarity
…for consistency and clarity
…put from `PointProcessModel` using inserted simulated data
…into a single `Decoder`. Moved `ClassifierType` enum to `DecoderType` and updated `IDecoder` to use `Tensor[]` for transitions instead of IStateTransitions. Changed `ReplayClassifier` to `HybridStateSpaceReplayClassifier` and moved into `Decoder` namespace.
…mespaces to remove redundancy in class names (e.g. just `DiscreteUniform` instead of full `DiscreteUniformStateSpace` name)
…assed a series label
…tate predictions
…`PointProcessModel` class
…ifier` and optimized tensor operations for posterior calculations
…data, as well as tests to compare effects of sigma and stay probability
…StateSpaceReplayClassifier`
…y greater than 0 and less than 1. Created `UpdatePosterior` function for improved readability
…fier` for more accurate naming
…paceClassifier` decoder type with sorted units
…eSpaceClassifier`
…ADME.md` and added demo GIF
…handling of nan values
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR introduces several changes to
PointProcessDecoder.Core, including the addition of new classes and modifications to existing ones. The changes focus on a new type of decoder, namely theHybridStateSpaceClassifier, which uses a hybrid state-space approach for both decoding and classifying the dynamics of the latent variable.Summary of Changes
Addition of new Hybrid State-Space Classifier:
HybridStateSpaceClassifierclass to the available decoder types, which includes a more advanced method for decoding. This class represents a hybrid state-space classifier that extends theStateSpaceDecodermodel to include estimates of the discrete state of the dynamics: stationary, continuous, and fragmented.ClassifierDataandDecoderDatastructs, which handle the initialization and calculation of posterior data. TheDecoderDatastruct returns a posterior tensor, as well as useful statistics of the posterior such as the center of mass, maximum a posteriori estimate, and spread of the posterior distribution. TheClassifierDatastruct returns both aDecoderDatastruct and aStateProbabilitiestensor which describes the marginal distribution of the discrete states over the full posterior state-space..DecoderTypeenum to include a new type,HybridStateSpaceClassifier.StateSpaceDecoderclass to use tensor-based state transitions and added a method for updating the posterior distribution. Updated theIDecoderinterface to use tensor arrays for state transitions instead of theIStateTransitionsinterface. This gives both theHybridStateSpaceClassifierandStateSpaceDecoderclasses a standard interface to return an array of the internal transition matrices used by the model.Updates to Model Components:
ClusterlessMarkEncodertoClusterlessMarksand updated related references and documentation for consistency.SortedSpikeEncodertoSortedSpikesand updated related references and documentation for consistency.ClusterlessLikelihoodtoClusterlessand updated the related documentation.PoissonLikelihoodtoPoissonand updated the related documentation.