mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-04-27 05:46:24 +02:00
Worked out in terms of W, needs gradients implementing
This commit is contained in:
parent
46d59c94b2
commit
a9d5555976
3 changed files with 57 additions and 40 deletions
|
|
@ -19,6 +19,9 @@ class student_t(likelihood_function):
|
|||
self.v = deg_free
|
||||
self.sigma = sigma
|
||||
|
||||
#FIXME: This should be in the superclass
|
||||
self.log_concave = False
|
||||
|
||||
def link_function(self, y, f):
|
||||
"""link_function $\ln p(y|f)$
|
||||
$$\ln p(y_{i}|f_{i}) = \ln \Gamma(\frac{v+1}{2}) - \ln \Gamma(\frac{v}{2})\sqrt{v \pi}\sigma - \frac{v+1}{2}\ln (1 + \frac{1}{v}\left(\frac{y_{i} - f_{i}}{\sigma}\right)^2$$
|
||||
|
|
@ -70,7 +73,7 @@ class student_t(likelihood_function):
|
|||
assert y.shape == f.shape
|
||||
e = y - f
|
||||
#hess = ((self.v + 1) * e) / ((((self.sigma**2) * self.v) + e**2)**2)
|
||||
hess = ((self.v + 1) * (e**2 - self.v*(self.sigma**2))) / ((((self.sigma**2) * self.v) + e**2)**2)
|
||||
hess = ((self.v + 1)*(e**2 - self.v*(self.sigma**2))) / ((((self.sigma**2)*self.v) + e**2)**2)
|
||||
return hess
|
||||
|
||||
def predictive_values(self, mu, var):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue