Artificial Neural network


Artificial Neural network (ANN) or connectionist systems are a computational model used in computer science and other research disciplines, which is based on a large collection of simple neural units (artificial neurons), loosely analogous to the observed behavior of a biological brain's axons.

Artificial Neural networks are used within Machine Learning

Each Artificial Neuron is connected with many others, and links can enhance or inhibit the activation state of adjoining Artificial Neuron.

Each individual Artificial Neuron computes using summation function. There may be a threshold function or limiting function on each connection and on the Artificial Neuron itself, such that the signal must surpass the limit before propagating to other Artificial Neurons.

Artificial Neural network systems may be self-learning and trained, rather than explicitly programmed, and excel in areas where the solution or feature detection is difficult to express in a traditional computer program.

Artificial Neural network can be classified as:


Let's say you want to predict some output value Y given some input value X for example maybe you want to predict your score on a test based on how many hours you sleep and how many hours you study the night before. To use a Machine Learning approach we first need some data let's say for the last three tests you recorded your
  • number of hours studying
  • number of hours sleeping
  • score on the test

Using the programming language Python to store our data in two dimensional Empire raids now that we have some data we're going to use it to train a model to predict how well you will do on your next test based on how many hours you sleep and how many hours you study this is called a Supervised digression problem it's supervised because our examples have inputs and outputs. This is a regression problem because we are predicting your test score which is the continuous output if we were predicting your letter grade this would be called a classification problem and not a regression problem there are an overwhelming number of models within machine Learning here we will use a particularly interesting one called an Artificial Neural network

Artificial Neural networks are loosely based on how the neurons and your brain work and have been particularly successful recently at solving really big really hard problems. Before we throw our data into the model we need to account for the differences in the units of our data both of our inputs are in ours but our output is a test score scale between 0 and 100 Artificial Neural network are smart but not smart enough to guess the units of our data it's kind of like asking our model to compare apples to oranges or most learning models really only want to compare apples to apples the solution is to scale our data this way our model only sees standardized units here we're going to take advantage of the fact that all our data is positive and simply divide by the maximum value for each variable effectively scaling our result between zero and one now we can build our neural net we know our network must have two inputs and one output because these are the dimensions of our data.

We will call our output layer Y hat because it's an estimate of Y but not the same as Y any layer between our input and output layer is called a hidden layer.

Recently researchers have built Artificial Neural networks with many many many hidden layers these are known as Deep Neural networks rise to the term Deep Learning. Here will are going to use one hidden layer with three hidden units but if we wanted to build a Deep Neural network we would just stack a bunch of these layers together in neural net visuals circles represent neurons and lines represent synapses Synapses have a really simple job they take a value from their input multiplied it by a specific weight and output the result. Artificial Neurons are a little more complicated their job is to add together the outputs from all their synapses and apply an Activation Function. Certain Activation Functions allow neural nets to model complex nonlinear patterns that simpler models may miss for our neural net will use sigmoid activation functions

We will build out our neural net in Python


Artificial Intelligence

More Information#

There might be more information for this subject on one of the following: