Opened 12 years ago
Last modified 11 years ago
#1980 reviewing feature request
Implementing Learning Classifier Systems
Reported by: | sforsten | Owned by: | mkommend |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.x Backlog |
Component: | ### Undefined ### | Version: | branch |
Keywords: | Cc: |
Description
Implementing Learning Classifier Systems, at least one Michigan and one Pittsburgh approach.
The implementation should be a reference implementation, if other LC systems will be added.
Change History (29)
comment:1 Changed 12 years ago by sforsten
comment:2 Changed 12 years ago by sforsten
- added ConditionActionClassificationProblem
- added ConditionActionEncoding
- added Manipulators, Crossovers and an LCSAdaptedGeneticAlgorithm
- changed LearningClassifierSystemMainLoop
comment:3 Changed 12 years ago by sforsten
r9090: implemented covering and changed SinglePointCrossover for CombinedIntegerVectorEncoding
comment:4 Changed 12 years ago by sforsten
- included an adapted version of GA correctly
- added action set subsumption
- added deletion after GA and before covering
comment:5 Changed 12 years ago by sforsten
- Status changed from new to accepted
- added GA subsumption
- simplified deletion before covering
- simplified XCSDeletionOperator
comment:6 Changed 12 years ago by sforsten
- added XCSSolution, XCSModel, XCSClassifier to represent the xcs classifier
- XCSSolution also shows the current accuracy (training and test partition has to be added)
- added XCSSolutionAnalyzer to create a XCSSolution during the run of the algorithm
- added XCSModelView to show the xcs model
- fixed a bug in XCSDeletionOperator (sometimes it deleted less classifiers than it should)
- moved some parameter from ConditionActionClassificationProblem to ConditionActionClassificationProblemData
comment:7 Changed 12 years ago by sforsten
- added problem instance provider to import csv files for ConditionActionClassificationProblemData
- adapted LCSAdaptedGeneticAlgorithm to use the crossover probability
- fixed a bug in XCSModelView
comment:8 Changed 12 years ago by sforsten
- added training and test partition to ConditionActionClassificationProblemData
- ClassifierFetcher only uses training partition
comment:9 Changed 12 years ago by sforsten
- change standard parameter settings in ConditionActionClassificationProblem
- fixed bug: if a parent is copied instead of a crossover, the new individual is inserted in the population correctly
- added missing attributes to ConditionActionClassificationProblemData
comment:10 Changed 12 years ago by sforsten
- added BestTrainingXCSSolutionAnalyzer and CurrentXCSSolutionAnalyzer
- fixed bug: Equals method was not correct in CombinedIntegerVector
The interface IEquatable<IClassifier> in IClassifier will be removed soon and a IEqualityComparer<IClassifier> will be implemented instead.
comment:11 Changed 12 years ago by sforsten
r9191: branch project HeuristicLab.Core
- added necessary interface ICondition, IAction, IInput
- removed not used class MatchSelector and interface IMatchSelector
- added constructors to ItemDictionary
- added new encoding
The new encoding still misses a manipulator and a covering operator. Also a problem which uses it has to be created or at least adapted.
comment:12 Changed 12 years ago by sforsten
- deleted not needed interface IMatching
- finished VariableVector encoding
- the algorithm LearningClassifierSystem is now independent of a specific encoding. It still needs the ConditionActionEncoding.
- merged r9191:9203 HeuristicLab.Core from trunk to branch
comment:13 Changed 12 years ago by sforsten
r9205: forgot to remove the reference to any specific encodings in the LearningClassifierSystems project
comment:14 Changed 12 years ago by sforsten
- made classes in Problems.ConditionActionClassification abstract
- added Problems.VariableVectorClassification and Problems.CombinedIntegerVectorClassification
- LCS works now with arbitrary problems, which implement ConditionActionClassificationProblem
comment:15 Changed 12 years ago by sforsten
- property changes
- removed Plugin.cs and AssemblyInfo.cs
- added VariableVectorCVSInstanceProvider
comment:16 Changed 12 years ago by sforsten
- fixed several bugs (crossover, subsumption, serialization etc.)
- added ModuloOperator
- CombinedIntegerVectorClassificationProblem\Data and VariableVectorClassificationProblem\Data inherit from ConditionActionClassificationProblem\Data
- it can now be set how often the analyzers have to be executed
- VariableVectorAction, VariableVectorCondition and VariableVectorInput now inherit from Item
comment:17 Changed 12 years ago by sforsten
- added Algorithms.GAssist
- adapted Problems.DecisionListClassification and Encodings.DecisionList
comment:18 Changed 12 years ago by sforsten
- added be project Optimization.Operators.LCS
- added default rule strategies for GAssist
comment:19 Changed 12 years ago by sforsten
- added DecisionListView
- added event handlers in *ProblemData
- renamed project Problems.XCS.Views to Problems.lCS.Views and Problems.Instances.ConditionActionClassification to Problems.Instances.LCS
- integrated niching in GAssist and added NichingTournamentSelector
- minor code improvements and property changes
comment:20 Changed 12 years ago by sforsten
- several small bug fixes
- added windowing technique ILAS to GAssist
- GAssist and XCS work now with real-valued features
- severely improved the performance of XCS
comment:21 Changed 12 years ago by sforsten
- added multiple discretizer to GAssist
- created ensembles for LCS problems and edited CrossValidation to use them
comment:22 Changed 12 years ago by sforsten
- added ProportionalTournamentSelector for XCS
- fixed bug: if an initial population is created in XCS, the initial population also creates general classifier, not only specific ones
- merged r9204:9466 HeuristicLab.Core from trunk to branch
comment:23 Changed 12 years ago by sforsten
r9468: removed condition that all condition variables have to be double variables
comment:24 Changed 12 years ago by sforsten
r9470: added better check of which variables can be an action and which can be condition variables
comment:25 Changed 12 years ago by sforsten
r9475: several small bug fixes
comment:26 Changed 12 years ago by sforsten
- renamed algorithm Learning Classifier System to XCS
- DecisionListSolution and XCSSolution show more information
- VariableVectorClassificationProblemData can now also import datasets where the last variable is not the target variable
comment:27 Changed 11 years ago by sforsten
- set plugin dependencies
- added smart initialization
- added hierarchical selection
- fixed major and minor default rule
- fixed several smaller bugs
- some refactoring has been done
MPLCS has still do be added to GAssist see http://icos.cs.nott.ac.uk/data/papers/Bacardit2009c.pdf.
Many newer operators are already available for XCS and should be added.
Some event handler are still missing.
comment:28 Changed 11 years ago by sforsten
r9606: forgot to delete a file
comment:29 Changed 11 years ago by mkommend
- Owner changed from sforsten to mkommend
- Status changed from accepted to reviewing
r8941: A general implementation of most main components of LCS is done with an own encoding. At the moment you can just watch the LCS generating a number of solutions and selecting the match and action set in the debug engine.