Genetic Algorithm
- Genetic Algorithm: based on an analogy to biological evolution
- An initial population
is created consisting of randomly generated rules
- Each rule is represented by a string of bits
- E.g., if A1 and ¬A2 then C2 can be encoded as 100
- If an attribute has k > 2 values, k bits can be used
- Based on the notion of survival of the fittest, a new population is formed to consist of the fittest rules and their offspring
- The fitness of a rule is represented by its classification accuracy on a set of training examples
- Offspring are generated by crossover and mutation
- Crossover: sub-strings from pairs of rules are swapped to form new pairs of rules
- Mutation: randomly selected bits in a rule’s string are inverted
- The process continues until a population
evolves when each rule in
satisfies a prespecified threshold
- Slow but easily parallelisable
Fuzzy-Set Approach
- Fuzzy logic uses truth values between 0.0 and 1.0 to represent the degree of membership (such as in a fuzzy membership graph)
- Attribute values are converted to fuzzy values:
- Income is assigned a fuzzy membership value to each of the discrete categories {low, medium, high}, without fuzzy logic $49K income will be categorized as “medium income”
- In fuzzy logic:
- $49K belongs to “medium income” with fuzzy value 0.15
- but belongs to “high income” with fuzzy value 0.96
- Fuzzy membership values do not have to sum to 1.
- Each applicable rule contributes a vote for membership in the categories
- Typically, the truth values for each predicted category are summed, and these sums are combined