mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-05-18 13:55:14 +02:00
[psi2n] Liner psi2 statistics now implemented for separate n
This commit is contained in:
parent
56acbf4e0a
commit
d7655e4407
1 changed files with 5 additions and 4 deletions
|
|
@ -21,11 +21,12 @@ def psicomputations(variance, Z, variational_posterior, return_psi2_n=False):
|
||||||
S = variational_posterior.variance
|
S = variational_posterior.variance
|
||||||
|
|
||||||
psi0 = (variance*(np.square(mu)+S)).sum(axis=1)
|
psi0 = (variance*(np.square(mu)+S)).sum(axis=1)
|
||||||
psi1 = np.dot(mu,(variance*Z).T)
|
Zv = variance * Z
|
||||||
if not return_psi2_n:
|
psi1 = np.dot(mu,Zv.T)
|
||||||
psi2 = np.dot(S.sum(axis=0)*np.square(variance)*Z,Z.T)+ tdot(psi1.T)
|
if return_psi2_n:
|
||||||
|
psi2 = psi1[:,:,None] * psi1[:,None,:] + np.dot(S[:,None,:] * Zv[None,:,:], Zv.T)
|
||||||
else:
|
else:
|
||||||
raise NotImplementedError
|
psi2 = np.dot(S.sum(axis=0) * Zv, Zv.T) + tdot(psi1.T)
|
||||||
|
|
||||||
return psi0, psi1, psi2
|
return psi0, psi1, psi2
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue