[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