Rosella       Machine Intelligence & Data Mining

HomeDataMining & Machine LearningProducts & DownloadsSite MapContact |

Neural Network Predictive Modeling / Machine Learning

Artificial Neural Network (ANN) is a very powerful predictive modeling technique. Neural network is derived from animal nerve systems (e.g., human brains). The heart of the technique is neural network (or network for short). Neural networks can learn to perform variety of predictive tasks. For example, it can be trained to predict numerical values, say, future stock prices, probability, expected values, etc. In addition, it can be used in tasks that involve classification, for example, car, truck, bus, bird, horse, etc.

Neurons in Biological Neural Network

The core of neural network is (network-) nodes. Neural network nodes correspond to neurons of nerve systems. Anatomy of neurons (or neuro cells) is shown at the left figure. Nucleus contains DNA of neuro cells. Axons connect neurons and deliver neuro signals to other neurons. Dendrites receive signals passed through synapses. Synapse is the narrow gap between axon terminals and dendrites.

Neurons receive signals from other neurons and combine them. Combined signals are delivered to other neurons which may receive different level of signals as strength of connected axons will differ. The right figure illustrates this.

anatomy of neurons or neuro cells. function of neurons

Artificial Neural Network - Machine Learning Method

The main function of neurons is simple. That is, neurons combine input signals and pass to other neurons. When this simple function is organized into a network, it renders a very powerful system. Artificial (or computer) version of neurons are referred to as nodes. Artificial neural networks consist of layers of nodes and links between neighboring layers' nodes. The following figure is an example of artificial neural network. (You may consider it as a credit scoring or insurance scoring predictive model which predicts score for credit/insurance applicants.) The first layer is input layer. Nodes of input layer represent input fields or values of categorical input fields. The last layer is output layer. Nodes of output layer represent either prediction values or predicted class names. In the figure, there is a single node for "RiskScore". The rest of layers are called hidden layers (or middle or internal layers). There may be zero or more hidden layers, normally a single hidden layer. The figure has ten hidden nodes in a single hidden layer.

Artificial Predictive Neural Network.

How Neural Network Predicts?
Links in the network represent axons of biological counterparts. As each axon of neurons reacts differently, each link is assigned with a different weight. Weights of links are the essence of neural networks. With weights, networks make prediction as follows. First, known values of input fields are presented to the nodes of the input layer. Then, values are propagated towards the nodes of the output layer. In this process, values are multiplied with weights, summed and, then, applied to a non-linear function which is called as activation function. Note that this is exactly how neurons combine input signals. Weights are designed in such a way that for given input patterns, values of the output layer reflect the values of actual or desired outcomes.

Neural Network Training - The Trial and Error Correction Method

Weights of networks represented by links. Weights are computed by a method known as back-propagation. Computation of weights is called network training. Neural Networks are trained by "showing exemplary data and making corrections for errors repeatedly", until networks fully learn patterns hidden inside data and are able to predict accurately. Basically it's a "Learning from Mistakes or Errors" approach. Network training is performed by repeating the following procedure. For each input training data record;

  1. Present input data values to the nodes of the input layer.
  2. Propagate the presented input values towards the output layer (forward process).
  3. Compare with the values of output nodes to the actual values of training data.
  4. Correct the differences of outcome and propagate towards the input layer (backward process).

Training data records are applied many times before network is actually used. Normally dozens or hundreds of times. Network training is a repetitive process. In the beginning, networks are trained coarsely. Then, they are refined by repeated application of input data. After networks reach a certain maturity level, they are used or deployed for value prediction. Note that testing also involves validation with unseen data to evaluate generality of models.

Time-series Forecasting Using Neural Network

As an alternative approach to regression, neural network can be used to capture time-series trends and seasonal patterns. Neural network is a robust modeling tool. It can capture time-series trends along with seasonal patterns. Moreover neural network time-series models can capture patterns hidden with other variables. Details are discussed in the following link;

YouTube Tutorial Videos: Neural Network Modeling

Deep Learning and Neural Network

Neural networks are very versatile. They can be combined into a larger model seamlessly. Deep Learning refers multi-layer networks and multiple neural networks organized into a single robust model. Normally neural networks are organized into a hierarchical structure. It can work as very powerful decision support systems. For more on Deep Learning, read Rule Engine for Deep Learning.

For more on how neural networks are used in risk management, please read the following links;

Further applications include;

  • Ecommerce product return score index: One of major problems in ecommerce is product returns. Neural network models can be used to predict product return scores.
  • Customer churn score index: Customer churn is a major problem for many companies. Nueral network models can be used to identify customers with high churn risk.

Computer Vision and Convolutional Neural Networks

Convolutional Neural Network (CNN) is a very powerful computer vision techniques. It can classify images, detect objects, and predict values. For example, it can detect skin cancer or wild fires from images as explained in the next;

  • Skin Cancer Detection

    A large number of people suffer from skin cancer. Advanced powerful convolutional neural network models can detect skin cancer from skin mole photos, using deep learning techniques. For more information, visit CMSR Powered Check Skin Cancer website.

  • Wildfire/Bushfire Detection

    Wildfires (aka bushfires in Australia) can occur naturally by lightening strikes. Sometimes caused by arson or human activities. Wildfires can destroy homes, kill people and natural habitats, destroy infrastructure, and pollute air.

    The following images show fire detection examples. This ML Deep Learning model was developed using OD-CNN (Object Detection - Convolutional Neural Network) of CMSR Machine Learning Studio. Green boxes are detected fire areas. As seen in these examples, deep learning neural network models can accurately detect fires.

    wildfire/bushfire detection.

    For more information on fire detection, please read Wildfire detection by Machine Learning.

For information about software used here, please read Machine Learning and Data Mining Software. Software download is available from the page. For information about predictive modeling, please read Predictive Modeling Software Tools.