Artificial Neural Networks

From Pumping Station: One Wiki
Jump to: navigation, search

UNDER CONSTRUCTION - SORRY BUSY AS A MOFO Artificial Neural Networks (ANN) (or more commonly known as Artificial Intelligence) have become the most prominent research topic in modern computer science as we are entering the golden age of A.I., the use of machine learning and deep learning have become a common use for practical and intensive purposes.

Artificial Neural Networks

Artificial Neural Networks are simple to complex series of data representation within a network that changes according the certain algorithms applied with the phases of the structure. The artificial neural network was initially inspired by biological neural networks and their functions of processing input and output data. Within A.I. the biological 'neurons' are represented as nodes within an ANN which are systems of interconnected points exchanging messages between one another and have numeric weights/constraints applied to them that allow these neural nets to adapt/alter input data thus creating the Artificial Intelligence's ability to "learn".

These nodes within the network can be thought of as phases within a neural net where data can be processed, stored or gathered. Information can flow readily throughout these nodes and can be modified by the algorithms the architect chooses to weigh on them. There are a variety of algorithms available for use within neural networks and these can be interchangeably placed depending on the structure of the ANN and what the intended use/purpose is.

Machine Learning Algorithms

Machine Learning Algorithms are the backbone of Artificial Neural Networks as they are what allow the neural network to created 'learned' material through the constraints placed on the data by the algorithms.

There are various types of Machine Learning Algorithms which are used to comprise neural nets. The main include Supervised Learning, Unsupervised and Semi-supervised.

Supervised machine learning algorithms consists of target/outcome variables (dependent variables) which are predicted from a given set of predictors (independent variables). This means that by using these sets of variables, we generate a function that maps inputs to desired outputs. In other words, we determine predictable output data representation.

The most common types of Supervised Learning algorithms include:

  • Regression
  • Random Forest
  • KNN
  • Logistic Regression

Regression Algorithms

Regression algorithms are forms of analysis which create predictive modeling techniques within Supervised and Semi-Supervised Learning. This analysis estimates the relationship between the dependent variable(s) (target[s]) and independent variable(s) (predictor[s]).

Although there are many forms of regression algorithms,the two main types of regression techniques used within Machine Learning:

  • Logistic Regression
  • Linear Regression

Logistic Regression

Linear Regression

Random Forest Algorithms

KNN Algorithms

Logistic Regression Algorithms

Semi-Supervised or Reinforcement Learning Algorithms is when the machine is trained to make specific decisions and are exposed to environments where it trains itself continually by using trial and error. These machine learning algorithms learn from past experience and try to capture the best possible knowledge to make accurate business decisions.

An example of Semi-Supervised Learning includes: Markov Decision Process

"Unsupervised Learning" Algorithms are algorithms that are applied within a neural network when there is no target or outcome variable to predict/estimated. An example use of these algorithms could be used for clustering population in different groups.

Common Examples of Unsupervised Learning Algorithms include: Apriori algorithm K-meansalgorithms

Designing the Structure for your Neural Network

MathWorks, TensorFlow & Other Tool Use for Artificial Intelligence.

Deep Learning Neural Networks

Developing Data Sets

Developing your own data sets are what allows you to customize neural networks for your own specific needs. Whether gather on your own or by data scientists, the key to having a successfully A.I. lies behind the ability to gather and create optimal data examples.

The best way to gather information is though the abundance of what is available on the internet. Web crawlers are the best way to gather information and you have the option to use pre existing web crawlers/scraping tools or develop your own

The most popular web crawlers available are:

Crawling the Internet

Writing your own code for your neural network

The building blocks of Artificial Neural Networks are "Machine Learning Algorithms" which are algorithms that are explicitly developed to allow computers/hardware to learn without specifically being 'programmed'. The ability of these algorithms to train data is altered by the developer who trains the algorithms based on specified input and output values. The alteration in the input data and output data within the neural network is affected by its' 'constraint'.

Here is a arbitrary example of a input-output node to node alteration within a neural network: