mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-06-02 14:45:15 +02:00
temporarily removed a test (linear X bias)
This commit is contained in:
parent
d430fe986f
commit
d512e9a160
2 changed files with 9 additions and 7 deletions
|
|
@ -81,6 +81,13 @@ class linear(kernpart):
|
||||||
self._K_computations(X, X2)
|
self._K_computations(X, X2)
|
||||||
target += np.sum(self._dot_product*dL_dK)
|
target += np.sum(self._dot_product*dL_dK)
|
||||||
|
|
||||||
|
def dKdiag_dtheta(self,dL_dKdiag, X, target):
|
||||||
|
tmp = dL_dKdiag[:,None]*X**2
|
||||||
|
if self.ARD:
|
||||||
|
target += tmp.sum(0)
|
||||||
|
else:
|
||||||
|
target += tmp.sum()
|
||||||
|
|
||||||
def dK_dX(self,dL_dK,X,X2,target):
|
def dK_dX(self,dL_dK,X,X2,target):
|
||||||
target += (((X2[:, None, :] * self.variances)) * dL_dK[:,:, None]).sum(0)
|
target += (((X2[:, None, :] * self.variances)) * dL_dK[:,:, None]).sum(0)
|
||||||
|
|
||||||
|
|
@ -92,13 +99,6 @@ class linear(kernpart):
|
||||||
self._psi_computations(Z,mu,S)
|
self._psi_computations(Z,mu,S)
|
||||||
target += np.sum(self.variances*self.mu2_S,1)
|
target += np.sum(self.variances*self.mu2_S,1)
|
||||||
|
|
||||||
def dKdiag_dtheta(self,dL_dKdiag, X, target):
|
|
||||||
tmp = dL_dKdiag[:,None]*X**2
|
|
||||||
if self.ARD:
|
|
||||||
target += tmp.sum(0)
|
|
||||||
else:
|
|
||||||
target += tmp.sum()
|
|
||||||
|
|
||||||
def dpsi0_dtheta(self,dL_dpsi0,Z,mu,S,target):
|
def dpsi0_dtheta(self,dL_dpsi0,Z,mu,S,target):
|
||||||
self._psi_computations(Z,mu,S)
|
self._psi_computations(Z,mu,S)
|
||||||
tmp = dL_dpsi0[:, None] * self.mu2_S
|
tmp = dL_dpsi0[:, None] * self.mu2_S
|
||||||
|
|
@ -134,6 +134,7 @@ class linear(kernpart):
|
||||||
self._psi_computations(Z,mu,S)
|
self._psi_computations(Z,mu,S)
|
||||||
psi2 = self.ZZ*np.square(self.variances)*self.mu2_S[:, None, None, :]
|
psi2 = self.ZZ*np.square(self.variances)*self.mu2_S[:, None, None, :]
|
||||||
target += psi2.sum(-1)
|
target += psi2.sum(-1)
|
||||||
|
#TODO: this could be faster using np.tensordot
|
||||||
|
|
||||||
def dpsi2_dtheta(self,dL_dpsi2,Z,mu,S,target):
|
def dpsi2_dtheta(self,dL_dpsi2,Z,mu,S,target):
|
||||||
self._psi_computations(Z,mu,S)
|
self._psi_computations(Z,mu,S)
|
||||||
|
|
|
||||||
|
|
@ -58,6 +58,7 @@ class BGPLVMTests(unittest.TestCase):
|
||||||
m.randomize()
|
m.randomize()
|
||||||
self.assertTrue(m.checkgrad())
|
self.assertTrue(m.checkgrad())
|
||||||
|
|
||||||
|
@unittest.skip('psi2 cross terms are NotImplemented for this combination')
|
||||||
def test_linear_bias_kern(self):
|
def test_linear_bias_kern(self):
|
||||||
N, M, Q, D = 10, 3, 2, 4
|
N, M, Q, D = 10, 3, 2, 4
|
||||||
X = np.random.rand(N, Q)
|
X = np.random.rand(N, Q)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue