Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/24/15 13:56:27 (9 years ago)
Author:
gkronber
Message:

#2283: experiments on grammatical optimization algorithms (maxreward instead of avg reward, ...)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Problems.GrammaticalOptimization-gkr/HeuristicLab.Problems.GrammaticalOptimization.SymbReg/SymbolicRegressionProblem.cs

    r12290 r12893  
    7272    public string Name { get; private set; }
    7373    private Random random;
    74     private double lambda;
    7574
    7675
    7776    // lambda should be tuned using CV
    78     public SymbolicRegressionProblem(Random random, string partOfName, double lambda = 1.0, bool useConstantOpt = true) {
     77    public SymbolicRegressionProblem(Random random, string partOfName, bool useConstantOpt = true) {
    7978      var instanceProviders = new RegressionInstanceProvider[]
    8079      {new RegressionRealWorldInstanceProvider(),
     
    106105      this.useConstantOpt = useConstantOpt;
    107106
    108       this.Name = problemData.Name + string.Format("lambda={0:N2}", lambda);
     107      this.Name = problemData.Name;
    109108
    110109      this.N = problemData.TrainingIndices.Count();
     
    140139
    141140      this.random = random;
    142       this.lambda = lambda;
    143141
    144142      // initialize ERC values
     
    167165
    168166    public double Evaluate(string sentence) {
    169       var extender = new ExpressionExtender();
    170       sentence = extender.CanonicalRepresentation(sentence);
     167      //var extender = new ExpressionExtender();
     168      //sentence = extender.CanonicalRepresentation(sentence);
    171169      if (useConstantOpt)
    172170        return OptimizeConstantsAndEvaluate(sentence);
    173171      else {
    174         Debug.Assert(SimpleEvaluate(sentence) == SimpleEvaluate(extender.CanonicalRepresentation(sentence)));
     172        //Debug.Assert(SimpleEvaluate(sentence) == SimpleEvaluate(extender.CanonicalRepresentation(sentence)));
    175173        return SimpleEvaluate(sentence);
    176174      }
     
    199197    }
    200198
     199    public bool IsOptimalPhrase(string phrase) {
     200      return false;
     201    }
    201202
    202203
     
    229230      alglib.ndimensional_pfunc function_cx_1_func = CreatePFunc(compiledFunc);
    230231      alglib.ndimensional_pgrad function_cx_1_grad = CreatePGrad(compiledFunc);
    231       for (int t = 0; t < 10; t++) {
     232      for (int t = 0; t < 1; t++) {
    232233        double[] cStart = constants.Select(_ => Rand.RandNormal(random) * 10).ToArray();
    233234        double[] cEnd;
     
    278279        {
    279280          var rowData = new double[d];
    280           return HeuristicLab.Common.Extensions.RSq(y, Enumerable.Range(0, N).Select(i => {
     281          return Math.Round(HeuristicLab.Common.Extensions.RSq(y, Enumerable.Range(0, N).Select(i => {
    281282            for (int j = 0; j < d; j++) rowData[j] = x[i, j];
    282283            return compiledFunc.Evaluate(c, rowData);
    283           }));
     284          })), 3);
    284285        }
    285286      }
Note: See TracChangeset for help on using the changeset viewer.