def computeXi(self):
for m in range(self.n_tasks):
task_X = self.task_dict[m]['X']
for n in range(len(task_X)):
inner_sum = 0
for k in range(self.K):
# Note that transposes are different because we are using different notation than in the paper - specifically we use row vectors where they are using column vectors
inner_sum += self.phi[m,k]*np.dot((np.dot(np.atleast_2d(task_X[n,:]),
(np.dot(np.atleast_2d(self.theta[k,:]).T, np.atleast_2d(self.theta[k,:])) + self.gamma[k]))),
np.atleast_2d(task_X[n,:]).T)
assert inner_sum >= 0 # This number can't be negative since we are taking the square root
self.xi[m][n] = np.sqrt(inner_sum[0,0])
if self.xi[m][n]==0:
print m,n
评论列表
文章目录