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

1from dataclasses import dataclass 

2 

3import numpy as np 

4 

5 

6@dataclass 

7class TaskData: 

8 X: np.ndarray # (n_task, d) 

9 y: np.ndarray # (n_task, 1) 

10 

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)) 

20 

21 mean_est = cov_fixed @ (mean_est_uncent) 

22 return mean_est