Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/26/17 09:10:56 (7 years ago)
Author:
bwerth
Message:

#2745 implemented EGO as EngineAlgorithm + some simplifications in the IInfillCriterion interface

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/EfficientGlobalOptimization/HeuristicLab.Algorithms.EGO/InfillCriteria/MinimalQuantileCriterium.cs

    r14818 r15064  
    4242    #region ParameterProperties
    4343    public IFixedValueParameter<DoubleValue> ConfidenceWeightParameter => Parameters[ConfidenceWeightParameterName] as IFixedValueParameter<DoubleValue>;
    44 
    4544    #endregion
    4645
    4746    #region Properties
    4847    private double ConfidenceWeight => ConfidenceWeightParameter.Value.Value;
    49 
    5048    #endregion
    5149
    52     #region HL-Constructors, Serialization and Cloning
     50    #region Constructors, Serialization and Cloning
    5351    [StorableConstructor]
    54     private MinimalQuantileCriterium(bool deserializing) : base(deserializing) { }
    55     private MinimalQuantileCriterium(MinimalQuantileCriterium original, Cloner cloner) : base(original, cloner) { }
     52    protected MinimalQuantileCriterium(bool deserializing) : base(deserializing) { }
     53    protected MinimalQuantileCriterium(MinimalQuantileCriterium original, Cloner cloner) : base(original, cloner) { }
    5654    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)));
    5856    }
    5957    public override IDeepCloneable Clone(Cloner cloner) {
     
    6664      var yhat = model.GetEstimation(vector);
    6765      var s = Math.Sqrt(model.GetVariance(vector)) * ConfidenceWeight;
    68       return ExpensiveMaximization ? yhat + s : yhat - s;
     66      return (ExpensiveMaximization ? yhat : -yhat) + s;
    6967    }
    7068
    71     public override bool Maximization() {
    72       return ExpensiveMaximization;
    73     }
    7469
    75     protected override void Initialize() {
     70    public override void Initialize() {
    7671      var model = RegressionSolution.Model as IConfidenceRegressionModel;
    7772      if (model == null) throw new ArgumentException("can not calculate EI without confidence measure");
Note: See TracChangeset for help on using the changeset viewer.