Coverage for bmm_multitask_learning/coalescent/task_classes.py: 0%
12 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-13 13:33 +0000
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-13 13:33 +0000
1from dataclasses import dataclass
3import numpy as np
6@dataclass
7class TaskData:
8 X: np.ndarray # (n_task, d)
9 y: np.ndarray # (n_task, 1)
11 def most_prob_w(self, sigma, rho):
12 """
13 :param sigma: cov matrix of prior of w
14 :param rho: scaling coefficient for data
15 """
16 coeff = (1/rho**2)
17 mean_est_uncent = coeff * (self.X * self.y).sum(0)
18 cov_fixed = np.linalg.inv(np.linalg.inv(sigma) +
19 coeff * (self.X.T @ self.X))
21 mean_est = cov_fixed @ (mean_est_uncent)
22 return mean_est