Coder Social home page Coder Social logo

dartml / stein-variational-gradient-descent Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dilinwang820/stein-variational-gradient-descent

89.0 3.0 39.0 19.56 MB

code for the paper "Stein Variational Gradient Descent (SVGD): A General Purpose Bayesian Inference Algorithm"

License: MIT License

MATLAB 26.83% Python 73.17%

stein-variational-gradient-descent's Introduction

Stein Variational Gradient Descent (SVGD)

SVGD is a general purpose variational inference algorithm that forms a natural counterpart of gradient descent for optimization. SVGD iteratively transports a set of particles to match with the target distribution, by applying a form of functional gradient descent that minimizes the KL divergence.

The package contains implementation of SVGD in both Matlab and Python language. Demos are also provided to reproduce the results in our paper. The Bayesian neural network example is based on Theano.

For more information, please visit our project website - SVGD.

Toy example on 1D Gaussian Mixture

Toy example with 1D Gaussian mixture. The red dashed lines are the target density function and the solid green lines are the densities of the particles at different iterations of our algorithm (estimated using kernel density estimator).

Basic Usage

'''
  x0: initial particles
  dlnprob: returns first order derivative of log probability
  n_iter: number of iterations
  stepsize: initial learning rate 
'''
theta = SVGD().update(x0, dlnprob, n_iter, stepsize)

Citation

Qiang Liu and Dilin Wang. Stein Variational Gradient Descent (SVGD): A General Purpose Bayesian Inference Algorithm. NIPS, 2016.

Feedback

Feedback is greatly appreciated. If you have any questions, comments, issues or anything else really, shoot me an email.

All rights reserved.

stein-variational-gradient-descent's People

Contributors

dartml avatar

Stargazers

Simone Azeglio avatar Jeeson Mai avatar  avatar zzg avatar  avatar  avatar Simon Welker avatar  avatar  avatar Matthew Elmer avatar  avatar BOT dqy avatar  avatar Yin-Kai Wang avatar  avatar  avatar ganjing avatar Yang Jiming avatar  avatar  avatar  avatar  avatar  avatar  avatar PePrs avatar 爱可可-爱生活 avatar Nipun Batra avatar  avatar Wei Guo avatar Wen Y.K. avatar  avatar Tianyu Pang avatar Philip Patterson avatar Hongzong LI avatar Zhihan Yang avatar Wang Bo avatar Li-Wei Chen avatar Yarden As avatar Wenshuai Zhao avatar David avatar George Berry avatar Jiajun He avatar HongShaopeng avatar Changmin Yu avatar  avatar  avatar  avatar Nicola avatar Xu Liu avatar Georges Pantalos avatar Lizhong Ding avatar Jan Povala avatar Chuhan Xie avatar Dora Zhiyu Yang avatar XU Zhiwei avatar LiuYiJun avatar Sheroze Sheriffdeen avatar David Fernandes avatar Yixin Wang avatar Tianchi Huang avatar Giorgio Giannone avatar Adi Rendu avatar Nisha Chandramoorthy avatar Mauhcs avatar Liu avatar Kai Xu avatar Oscar Li avatar  avatar  avatar Dario Balboni avatar STYLIANOS IORDANIS avatar Ahmad Salim Al-Sibahi avatar TAO Zerui avatar Yihan avatar  avatar  avatar Siyu avatar  avatar Rafael Oliveira avatar DM avatar Yangge Chen avatar BlueMatrix avatar Florian Wellmann avatar  avatar JCalifornia avatar Yifei Wang avatar Qishan zhu avatar Christian Schmidt avatar Noble Kennamer avatar

Watchers

 avatar Jeeson Mai avatar  avatar

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.