public function testLogRatioNormalization() { // Verified with Ralf Herbrich's F# implementation $m1s2 = new GaussianDistribution(1, 2); $m3s4 = new GaussianDistribution(3, 4); $lrn = GaussianDistribution::logRatioNormalization($m1s2, $m3s4); $this->assertEquals(2.6157405972171204, $lrn, '', GaussianDistributionTest::ERROR_TOLERANCE); }
public function getLogNormalization() { $vars = $this->getVariables(); $messages = $this->getMessages(); return GaussianDistribution::logRatioNormalization($vars[0]->getValue(), $messages[0]->getValue()); }
public function getLogNormalization() { $vars = $this->getVariables(); $messages = $this->getMessages(); $result = 0.0; // We start at 1 since offset 0 has the sum $varCount = count($vars); for ($i = 1; $i < $varCount; $i++) { $result += GaussianDistribution::logRatioNormalization($vars[$i]->getValue(), $messages[$i]->getValue()); } return $result; }