The Dendritic Cell Algorithm is inspired by the Danger Theory of the mammalian immune system, and speciffically the role and function of dendritic cells. The Danger Theory was proposed by Matzinger and suggests that the roles of the acquired immune system is to respond to signals of danger, rather than discriminating self from non-self. The theory suggests that antigen presenting cells (such as helper Tcells) activate an alarm signal providing the necessarily co-stimulation of antigen-specific cells to respond. Dendritic cells are a type of cell from the innate immune system that respond to some specific forms of danger signals. There are three main types of dendritic cells: immature that collect parts of the antigen and the signals, semi-mature that are immature cells that internally decide that the local signals represent safe and present the antigen to T-cells resulting in tolerance, and mature cells that internally decide that the local signals represent danger and present the antigen to T-cells resulting in a reactive response.
The information processing objective of the algorithm is to prepare a set of mature dendritic cells (prototypes) that provide context specific information about how to classify normal and anomalous input patterns. This is achieved as a system of three asynchronous processes of 1) migrating sufficiently stimulated immature cells, 2) promoting migrated cells to semi-mature (safe) or mature (danger) status depending on their accumulated response, and 3) labeling observed patterns as safe or dangerous based on the composition of the sub-population of cells that respond to each pattern.
The following algorithm provides pseudocode for training a pool of cells in the Dendritic Cell Algorithm, specifically the Deterministic Dendritic Cell Algorithm. Mature migrated cells associate their collected input patterns with anomalies, whereas semi-mature migrated cells associate their collected input patterns as normal. The resulting migrated cells can then be used to classify input patterns as normal or anomalous. This can be done through sampling the cells and using a voting mechanism, or more elaborate methods such as a mature context antigen value (MCAV) that uses M/Ag (where M is the number of mature cells with the antigen and Ag is the sum of the exposures to the antigen by those mature cells), which gives a probability of a pattern being an anomaly.
The Dendritic Cell Algorithm is not specifically a classification algorithm, it may be considered a data filtering method for use in anomaly detection problems. The canonical algorithm is designed to operate on a single discrete, categorical or ordinal input and two probabilistic specific signals indicating the heuristic danger or safety of the input.
The danger and safe signals are problem specific signals of the risk that the input pattern is an anomaly or is normal, both typically in [0; 100]. The danger and safe signals do not have to be reciprocal, meaning they may provide conflicting information. The system was designed to be used in real-time anomaly detection problems, not just static problem. Each cells migration threshold is set separately, typically in [5; 15]