mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-04-24 20:36:23 +02:00
change the inverse lengthscale of rbf
This commit is contained in:
parent
1a98681b86
commit
326ed31fbf
1 changed files with 5 additions and 5 deletions
|
|
@ -29,7 +29,7 @@ class RBF(Stationary):
|
|||
self.use_invLengthscale = inv_l
|
||||
if inv_l:
|
||||
self.unlink_parameter(self.lengthscale)
|
||||
self.inv_l = Param('inv_lengthscale',1./self.lengthscale**2, Logexp())
|
||||
self.inv_l = Param('inv_lengthscale',1./self.lengthscale, Logexp())
|
||||
self.link_parameter(self.inv_l)
|
||||
|
||||
def K_of_r(self, r):
|
||||
|
|
@ -56,7 +56,7 @@ class RBF(Stationary):
|
|||
return self.variance*np.sqrt(2*np.pi)*self.lengthscale*np.exp(-self.lengthscale*2*omega**2/2)
|
||||
|
||||
def parameters_changed(self):
|
||||
if self.use_invLengthscale: self.lengthscale[:] = 1./np.sqrt(self.inv_l+1e-200)
|
||||
if self.use_invLengthscale: self.lengthscale[:] = 1./(self.inv_l+1e-200)
|
||||
super(RBF,self).parameters_changed()
|
||||
|
||||
#---------------------------------------#
|
||||
|
|
@ -80,7 +80,7 @@ class RBF(Stationary):
|
|||
self.variance.gradient = dL_dvar
|
||||
self.lengthscale.gradient = dL_dlengscale
|
||||
if self.use_invLengthscale:
|
||||
self.inv_l.gradient = dL_dlengscale*(self.lengthscale**3/-2.)
|
||||
self.inv_l.gradient = dL_dlengscale*(-self.lengthscale**2)
|
||||
|
||||
def gradients_Z_expectations(self, dL_dpsi0, dL_dpsi1, dL_dpsi2, Z, variational_posterior):
|
||||
return self.psicomp.psiDerivativecomputations(self, dL_dpsi0, dL_dpsi1, dL_dpsi2, Z, variational_posterior)[2]
|
||||
|
|
@ -90,8 +90,8 @@ class RBF(Stationary):
|
|||
|
||||
def update_gradients_diag(self, dL_dKdiag, X):
|
||||
super(RBF,self).update_gradients_diag(dL_dKdiag, X)
|
||||
if self.use_invLengthscale: self.inv_l.gradient =self.lengthscale.gradient*(self.lengthscale**3/-2.)
|
||||
if self.use_invLengthscale: self.inv_l.gradient =self.lengthscale.gradient*(-self.lengthscale**2)
|
||||
|
||||
def update_gradients_full(self, dL_dK, X, X2=None):
|
||||
super(RBF,self).update_gradients_full(dL_dK, X, X2)
|
||||
if self.use_invLengthscale: self.inv_l.gradient =self.lengthscale.gradient*(self.lengthscale**3/-2.)
|
||||
if self.use_invLengthscale: self.inv_l.gradient =self.lengthscale.gradient*(-self.lengthscale**2)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue