Giter Site home page Giter Site logo

mcoric96 / learning-gaussian-distributions-in-tensorflow Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 50 KB

Template TensorFlow code for feed-forward neural networks - learning Gaussian distributions

Python 100.00%
distribution-learning gaussian-distribution negative-log-likelihood

learning-gaussian-distributions-in-tensorflow's Introduction

Learning-Gaussian-distributions-in-TensorFlow

Template TensorFlow code for feed-forward neural networks - learning Gaussian distributions.

Model architecture illustration:

gaussian_model_architecture_illustration

  • Input values: vector of numbers $x$.
  • Output values: $\mu$, $\sigma$ (parameters of Gaussian distrbution conditioned on input $x$).
  • Loss function: standard negative log-likelihood of target value $y$ under model output distribution: $-\log p(y; \mu, \sigma)$, where $\mu$, $\sigma = f(x)$ and $f$ is neural network model.

For dataset $X = \{x_1, x_2, ..., x_n\}$ and target values $Y = \{y_1, y_2, ..., y_3\}$ loss function negative log-likelihood is defined as:

$$L(\theta ; X) = \frac{1}{n} \sum_{i=1}^n -\log p(y_i; \mu_i, \sigma_i)$$

where $\mu_i$ and $\sigma_i$ are model outputs for $x_i$, $\theta$ are model parameters and $p$ is probability density function defined with model outputs $\mu_i$ and $\sigma_i$.



Model architecture:

  • feed-forward neural network (model can be extended for recurrent architectures),
  • base layers learn joint representations of inputs,
  • parameter layers ( $\mu$ - layer and $\sigma$ - layer) learn specific representations important for each output parameter,
  • alternative for regression models with single numerical output,
  • $\mu$ - layer output activation function: can be any function, linear or any other that restricts output range,
  • $\sigma$ - layer output activation function: should be function with only positive value outputs, like softplus.



Model output $\sigma$ represents aleatoric model uncertainty (illustration example below).

github_aleatoric_uncertainty

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.