[opengm] 257/386: some minor fixes

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Wed Aug 31 08:38:05 UTC 2016


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to branch debian/master
in repository opengm.

commit 13c003745237ea4bc80b563ce80bbe802b86f9f6
Author: joergkappes <kappes at math.uni-heidelberg.de>
Date:   Fri Jan 16 11:54:41 2015 +0100

    some minor fixes
---
 .../opengm/learning/maximum_likelihood_learning.hxx    | 18 +++++++++---------
 .../learning/test_maximum_likelihood_learner.cxx       |  6 ++----
 2 files changed, 11 insertions(+), 13 deletions(-)

diff --git a/include/opengm/learning/maximum_likelihood_learning.hxx b/include/opengm/learning/maximum_likelihood_learning.hxx
index 052c3a7..60d7946 100644
--- a/include/opengm/learning/maximum_likelihood_learning.hxx
+++ b/include/opengm/learning/maximum_likelihood_learning.hxx
@@ -30,11 +30,11 @@ namespace opengm {
 	     double weightStoppingCriteria_;
              double gradientStoppingCriteria_;
              bool infoFlag_;
-             bool infoEveryStep_;
+             bool infoEveryStep_; 
+             double weightRegularizer_;
 	     size_t beliefPropagationMaximumNumberOfIterations_;
 	     double beliefPropagationConvergenceBound_;
 	     double beliefPropagationDamping_;
-	     double beliefPropagationReg_;
 	     double beliefPropagationTemperature_;
 	     Parameter():
 	         maximumNumberOfIterations_(100),
@@ -46,7 +46,7 @@ namespace opengm {
 		 beliefPropagationMaximumNumberOfIterations_(40),
 		 beliefPropagationConvergenceBound_(0.0000001),
 		 beliefPropagationDamping_(0.5),
-		 beliefPropagationReg_(1.0),
+		 weightRegularizer_(1.0),
 		 beliefPropagationTemperature_(0.3)
 	   {;}
          };
@@ -125,15 +125,15 @@ namespace opengm {
          std::cout << std::endl;
 	 if(param_.infoFlag_){
 	     std::cout << "INFO: Maximum Likelihood Learner: Maximum Number Of Iterations "<< param_.maximumNumberOfIterations_ << std::endl;
-	     std::cout << "INFO: Maximum Likelihood Learner: Gradient Step "<< param_.gradientStepSize_ << std::endl;
+	     std::cout << "INFO: Maximum Likelihood Learner: Gradient Step Size "<< param_.gradientStepSize_ << std::endl;
 	     std::cout << "INFO: Maximum Likelihood Learner: Gradient Stopping Criteria "<<param_. gradientStoppingCriteria_ << std::endl;
 	     std::cout << "INFO: Maximum Likelihood Learner: Weight Stopping Criteria "<< param_.weightStoppingCriteria_ << std::endl;
 	     std::cout << "INFO: Maximum Likelihood Learner: Info Flag "<< param_.infoFlag_ << std::endl;
 	     std::cout << "INFO: Maximum Likelihood Learner: Info Every Step "<< param_.infoEveryStep_ << std::endl;
+	     std::cout << "INFO: Maximum Likelihood Learner: Strength of regularizer for the Weight "<< param_.weightRegularizer_ << std::endl;
 	     std::cout << "INFO: Belief Propagation: Maximum Number Of Belief Propagation Iterations "<< param_.beliefPropagationMaximumNumberOfIterations_ << std::endl;
 	     std::cout << "INFO: Belief Propagation: Convergence Bound "<< param_.beliefPropagationConvergenceBound_ << std::endl;
 	     std::cout << "INFO: Belief Propagation: Damping "<< param_.beliefPropagationDamping_ << std::endl;
-	     std::cout << "INFO: Belief Propagation: RegularizerMultiplier "<< param_.beliefPropagationReg_ << std::endl;
 	     std::cout << "INFO: Belief Propagation: Temperature "<< param_.beliefPropagationTemperature_ << std::endl;
 	 }
 
@@ -182,7 +182,7 @@ namespace opengm {
             //************************
             double norm = 0;
             for(IndexType p=0; p<dataset_.getNumberOfWeights(); ++p){
-               norm += (wgf.getGradient(p)-2*param_.beliefPropagationReg_*weights_.getWeight(p)) * (wgf.getGradient(p)-2*param_.beliefPropagationReg_*weights_.getWeight(p));
+               norm += (wgf.getGradient(p)-2*param_.weightRegularizer_*weights_.getWeight(p)) * (wgf.getGradient(p)-2*param_.weightRegularizer_*weights_.getWeight(p));
             }
             norm = std::sqrt(norm);  // check for the zero norm &
 
@@ -190,9 +190,9 @@ namespace opengm {
 	        std::cout << "gradient = ( ";  
             for(IndexType p=0; p<dataset_.getNumberOfWeights(); ++p){
 	        if(param_.infoFlag_)
-                    std::cout << (wgf.getGradient(p)-2*param_.beliefPropagationReg_*weights_.getWeight(p))/norm << " ";
-                dataset_.getWeights().setWeight(p, weights_.getWeight(p) + param_.gradientStepSize_/iterationCount * (wgf.getGradient(p)-2*param_.beliefPropagationReg_*weights_.getWeight(p))/norm);
-                weights_.setWeight(p, weights_.getWeight(p) + param_.gradientStepSize_/iterationCount * (wgf.getGradient(p)-2*param_.beliefPropagationReg_*weights_.getWeight(p))/norm); 
+                    std::cout << (wgf.getGradient(p)-2*param_.weightRegularizer_*weights_.getWeight(p))/norm << " ";
+                dataset_.getWeights().setWeight(p, weights_.getWeight(p) + param_.gradientStepSize_/iterationCount * (wgf.getGradient(p)-2*param_.weightRegularizer_*weights_.getWeight(p))/norm);
+                weights_.setWeight(p, weights_.getWeight(p) + param_.gradientStepSize_/iterationCount * (wgf.getGradient(p)-2*param_.weightRegularizer_*weights_.getWeight(p))/norm); 
             } 
 	    if(param_.infoFlag_){
                 std::cout << ") ";
diff --git a/src/unittest/learning/test_maximum_likelihood_learner.cxx b/src/unittest/learning/test_maximum_likelihood_learner.cxx
index 30b6212..fc7f915 100644
--- a/src/unittest/learning/test_maximum_likelihood_learner.cxx
+++ b/src/unittest/learning/test_maximum_likelihood_learner.cxx
@@ -63,7 +63,7 @@ int main() {
       DS1 dataset;
       std::cout << "Dataset includes " << dataset.getNumberOfModels() << " instances and has " << dataset.getNumberOfWeights() << " parameters."<<std::endl;
       opengm::learning::MaximumLikelihoodLearner<DS1>::Parameter parameter;
-      parameter.maximumNumberOfIterations_ = 9;
+      parameter.maximumNumberOfIterations_ = 3;
       parameter.gradientStepSize_ = 0.1111;
       parameter.weightStoppingCriteria_ = 0.0000000111;
       parameter.gradientStoppingCriteria_ = 0.000000000011;
@@ -72,7 +72,6 @@ int main() {
       parameter.beliefPropagationMaximumNumberOfIterations_ = 30;
       parameter.beliefPropagationConvergenceBound_ = 0.00011;
       parameter.beliefPropagationDamping_ = 0.55;
-      parameter.beliefPropagationReg_ = 1.00000001;
       parameter.beliefPropagationTemperature_ = 0.3000000001;
       opengm::learning::MaximumLikelihoodLearner<DS1> learner(dataset,parameter);
 
@@ -84,7 +83,7 @@ int main() {
       DS2 dataset;
       std::cout << "Dataset includes " << dataset.getNumberOfModels() << " instances and has " << dataset.getNumberOfWeights() << " parameters."<<std::endl;
       opengm::learning::MaximumLikelihoodLearner<DS2>::Parameter parameter;
-      parameter.maximumNumberOfIterations_ = 9;
+      parameter.maximumNumberOfIterations_ = 3;
       parameter.gradientStepSize_ = 0.1111;
       parameter.weightStoppingCriteria_ = 0.0000000111;
       parameter.gradientStoppingCriteria_ = 0.000000000011;
@@ -93,7 +92,6 @@ int main() {
       parameter.beliefPropagationMaximumNumberOfIterations_ = 30;
       parameter.beliefPropagationConvergenceBound_ = 0.00011;
       parameter.beliefPropagationDamping_ = 0.55;
-      parameter.beliefPropagationReg_ = 1.00000001;
       parameter.beliefPropagationTemperature_ = 0.3000000001;
       opengm::learning::MaximumLikelihoodLearner<DS2> learner(dataset,parameter);
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/opengm.git



More information about the debian-science-commits mailing list