[mlpack-git] master: Fix incremental single-point training. (7b28dce)

gitdub at big.cc.gt.atl.ga.us gitdub at big.cc.gt.atl.ga.us
Tue Sep 29 09:33:45 EDT 2015


Repository : https://github.com/mlpack/mlpack

On branch  : master
Link       : https://github.com/mlpack/mlpack/compare/cbeb3ea17262b7c5115247dc217e316c529249b7...f85a9b22f3ce56143943a2488c05c2810d6b2bf3

>---------------------------------------------------------------

commit 7b28dce43d2bbaf144b33aae41b048f5404e5a2f
Author: Ryan Curtin <ryan at ratml.org>
Date:   Sat Sep 26 04:17:01 2015 +0000

    Fix incremental single-point training.


>---------------------------------------------------------------

7b28dce43d2bbaf144b33aae41b048f5404e5a2f
 src/mlpack/methods/naive_bayes/naive_bayes_classifier_impl.hpp | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/mlpack/methods/naive_bayes/naive_bayes_classifier_impl.hpp b/src/mlpack/methods/naive_bayes/naive_bayes_classifier_impl.hpp
index 9dbd7c5..21829e3 100644
--- a/src/mlpack/methods/naive_bayes/naive_bayes_classifier_impl.hpp
+++ b/src/mlpack/methods/naive_bayes/naive_bayes_classifier_impl.hpp
@@ -146,9 +146,11 @@ void NaiveBayesClassifier<MatType>::Train(const VecType& point,
 
   arma::vec delta = point - means.col(label);
   means.col(label) += delta / probabilities[label];
-  variances.col(label) *= (probabilities[label] - 1) / probabilities[label];
-  variances.col(label) += (1 / probabilities[label]) *
-      (delta % (point - means.col(label)));
+  if (probabilities[label] > 2)
+    variances.col(label) *= (probabilities[label] - 2);
+  variances.col(label) += (delta % (point - means.col(label)));
+  if (probabilities[label] > 1)
+    variances.col(label) /= probabilities[label] - 1;
 
   trainingPoints++;
   probabilities /= trainingPoints;



More information about the mlpack-git mailing list