make Update public to allow training to use it
This commit is contained in:
parent
aca22ed733
commit
20d81d3eed
|
@ -30,7 +30,7 @@ type BayesianBucket struct {
|
||||||
DumbProcessor
|
DumbProcessor
|
||||||
}
|
}
|
||||||
|
|
||||||
func updateProbability(prior, probGivenEvil, ProbGivenBenign float32) float32 {
|
func UpdateBayesianProbability(prior, probGivenEvil, ProbGivenBenign float32) float32 {
|
||||||
numerator := probGivenEvil * prior
|
numerator := probGivenEvil * prior
|
||||||
denominator := numerator + ProbGivenBenign*(1-prior)
|
denominator := numerator + ProbGivenBenign*(1-prior)
|
||||||
|
|
||||||
|
@ -101,7 +101,7 @@ func (b *BayesianEvent) bayesianUpdate(c *BayesianBucket, msg types.Event, l *Le
|
||||||
if b.getGuillotineState() {
|
if b.getGuillotineState() {
|
||||||
l.logger.Tracef("guillotine already triggered for %s", b.rawCondition.ConditionalFilterName)
|
l.logger.Tracef("guillotine already triggered for %s", b.rawCondition.ConditionalFilterName)
|
||||||
l.logger.Tracef("condition true updating prior for: %s", b.rawCondition.ConditionalFilterName)
|
l.logger.Tracef("condition true updating prior for: %s", b.rawCondition.ConditionalFilterName)
|
||||||
c.posterior = updateProbability(c.posterior, b.rawCondition.ProbGivenEvil, b.rawCondition.ProbGivenBenign)
|
c.posterior = UpdateBayesianProbability(c.posterior, b.rawCondition.ProbGivenEvil, b.rawCondition.ProbGivenBenign)
|
||||||
l.logger.Tracef("new value of posterior : %v", c.posterior)
|
l.logger.Tracef("new value of posterior : %v", c.posterior)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -119,10 +119,10 @@ func (b *BayesianEvent) bayesianUpdate(c *BayesianBucket, msg types.Event, l *Le
|
||||||
|
|
||||||
l.logger.Tracef("condition %T updating prior for: %s", condition, b.rawCondition.ConditionalFilterName)
|
l.logger.Tracef("condition %T updating prior for: %s", condition, b.rawCondition.ConditionalFilterName)
|
||||||
if condition {
|
if condition {
|
||||||
c.posterior = updateProbability(c.posterior, b.rawCondition.ProbGivenEvil, b.rawCondition.ProbGivenBenign)
|
c.posterior = UpdateBayesianProbability(c.posterior, b.rawCondition.ProbGivenEvil, b.rawCondition.ProbGivenBenign)
|
||||||
b.triggerGuillotine()
|
b.triggerGuillotine()
|
||||||
} else {
|
} else {
|
||||||
c.posterior = updateProbability(c.posterior, 1-b.rawCondition.ProbGivenEvil, 1-b.rawCondition.ProbGivenBenign)
|
c.posterior = UpdateBayesianProbability(c.posterior, 1-b.rawCondition.ProbGivenEvil, 1-b.rawCondition.ProbGivenBenign)
|
||||||
}
|
}
|
||||||
l.logger.Tracef("new value of posterior: %v", c.posterior)
|
l.logger.Tracef("new value of posterior: %v", c.posterior)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue