18. The server device of claim 7 , wherein: the trained model is a trained Self-Organizing Map (SOM) including a plurality of network nodes arranged in a grid or lattice and in fixed topological positions, an input layer with a plurality of input nodes representing input attributes of past events, wherein each of the plurality of input nodes is connected to all of the plurality of network nodes by a plurality of synaptic weights.
18. The server device of claim 7 , wherein: the trained model is a trained Self-Organizing Map (SOM) including a plurality of network nodes arranged in a grid or lattice and in fixed topological positions, an input layer with a plurality of input nodes representing input attributes of past events, wherein each of the plurality of input nodes is connected to all of the plurality of network nodes by a plurality of synaptic weights. 19. The server device of claim 18 , wherein the controller is further configured to: store a plurality of past events, each of the plurality of past events including a plurality of input attributes; perform pre-processing on the plurality of input attributes for each of the plurality of past events to generate a plurality of input data sets; and training a SOM to generate the trained model, wherein the training of the SOM includes: initializing values of the plurality of synaptic weights to random values, randomly selecting one past event and determining which of the plurality of network nodes is a best matching unit (BMU) according to a discriminant function, wherein the discriminant function is a Euclidean Distance; and iteratively calculating a neighborhood radius associated with the BMU to determine neighboring network nodes for updating, and updating values of synoptic weights for neighboring network nodes within the calculated neighborhood radius for a fixed number of iterations to generate the trained model.