12. An apparatus comprising: a monitor arranged to monitor a stream of events occurring at the apparatus and, for each event, to detect a plurality of features describing the event, at least some of which are related in a hierarchical manner; a memory storing a tree-based graphical data structure comprising layers of parent and child variable nodes connected by edges, wherein weights associated with the features describing the event are represented by variable nodes and the variable nodes are connected such that sequences of connected variable nodes represent the hierarchical relations between features; a processor arranged to store at each variable node of the graphical data structure, statistics describing a probability distribution representing a latent event score; a training engine arranged to update the statistics on the basis of the monitored event by using a Bayesian machine learning process and also such that latent event score information is propagated along the sequences of variable nodes which represent the hierarchical relations; a prediction engine arranged to predict an event using the graphical data structure; and a controller arranged to use the predicted event to control the apparatus.
13. An apparatus as claimed in claim 12 wherein the training engine is arranged to update the statistics by enabling a child variable node to inherit a noisy version of the latent event score of its parent variable node.