mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-05-30 14:35:15 +02:00
changes
This commit is contained in:
parent
9b54f831b3
commit
e785668417
2 changed files with 8 additions and 6 deletions
|
|
@ -843,7 +843,7 @@ class DGPLVM_Lamda(Prior, Parameterized):
|
||||||
|
|
||||||
# Calculating beta and Bi for Sb
|
# Calculating beta and Bi for Sb
|
||||||
def compute_sig_beta_Bi(self, data_idx, M_i, M_0, lst_idx_all):
|
def compute_sig_beta_Bi(self, data_idx, M_i, M_0, lst_idx_all):
|
||||||
import pdb
|
# import pdb
|
||||||
# pdb.set_trace()
|
# pdb.set_trace()
|
||||||
B_i = np.zeros((self.classnum, self.dim))
|
B_i = np.zeros((self.classnum, self.dim))
|
||||||
Sig_beta_B_i_all = np.zeros((self.datanum, self.dim))
|
Sig_beta_B_i_all = np.zeros((self.datanum, self.dim))
|
||||||
|
|
@ -909,8 +909,8 @@ class DGPLVM_Lamda(Prior, Parameterized):
|
||||||
Sw = self.compute_Sw(cls, M_i)
|
Sw = self.compute_Sw(cls, M_i)
|
||||||
# Sb_inv_N = np.linalg.inv(Sb + np.eye(Sb.shape[0]) * (np.diag(Sb).min() * 0.1))
|
# Sb_inv_N = np.linalg.inv(Sb + np.eye(Sb.shape[0]) * (np.diag(Sb).min() * 0.1))
|
||||||
#Sb_inv_N = np.linalg.inv(Sb+np.eye(Sb.shape[0])*0.1)
|
#Sb_inv_N = np.linalg.inv(Sb+np.eye(Sb.shape[0])*0.1)
|
||||||
#Sb_inv_N = pdinv(Sb+ np.eye(Sb.shape[0]) * (np.diag(Sb).min() * 0.1))[0]
|
#Sb_inv_N = pdinv(Sb+ np.eye(Sb.shape[0]) * (np.diag(Sb).min() * 0.5))[0]
|
||||||
Sb_inv_N = pdinv(Sb + np.eye(Sb.shape[0])*0.1)[0]
|
Sb_inv_N = pdinv(Sb + np.eye(Sb.shape[0])*0.9)[0]
|
||||||
return (-1 / self.sigma2) * np.trace(Sb_inv_N.dot(Sw))
|
return (-1 / self.sigma2) * np.trace(Sb_inv_N.dot(Sw))
|
||||||
|
|
||||||
# This function calculates derivative of the log of prior function
|
# This function calculates derivative of the log of prior function
|
||||||
|
|
@ -933,8 +933,8 @@ class DGPLVM_Lamda(Prior, Parameterized):
|
||||||
# Calculating inverse of Sb and its transpose and minus
|
# Calculating inverse of Sb and its transpose and minus
|
||||||
# Sb_inv_N = np.linalg.inv(Sb + np.eye(Sb.shape[0]) * (np.diag(Sb).min() * 0.1))
|
# Sb_inv_N = np.linalg.inv(Sb + np.eye(Sb.shape[0]) * (np.diag(Sb).min() * 0.1))
|
||||||
#Sb_inv_N = np.linalg.inv(Sb+np.eye(Sb.shape[0])*0.1)
|
#Sb_inv_N = np.linalg.inv(Sb+np.eye(Sb.shape[0])*0.1)
|
||||||
#Sb_inv_N = pdinv(Sb+ np.eye(Sb.shape[0]) * (np.diag(Sb).min() * 0.1))[0]
|
#Sb_inv_N = pdinv(Sb+ np.eye(Sb.shape[0]) * (np.diag(Sb).min() * 0.5))[0]
|
||||||
Sb_inv_N = pdinv(Sb + np.eye(Sb.shape[0])*0.1)[0]
|
Sb_inv_N = pdinv(Sb + np.eye(Sb.shape[0])*0.9)[0]
|
||||||
Sb_inv_N_trans = np.transpose(Sb_inv_N)
|
Sb_inv_N_trans = np.transpose(Sb_inv_N)
|
||||||
Sb_inv_N_trans_minus = -1 * Sb_inv_N_trans
|
Sb_inv_N_trans_minus = -1 * Sb_inv_N_trans
|
||||||
Sw_trans = np.transpose(Sw)
|
Sw_trans = np.transpose(Sw)
|
||||||
|
|
|
||||||
|
|
@ -137,7 +137,9 @@ class SparseGP(GP):
|
||||||
else:
|
else:
|
||||||
Kxx = kern.Kdiag(Xnew)
|
Kxx = kern.Kdiag(Xnew)
|
||||||
if self.posterior.woodbury_inv.ndim == 2:
|
if self.posterior.woodbury_inv.ndim == 2:
|
||||||
var = Kxx - np.sum(np.dot(self.posterior.woodbury_inv.T, Kx) * Kx, 0)
|
var = (Kxx - np.sum(np.dot(np.atleast_3d(self.posterior.woodbury_inv).T, Kx) * Kx[None,:,:], 1)).T
|
||||||
|
#For plot_latent, the below code doesn't work!
|
||||||
|
#var = Kxx - np.sum(np.dot(self.posterior.woodbury_inv.T, Kx) * Kx, 0)
|
||||||
elif self.posterior.woodbury_inv.ndim == 3:
|
elif self.posterior.woodbury_inv.ndim == 3:
|
||||||
var = np.empty((Kxx.shape[0],self.posterior.woodbury_inv.shape[2]))
|
var = np.empty((Kxx.shape[0],self.posterior.woodbury_inv.shape[2]))
|
||||||
for i in range(var.shape[1]):
|
for i in range(var.shape[1]):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue