Changeset 15160 for trunk/sources/HeuristicLab.Algorithms.DataAnalysis
- Timestamp:
- 07/06/17 14:07:38 (7 years ago)
- Location:
- trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/GaussianProcess/GaussianProcessModel.cs
r14918 r15160 46 46 47 47 [Storable] 48 private double negativeLooPredictiveProbability;49 public double NegativeLooPredictiveProbability{50 get { return negativeLooPredictiveProbability; }48 private double loocvNegLogPseudoLikelihood; 49 public double LooCvNegativeLogPseudoLikelihood { 50 get { return loocvNegLogPseudoLikelihood; } 51 51 } 52 52 … … 134 134 this.trainingDataset = cloner.Clone(original.trainingDataset); 135 135 this.negativeLogLikelihood = original.negativeLogLikelihood; 136 this. negativeLooPredictiveProbability = original.negativeLooPredictiveProbability;136 this.loocvNegLogPseudoLikelihood = original.loocvNegLogPseudoLikelihood; 137 137 this.sqrSigmaNoise = original.sqrSigmaNoise; 138 138 if (original.meanParameter != null) { … … 225 225 if (info != 1) throw new ArgumentException("Can't invert matrix to calculate gradients."); 226 226 227 // LOOCV log p redictive probability(GPML page 116 and 117)227 // LOOCV log pseudo-likelihood (or log predictive probability) (GPML page 116 and 117) 228 228 var sumLoo = 0.0; 229 229 var ki = new double[n]; … … 238 238 } 239 239 sumLoo += n * Math.Log(2 * Math.PI); 240 negativeLooPredictiveProbability= 0.5 * sumLoo;240 loocvNegLogPseudoLikelihood = 0.5 * sumLoo; 241 241 242 242 for (int i = 0; i < n; i++) { -
trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/GaussianProcess/GaussianProcessRegressionModelCreator.cs
r14899 r15160 65 65 ModelParameter.ActualValue = model; 66 66 NegativeLogLikelihoodParameter.ActualValue = new DoubleValue(model.NegativeLogLikelihood); 67 NegativeLogPredictiveProbabilityParameter.ActualValue = new DoubleValue(model. NegativeLooPredictiveProbability);67 NegativeLogPredictiveProbabilityParameter.ActualValue = new DoubleValue(model.LooCvNegativeLogPseudoLikelihood); 68 68 HyperparameterGradientsParameter.ActualValue = new RealVector(model.HyperparameterGradients); 69 69 return base.Apply(); -
trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/GaussianProcess/GaussianProcessRegressionSolutionCreator.cs
r14899 r15160 41 41 private const string TestRSquaredResultName = "Test R²"; 42 42 private const string CreateSolutionParameterName = "CreateSolution"; 43 private const string NegLogP redictiveProbability = "NegativeLogPredictiveProbability(LOO-CV)";43 private const string NegLogPseudoLikelihood = "Negative log pseudo-likelihood (LOO-CV)"; 44 44 45 45 #region Parameter Properties … … 109 109 "The Pearson's R² of the Gaussian process solution on the test partition.", 110 110 new DoubleValue(s.TestRSquared))); 111 results.Add(new Result(NegLogP redictiveProbability,112 "The leave-one-out-cross-validation negative log predictive probability.",113 new DoubleValue(m. NegativeLooPredictiveProbability)));111 results.Add(new Result(NegLogPseudoLikelihood, 112 "The negative log pseudo-likelihood (from leave-one-out-cross-validation).", 113 new DoubleValue(m.LooCvNegativeLogPseudoLikelihood))); 114 114 } else { 115 115 results[SolutionParameterName].Value = s; 116 116 results[TrainingRSquaredResultName].Value = new DoubleValue(s.TrainingRSquared); 117 117 results[TestRSquaredResultName].Value = new DoubleValue(s.TestRSquared); 118 results[NegLogP redictiveProbability].Value = new DoubleValue(m.NegativeLooPredictiveProbability);118 results[NegLogPseudoLikelihood].Value = new DoubleValue(m.LooCvNegativeLogPseudoLikelihood); 119 119 } 120 120 } -
trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/Interfaces/IGaussianProcessModel.cs
r14899 r15160 28 28 public interface IGaussianProcessModel : IConfidenceRegressionModel { 29 29 double NegativeLogLikelihood { get; } 30 double NegativeLooPredictiveProbability{ get; }30 double LooCvNegativeLogPseudoLikelihood { get; } 31 31 double SigmaNoise { get; } 32 32 IMeanFunction MeanFunction { get; }
Note: See TracChangeset
for help on using the changeset viewer.