示例#1
0
 def soft_em_e_step(self, instance, count=1):
     count, evidence = float(count), DataSet.evidence(instance)
     value = self.value(evidence=evidence, clear_data=False)
     pre = value / self.theta_sum
     self.marginals(evidence=evidence, clear_data=False, do_bottom_up=False)
     self._soft_em_accumulate(evidence, pre, count=count)
     return pre
示例#2
0
 def soft_em_e_step(self, instance, count=1):
     count, evidence = float(count), DataSet.evidence(instance)
     value = self.value(evidence=evidence, clear_data=False)
     pre = value / self.theta_sum
     self.marginals(evidence=evidence, clear_data=False, do_bottom_up=False)
     self._soft_em_accumulate(evidence, pre, count=count)
     return pre
示例#3
0
 def log_likelihood(self, dataset):
     ll = 0.0
     for instance, count in dataset:
         evidence = DataSet.evidence(instance)
         pr = self.probability(evidence)
         ll += count * math.log(pr)
     return ll
示例#4
0
 def log_likelihood(self, dataset):
     ll = 0.0
     for instance, count in dataset:
         evidence = DataSet.evidence(instance)
         pr = self.probability(evidence)
         ll += count * math.log(pr)
     return ll