mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-05-10 12:32:40 +02:00
added domains to priors
This commit is contained in:
parent
dbc4bc3f3c
commit
e02804a671
2 changed files with 83 additions and 80 deletions
|
|
@ -6,10 +6,11 @@ import numpy as np
|
|||
import pylab as pb
|
||||
from scipy.special import gammaln, digamma
|
||||
from ..util.linalg import pdinv
|
||||
from GPy.core.domains import UNDEFINED
|
||||
from GPy.core.domains import REAL, POSITIVE
|
||||
import warnings
|
||||
|
||||
class prior:
|
||||
domain = UNDEFINED
|
||||
domain = None
|
||||
def pdf(self, x):
|
||||
return np.exp(self.lnpdf(x))
|
||||
|
||||
|
|
@ -31,7 +32,7 @@ class Gaussian(prior):
|
|||
.. Note:: Bishop 2006 notation is used throughout the code
|
||||
|
||||
"""
|
||||
|
||||
domain = REAL
|
||||
def __init__(self, mu, sigma):
|
||||
self.mu = float(mu)
|
||||
self.sigma = float(sigma)
|
||||
|
|
@ -61,7 +62,7 @@ class log_Gaussian(prior):
|
|||
.. Note:: Bishop 2006 notation is used throughout the code
|
||||
|
||||
"""
|
||||
|
||||
domain = POSITIVE
|
||||
def __init__(self, mu, sigma):
|
||||
self.mu = float(mu)
|
||||
self.sigma = float(sigma)
|
||||
|
|
@ -91,7 +92,7 @@ class multivariate_Gaussian:
|
|||
.. Note:: Bishop 2006 notation is used throughout the code
|
||||
|
||||
"""
|
||||
|
||||
domain = REAL
|
||||
def __init__(self, mu, var):
|
||||
self.mu = np.array(mu).flatten()
|
||||
self.var = np.array(var)
|
||||
|
|
@ -140,7 +141,7 @@ def gamma_from_EV(E,V):
|
|||
:param V: variance
|
||||
|
||||
"""
|
||||
|
||||
warnings.warn("use Gamma.from_EV to create Gamma Prior", FutureWarning)
|
||||
a = np.square(E) / V
|
||||
b = E / V
|
||||
return gamma(a, b)
|
||||
|
|
@ -155,6 +156,7 @@ class gamma(prior):
|
|||
.. Note:: Bishop 2006 notation is used throughout the code
|
||||
|
||||
"""
|
||||
domain = POSITIVE
|
||||
def __init__(self, a, b):
|
||||
self.a = float(a)
|
||||
self.b = float(b)
|
||||
|
|
@ -193,6 +195,7 @@ class inverse_gamma(prior):
|
|||
.. Note:: Bishop 2006 notation is used throughout the code
|
||||
|
||||
"""
|
||||
domain = POSITIVE
|
||||
def __init__(self, a, b):
|
||||
self.a = float(a)
|
||||
self.b = float(b)
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
|
||||
|
||||
import numpy as np
|
||||
from GPy.core.domains import UNDEFINED, POSITIVE, NEGATIVE, BOUNDED
|
||||
from GPy.core.domains import POSITIVE, NEGATIVE, BOUNDED
|
||||
|
||||
class transformation(object):
|
||||
domain = UNDEFINED
|
||||
domain = None
|
||||
def f(self, x):
|
||||
raise NotImplementedError
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue