Changeset 15064 for branches/EfficientGlobalOptimization/HeuristicLab.Algorithms.EGO/InfillCriteria/MinimalQuantileCriterium.cs
- Timestamp:
- 06/26/17 09:10:56 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/EfficientGlobalOptimization/HeuristicLab.Algorithms.EGO/InfillCriteria/MinimalQuantileCriterium.cs
r14818 r15064 42 42 #region ParameterProperties 43 43 public IFixedValueParameter<DoubleValue> ConfidenceWeightParameter => Parameters[ConfidenceWeightParameterName] as IFixedValueParameter<DoubleValue>; 44 45 44 #endregion 46 45 47 46 #region Properties 48 47 private double ConfidenceWeight => ConfidenceWeightParameter.Value.Value; 49 50 48 #endregion 51 49 52 #region HL-Constructors, Serialization and Cloning50 #region Constructors, Serialization and Cloning 53 51 [StorableConstructor] 54 pr ivateMinimalQuantileCriterium(bool deserializing) : base(deserializing) { }55 pr ivateMinimalQuantileCriterium(MinimalQuantileCriterium original, Cloner cloner) : base(original, cloner) { }52 protected MinimalQuantileCriterium(bool deserializing) : base(deserializing) { } 53 protected MinimalQuantileCriterium(MinimalQuantileCriterium original, Cloner cloner) : base(original, cloner) { } 56 54 public MinimalQuantileCriterium() { 57 Parameters.Add(new FixedValueParameter<DoubleValue>(ConfidenceWeightParameterName, "A value between 0 and 1 indicating the focus on exploration (0) or exploitation (1)", new DoubleValue(0.5)));55 Parameters.Add(new FixedValueParameter<DoubleValue>(ConfidenceWeightParameterName, "A value greater than 0. The larger the value the stronger the emphasis on exploration", new DoubleValue(0.5))); 58 56 } 59 57 public override IDeepCloneable Clone(Cloner cloner) { … … 66 64 var yhat = model.GetEstimation(vector); 67 65 var s = Math.Sqrt(model.GetVariance(vector)) * ConfidenceWeight; 68 return ExpensiveMaximization ? yhat + s : yhat -s;66 return (ExpensiveMaximization ? yhat : -yhat) + s; 69 67 } 70 68 71 public override bool Maximization() {72 return ExpensiveMaximization;73 }74 69 75 p rotectedoverride void Initialize() {70 public override void Initialize() { 76 71 var model = RegressionSolution.Model as IConfidenceRegressionModel; 77 72 if (model == null) throw new ArgumentException("can not calculate EI without confidence measure");
Note: See TracChangeset
for help on using the changeset viewer.