• 沒有找到結果。

Chapter 2 A Brief Review of XCS

2.1 XCS

XCS, introduced by Wilson in 1995, is an important branch of LCS. XCS has become known as the most reliable learning classifier system for solving typical data mining and machine learning problems.

In this section, we give an overview of the important components of XCS, including the representation, the performance component, the reinforcement component, the discovery component, the macroclassifiers, and the covering and subsumption deletion.

2.1.1 Representation

XCS evolves a set of condition-action rules which are called population of classifiers. The condition-action rule is the representation the knowledge from the environment. Each classifier consists of five main components and several additional estimates.

Condition: The condition part C checks if the classifier matches the environment event.

Action: The action part A specifies the decided action when the condition matches the environment event.

Payoff prediction: The payoff prediction p estimates the average payoff after

5

executing the action in response to the environment event.

Prediction error: The prediction error e estimates the average error of the payoff prediction.

Fitness: The fitness F reflects the scaled average relative accuracy of the classifier.

In the binary case, C is coded in the alphabet C given a problem of l attributes. The symbol # represents the “don’t care” condition. Action part A defines a possible action or classification when the condition matches the environment event.

Payoff prediction p updates the results in a moving average measure of encountered payoff iteratively. Similarly, the payoff prediction error estimates the moving average of the absolute error of the payoff prediction. Fitness estimates the average of the accuracy of the payoff prediction of a classifier relative to other classifiers that were applicable at the same time.

2.1.2 Performance

The performance component presents the overall XCS framework, shown in Figure 2-1. The population of XCS starts with randomly generated classifiers or no classifiers. When an event occurs, XCS forms a match set [M] of classifiers which match the event in the whole population [P]. Then, the system prediction is measured for each action. The system prediction for each action is placed in the prediction array for action selection. If no classifiers match, a covering mechanism is applied to create classifiers that match each of the possible actions and place them in [M]. The system selects an action from the prediction array and forms an action set [A]. Finally, the chosen action is executed, and an environmental payoff may be returned.

6

2.1.3 Reinforcement

In this component, the parameters of classifiers in the action set [A] to achieve higher accuracy and to complete mappings of the problem space. The procedure for

7

 : Learning rate for updating fitness, prediction, prediction error, and action set size estimate in XCS classifiers.

 : Environment return payoff.

 : Prediction error of classifier j.

 : Prediction of classifier j.

 : Accuracy of classifier j.

 : Fitness of classifier j.

Butz [7] indicated that operation will become faster in simple problems if the prediction update comes before the error update, but this may create some problem for complex tasks. Butz and Wilson [8] proposed that it seems to work better to put the error update before the prediction update.

2.1.4 Discovery

The discovery component is exploited to generate new classifiers in the system.

XCS executes genetic algorithm (GA) in the current action set [A] when the average time exceeds a threshold . GA usually uses one-point crossover and bitwise mutation on the rule set to generate new rules. Two classifiers are selected with a probability proportional to their fitness values first. After reproducing, crossing, and mutation the parent classifier, two offspring classifiers are generated. And the resulting offspring is inserted into the population [P]. If the size of population [P] is at its maximum value, a proposed method by Kovacs [9] can be adopted to determine the probability of a deletion of a classifier and to remove the low-fitness classifier.

8

2.1.5 Macroclassifiers

The macroclassifiers are a type of classifiers with the numerosity parameter num in XCS. A macroclassifier is used to speed processing and provide a more perspicuous view of population contents. Whenever XCS generates a new classifier, at the initialization step or at later stages, the population [P] is scanned to examine whether the new classifier has the same condition and action as any existing macroclassifier does. If so, the new classifier is not actually inserted into the population and is therefore deleted, and the numerosity of the existing macroclassifier is incremented by one. Otherwise, the new classifier is added to the population [P]

with its own numerosity field set to one. Similarly, when the macroclassifier suffers a deletion, its numerosity is decremented by one, instead of being actually deleted. If the numerosity of a macroclassifier becomes zero, the system removes the macroclassifier from the population.

2.1.6 Covering and Subsumption

Covering and Subsumption are two important components of XCS. Covering is another method to introduce new classifiers into the population. When an environment event occurs and the match set does not contain all possible actions defined for the environment, the covering operation will generate classifiers to match this event for improving the accuracy. The condition of the new classifier created through covering is made to match the current system input, and it is given an action chosen at random. Each attribute in the condition is mutated to don’t care (#) with a probability. Finally, the system puts the newly generated classifier into the population.

In addition to introducing new classifiers into the population, we also have to deal with rules with the same meaning in XCS’s framework. The subsumption

9

operation is designed to make a rule that absorb other rules if it is more general than other rules and to improve the generalization capability of XCS. There are two forms of subsumption, GA-subsumption and Action-subsumption. In GA-subsumption, when new classifiers are generated, they are examined to see whether their conditions are subsumed by their parent classifiers or not. If the parent classifiers are more general than the new classifiers, the new classifiers are subsumed by the parents. The new classifiers will not be added to the population but numerosity of the parent classifiers is incremented. Otherwise, the system puts the new classifiers into the population. Action-subsumption is different from GA subsumption. Each action set is searched the most general classifier R. Then, all other classifiers in the set are compared to R to see whether R subsumes them. The subsumed classifiers are deleted from the population.

2.1.7 Flow of XCS

At first, XCS initializes the rule set with zero reward randomly. There are four steps for the rule evaluation cycle. The steps are show as following:

1. The state of the environment is detected by detectors.

2. The system examines the condition part of each rule to determine the match set.

3. The match set will be grouped into different sets based on their own actions, and the prediction payoff for each action is calculated to determinate the action set.

4. Effectors implement the action in the environment, get the reward, and distribute it to the rules in the action set.

After a specified period of time, GA is executed to generate new rules and delete unfit rules in the rule discovery cycle. Wilson [2] indicated that they can find the classification rules with high accuracy with this framework.

10

相關文件