Git Product home page Git Product logo

vbmfa's Introduction

vbmfa: Variational Bayesian Mixture of Factor Analysers

Variational Bayesian Mixture of Factor Analysers for dimensionality reduction and clustering.

Factor analysis (FA) is a method for dimensionality reduction, similar to principle component analysis (PCA), singular value decomposition (SVD), or independent component analysis (ICA). Applications include visualization, image compression, or feature learning. A mixture of factor analysers consists of several factor analysers, and allows both dimensionality reduction and clustering. Variational Bayesian learning of model parameters prevents overfitting compared with maximum likelihood methods such as expectation maximization (EM), and allows to learn the dimensionality of the lower dimensional subspace by automatic relevance determination (ARD). A detailed explanation of the model can be found here.

Note

The current version is still under development, and needs to be optimized for large-scale data sets. I am open for any suggestions, and happy about every bug report!

Installation

The easiest way to install vbmfa is to use PyPI:

pip install vbmfa

Alternatively, you can checkout the repository from Github:

git clone https://github.com/cangermueller/vbmfa.git

Examples

The folder examples/ contains example ipython notebooks:

  • VbFa, a single Variational Bayesian Factor Analyser
  • VbMfa, a mixture of Variational Bayesian Factors Analysers

References

[1]Ghahramani, Zoubin, Matthew J Beal, Gatsby Computational, and Neuroscience Unit. “Variational Inference for Bayesian Mixtures of Factor Analysers.” NIPS, 1999.
[2]Bishop, Christopher M. “Variational Principal Components,” 1999.
[3]Beal, Matthew J. “Variational Algorithms For Approximate Bayesian Inference,” 2003.

Contact

Christof Angermueller

https://github.com/cangermueller

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.