Dynamic Bayes classifier based on Gaussian naive Bayes classifer.
python generator.py
python test.py
- States in supervised offline learning are major states.
- In the unsupervised online learning phase, if the data is not within three sigma of any major state, check if it's in any minor state. Create a new minor state for data not within three sigma of any major or minor state.
- If the number of samples in a minor state exceeds a certain threshold, turn the minor state into a major state.
- Offline: Initial supervised learning by Gaussian naive Bayes classifier. see Wikipedia.
- Online: Dynamic unsupervised incremental learning. Using Gaussian naive Bayes classifier to get the state of normal sample. Create new minor states for data deviating from known major states. If the number of samples in a minor states exceeds a certain threshold, turn the minor state into a major state.