Ejemplo n.º 1
0
    def _apply_dynamics(self, weight):
        prior = util.prior_weight()
        adjusted_variance = weight.variance * prior.variance / \
            ((1.0 - self._config.epsilon) * prior.variance +
             self._config.epsilon * weight.variance)
        adjusted_mean = adjusted_variance * (
            (1.0 - self._config.epsilon) * weight.mean / weight.variance +
            self._config.epsilon * prior.mean / prior.variance)

        adjusted = pb.Gaussian(mean=adjusted_mean, variance=adjusted_variance)
        logger.debug("Adjusting weight %s to %s", util.pp(weight),
                     util.pp(adjusted))
        return adjusted
Ejemplo n.º 2
0
    def _apply_dynamics(self, weight):
        prior = util.prior_weight()
        adjusted_variance = weight.variance * prior.variance / \
            ((1.0 - self._config.epsilon) * prior.variance +
             self._config.epsilon * weight.variance)
        adjusted_mean = adjusted_variance * (
            (1.0 - self._config.epsilon) * weight.mean / weight.variance +
            self._config.epsilon * prior.mean / prior.variance)

        adjusted = pb.Gaussian(mean=adjusted_mean, variance=adjusted_variance)
        logger.debug("Adjusting weight %s to %s",
                     util.pp(weight), util.pp(adjusted))
        return adjusted
Ejemplo n.º 3
0
 def test_dynamics_neutral_for_prior(self):
     p = self._create_predictor(epsilon=0.05)
     initial = util.prior_weight()
     adjusted = p._apply_dynamics(initial)
     self.assertAlmostEqual(initial.mean, adjusted.mean)
     self.assertAlmostEqual(initial.variance, adjusted.variance)
Ejemplo n.º 4
0
 def _get_weight(self, feature):
     return self._weights.get(util.serialize_feature(feature),
                              util.prior_weight())
Ejemplo n.º 5
0
 def _get_weight(self, feature):
     return self._weights.get(
         util.serialize_feature(feature),
         util.prior_weight())