Opened 3 years ago

Closed 3 years ago

#2326 closed feature request (done)

Diversity analyzers based on the genotypic and phenotypic tree similarity measures

Reported by: bburlacu Owned by: mkommend
Priority: medium Milestone: HeuristicLab 3.3.12
Component: Problems.DataAnalysis.Symbolic Version: 3.3.11
Keywords: Cc:

Description

The SingleObjectivePopulationDiversityAnalyzer cannot be configured with different similarity calculators. Therefore, it would be cool to have dedicated diversity analyzers for each similarity measure that can be used for symbolic expression trees.

Change History (23)

comment:1 Changed 3 years ago by bburlacu

  • Status changed from new to accepted

comment:2 Changed 3 years ago by bburlacu

r12028: Branched HeuristicLab.Problems.DataAnalysis.Symbolic, initial commit.

comment:3 Changed 3 years ago by bburlacu

r12029: Implemented analyzers

comment:4 Changed 3 years ago by bburlacu

r12030: Added PreBuildEvent.cmd and fixed error.

comment:5 Changed 3 years ago by bburlacu

  • Owner changed from bburlacu to mkommend
  • Status changed from accepted to reviewing

comment:6 Changed 3 years ago by mkommend

  • Owner changed from mkommend to bburlacu
  • Status changed from reviewing to assigned

Review comments:

  • Namespaces are wrong
  • Access modifiers are missing
  • SymbolicClassificationPhenotypicDiversityAnalyzer should use the threshold calculator provided by the problem
  • Reuse discriminant classification model for threshold calculation, estimated class values, etc.
  • Wiring code for diversity analyzers is missing in problems.
  • Improve naming of results.
  • Similarities are not 1.0 for equal solutions (both phenotypic and bottom-up).

comment:7 Changed 3 years ago by bburlacu

r12049: Addressed the issues found by the reviewer:

  • fixed namespaces
  • made UseClassValues property private
  • used the model creator provided by the problem to create models and retrieve estimated values
  • wired analyzers in the problems (classification, regression, data analysis)
  • naming of results will be handled separately in #2333
  • partially fixed similarities: could find nothing wrong with bottom-up similarities, but for the phenotypic similarities, the reason the similarity values were not 1.0 was because for constant sequences with variance 0, the R2 value was always 0 (regardless if the sequences were equal), therefore some constant models had similarity 0 (instead of 1)
Last edited 3 years ago by bburlacu (previous) (diff)

comment:8 Changed 3 years ago by bburlacu

r12055: Implemented a workaround for the case in which both sequences have zero variance, and decided to return a similarity value of 1.

comment:9 Changed 3 years ago by bburlacu

  • Owner changed from bburlacu to mkommend
  • Status changed from assigned to reviewing

comment:10 Changed 3 years ago by mkommend

r12064: Fixed namespaces, cloning and serialization in diversity analyzer.

comment:11 Changed 3 years ago by mkommend

  • Owner changed from mkommend to bburlacu
  • Status changed from reviewing to assigned

Review comments:

  • problem and interpreter for phenotypic similarity calculator are never set!
  • SymbolicExpressionTreePhenotypicSimilarityCalculator.CalculateSolutionSimilarity should check if estimated values are present
  • Check for similarities of solutions with zero variance was only added to one method for similarity calculation

comment:12 Changed 3 years ago by bburlacu

r12068: Fixed mistakes and wired similarity calculators directly into the problem and correctly initialized the properties of the phenotypic similarity calculator.

comment:13 Changed 3 years ago by bburlacu

r12075: Adapted code in the diversity analyzers according to the new base class. Improved wiring of similarity calculators and analyzers.

comment:14 Changed 3 years ago by bburlacu

  • Owner changed from bburlacu to mkommend
  • Status changed from assigned to reviewing

comment:15 Changed 3 years ago by bburlacu

r12086: Moved phenotypic diversity analyzers one level up (since they can be applied to both single- and multiobjective problems). Added wiring in the multiobjective problems. Changed base class to SolutionSimilarityCalculator and adjusted analyzers.

comment:16 Changed 3 years ago by mkommend

r12103: Merged all branch changes in the trunk.

comment:17 Changed 3 years ago by mkommend

  • Status changed from reviewing to readytorelease

#2332 must be released before this ticket.

comment:18 Changed 3 years ago by mkommend

  • Status changed from readytorelease to reviewing

comment:19 Changed 3 years ago by mkommend

r12108: Reverted namespace corrections for classification MSE evaluator and multi symbolic expression tree creator, because these break the backwards compatibility.

comment:20 Changed 3 years ago by mkommend

r12110: Accidentally changed the wrong namespace in r12108.

comment:21 Changed 3 years ago by mkommend

r12122: Forgot to commit merge info for diversity analyzers.

comment:22 Changed 3 years ago by mkommend

  • Status changed from reviewing to readytorelease

Reviewed r12103, r12108, r12110 and r12122.

comment:23 Changed 3 years ago by mkommend

  • Resolution set to done
  • Status changed from readytorelease to closed

r12281: Merged r12103, 12108, r12110 and r12122 into stable.

Note: See TracTickets for help on using tickets.