Learning Classifier Systems
Learning Classifier Systems (LCS) sit next to genetic algorithms for the case where the learner is a rule population rather than a single model. The page first defines LCS, then narrows to XCS, the variant with a scikit-learn implementation and a tutorial.
The same notes are in Genetic Algorithms & Genetic Programming.
LCS
The starting point is the Wikipedia definition, because it names the two parts every LCS has. (WIKI) Learning classifier systems, or LCS, are a paradigm of rule-based machine learning methods that combine a discovery component (e.g. typically a genetic algorithm) with a learning component (performing either supervised learning, reinforcement learning, or unsupervised learning). The learning component is the choice that matters: in supervised learning the training data is labeled with the expected answers, while in unsupervised learning the model finds patterns or structures in unlabeled data.
XCS
With the general definition in place, XCS is the concrete variant that picks reinforcement learning as its learning component. XCS is a type of Learning Classifier System (LCS), a machine learning algorithm that utilizes a genetic algorithm acting on a rule-based system, to solve a reinforcement learning problem.
To run it, Scikit-xcs is the scikit-learn compatible implementation of XCS, described by its authors as the most popular and best studied learning classifier system algorithm to date. The figure below is from that repository.

For a guided walk through the same algorithm, the XCS Tutorial goes with the hosford42 XCS package linked above.
Last updated
Was this helpful?