All Projects → pmorenoz → Hetmogp

pmorenoz / Hetmogp

Licence: apache-2.0
Heterogeneous Multi-output Gaussian Processes

Projects that are alternatives of or similar to Hetmogp

Pandas basics
basic pandas tutorials
Stars: ✭ 34 (-2.86%)
Mutual labels:  jupyter-notebook
Presentations
Stars: ✭ 35 (+0%)
Mutual labels:  jupyter-notebook
Chinese Stock Prediction Using Weibo Baidu News Sentiment
📈 A neural network regression model trained to predict the mean stock price percentage change everyday using financial factors like previous close price, actual previous close price, open price, market capitalization, total market value, price-to-earning ratio and price-to-book ratio, along with corresponding Sina Weibo and Baidu News sentiment scores.
Stars: ✭ 35 (+0%)
Mutual labels:  jupyter-notebook
Welcome tutorials
Various tutorials given for welcoming new students at MILA.
Stars: ✭ 975 (+2685.71%)
Mutual labels:  jupyter-notebook
Satellite imagery analysis
Implementation of different techniques to find insights from the satellite data using Python.
Stars: ✭ 31 (-11.43%)
Mutual labels:  jupyter-notebook
Graph Isomorphism Networks
A Tensorflow 2.0 implementation of Graph Isomorphism Networks.
Stars: ✭ 35 (+0%)
Mutual labels:  jupyter-notebook
Teacher Student Training
This repository stores the files used for my summer internship's work on "teacher-student learning", an experimental method for training deep neural networks using a trained teacher model.
Stars: ✭ 34 (-2.86%)
Mutual labels:  jupyter-notebook
Product Recommendation With Watson Ml
Build a recommendation engine with Spark and Watson Machine Learning
Stars: ✭ 35 (+0%)
Mutual labels:  jupyter-notebook
Healthcheck
Health Check ✔ is a Machine Learning Web Application made using Flask that can predict mainly three diseases i.e. Diabetes, Heart Disease, and Cancer.
Stars: ✭ 35 (+0%)
Mutual labels:  jupyter-notebook
Drugs Recommendation Using Reviews
Analyzing the Drugs Descriptions, conditions, reviews and then recommending it using Deep Learning Models, for each Health Condition of a Patient.
Stars: ✭ 35 (+0%)
Mutual labels:  jupyter-notebook
Kepler.gl
Kepler.gl is a powerful open source geospatial analysis tool for large-scale data sets.
Stars: ✭ 8,231 (+23417.14%)
Mutual labels:  jupyter-notebook
Misc
Machine Learning / Randomized Algorithm and more
Stars: ✭ 34 (-2.86%)
Mutual labels:  jupyter-notebook
Stratx
stratx is a library for A Stratification Approach to Partial Dependence for Codependent Variables
Stars: ✭ 35 (+0%)
Mutual labels:  jupyter-notebook
Cs231n
Convolutional Neural Networks for Visual Recognition (kNN, softmax, etc)
Stars: ✭ 34 (-2.86%)
Mutual labels:  jupyter-notebook
Picanet
Stars: ✭ 35 (+0%)
Mutual labels:  jupyter-notebook
Ds502 Ai Engineer
DS502-AI工程师直通车课程项目,包含每一期课程学习和实践资料,同学们可以在issue中发布自己的疑问,互相交流。
Stars: ✭ 34 (-2.86%)
Mutual labels:  jupyter-notebook
Mlwpy code
Code from the Pearson Addison-Wesley book Machine Learning with Python for Everyone
Stars: ✭ 34 (-2.86%)
Mutual labels:  jupyter-notebook
Machinelearningcourse
A collection of notebooks of my Machine Learning class written in python 3
Stars: ✭ 35 (+0%)
Mutual labels:  jupyter-notebook
Warp Pytorch
WARP loss for Pytorch as described by the paper: WSABIE: Scaling Up To Large Vocabulary Image Annotation
Stars: ✭ 35 (+0%)
Mutual labels:  jupyter-notebook
Nlpnotebook
一份不断完善的NLP学习笔记
Stars: ✭ 35 (+0%)
Mutual labels:  jupyter-notebook

Heterogeneous Multi-output Gaussian Processes

This repository contains the implementation of our Heterogeneous Multi-output Gaussian Process (HetMOGP) model. The entire code is written in Python and connected with the GPy package, specially useful for Gaussian processes. Our code consists of two main blocks:

  • hetmogp: This block contains all model definitions, inference, and important utilities.
  • likelihoods: General library of probability distributions for the heterogeneous likelihood construction.

Our tool is a novel extension of multi-output Gaussian processes for handling heterogeneous outputs (from different statistical data-types). The following distributions are already available to be used: [Gaussian, Bernoulli, Heteroscedastic Gaussian, Categorical, Exponential, Gamma, Beta, Poisson]. We expect to release code for Student, Ordinal, Geometric, Binomial, Multinomial, Truncated Gaussian, Wishart and Dirichlet likelihood distributions as soon as possible. If you want to contribute or include a new likelihood function, please follow the instructions given below to add your new script to the likelihoods module.

Please, if you use this code, cite the following paper:

@inproceedings{MorenoArtesAlvarez18,
  title =  {Heterogeneous Multi-output {G}aussian Process Prediction},
  author =   {Moreno-Mu\~noz, Pablo and Art\'es-Rodr\'iguez, Antonio and \'Alvarez, Mauricio A},
  booktitle = {Advances in Neural Information Processing Systems (NeurIPS) 31},
  year =   {2018}
}

Usage

Our Python implementation follows a straightforward sintaxis where you only have to define a list of input and output values, build the heterogeneous likelihood with the desired distributions that you want to predict and call directly to the model class. That is

  • Output and input data definition:
Y = [Y_real, Y_binary, Y_categorical]
X = [X_real, X_binary, X_categorical]
  • Heterogeneous Likelihood definition:
likelihood_list = [HetGaussian(), Bernoulli(), Categorical(K=3)]
  • Model and definition:
model = HetMOGP(X=X, Y=Y, Z=Z, kern_list=kern_list, likelihood=likelihood, Y_metadata=Y_metadata)

A complete example of our model usage can be found in this repository at notebooks > demo

New Likelihoods

The heterogeneous likehood structure (based on Eero Siivola's GPy release and GPstuff) permits to handle mixed likelihoods with different statistical data types in a very natural way. The idea behind this structure is that any user can add his own distributions easily by following a series of recommendations:

  1. Place your new_distribution.py under the likelihood directory.
  2. Define the logpdf, first order dlogp_df and second order derivatives d2logp_df2 of your log-likelihood function.
  3. Use var_exp and var_exp_derivatives for approximating integrals with Gauss-Hermite quadratures.
  4. Code your predictive and get_metadata methods to have all available utilities.

Examples

  • Missing Gap Prediction: Predicting in classification problems with information obtained from parallel regression tasks. gap

  • London House Prices: Spatial modeling with heterogeneous samples. This is a demographic example where we mix discrete data (type of house) with real observations (log-price of house sale contracts). london

Potential Applications

We have collected many ideas about possible applications of our heterogeneous multi-output GP model.

Contributors

Pablo Moreno-Muñoz, Antonio Artés-Rodríguez and Mauricio A. Álvarez

For further information or contact:

[email protected]
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].