def set_global_params(self, hmodel=None, Sigma=None, **kwargs): ''' Set global parameters to provided values ''' if hmodel is not None: self.comp = [copy.deepcopy(c) for c in hmodel.obsModel.comp] self.K = hmodel.obsModel.K if Sigma is not None: self.K = Sigma.shape[0] self.comp = [None for k in range(self.K)] for k in range(self.K): self.comp[k] = ZMGaussDistr(Sigma=Sigma[k])
def CreateWithAllComps(cls, oDict, obsPrior, compDictList): if 'min_covar' in oDict: mc = oDict['min_covar'] self = cls(oDict['inferType'], obsPrior=obsPrior, min_covar=mc) else: self = cls(oDict['inferType'], obsPrior=obsPrior) self.K = len(compDictList) self.comp = [None for k in range(self.K)] if self.inferType == 'EM': for k in xrange(self.K): self.comp[k] = ZMGaussDistr(**compDictList[k]) self.D = self.comp[k].D elif self.inferType.count('VB') > 0: for k in xrange(self.K): self.comp[k] = WishartDistr(**compDictList[k]) self.D = self.comp[k].D return self
def update_obs_params_EM(self, SS, **kwargs): for k in xrange(self.K): covMat = SS.xxT[k] / SS.N[k] covMat += self.min_covar * np.eye(self.D) self.comp[k] = ZMGaussDistr(Sigma=covMat)
def setUp(self): self.Sigma = np.eye(4) self.distr = ZMGaussDistr(Sigma=self.Sigma.copy())
def setUp(self): R = np.random.rand(5,5) self.Sigma = np.dot(R, R.T) + 0.02*np.eye(5) self.distr = ZMGaussDistr(Sigma=self.Sigma)
def setUp(self): self.Sigma = np.asarray([[42.0]]) self.distr = ZMGaussDistr(Sigma=self.Sigma)