5.7 Application Principles of ACO
- Construction Graph. A graph can always be constructed using
attribute/value pairs as nodes, fully connecting the graph,
and placing pheromones on the nodes.
- Pheromone Trail Definition. Commonly, τi,j can be
interpreted as going to node j after node i or the desirability
of visiting node i in the jth position.
- Exploration vs. Exploitation. The lower pheromone limit
and pheromone trail reinitialization of MMAS cater to
exploration. An α value greater than 0 caters to
exploitation, etc.
- Heuristic Information. This information can be static
(such as in TSP) or dynamic (such as set covering).
Static information only needs to be computed once.
Local search often mitigates the need for heuristic information.
- Local Search. ACO performs a course-grained search. Local
search typically performs a fine-grained search.
- Number of Ants. Empirically, multiple ants typically lead to better
solutions.
- Candidate Lists. Can reduce the search space size.
5.6 Machine Learning Problems
Learning the Structure of Bayesian Networks
Learning of Classification Rules
- Ant-miner.
- Attributes A = {a1,...}
- Values Vi = {vi1,...}
- l (L) Classes B = {b1,...}
- Learn rules of form: IF < term1
∧ ... > THEN < bi >
- term has the form < ai = v ij >
- Ant-miner pseudocode: Figure 5.7.
- Construction graph: one node for every possible term plus a
dummy start node.
- Pheromone trails: τij indicates the desirability
of adding (ai = vij) to the current rule.
- Heuristic information: based on entropy, but we will ignore in
the example that we work.
- Solution construction: iterative using equation 5.26.
- f(rule) = (TP / (TP +FN)) * (TN / (FP + TN))
- Pheromone Update: (1) τij * f(rule) is added
to each term of the rule, (2) pheromone values are normalized.
- Results: Ant-miner generally has better predictive accuracy than
CN2 and returns simpler rules.
Example
- Classes: {yes, no}
- Attribute: color, Values: {red, blue}
- Attribute: size, Values: {small, big}
- Training Set: {(yes, red, small), (yes, red, big),
(yes, blue, small), (no, blue, big)}