De Arte Combinatoria: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>So God created Manchester
m Template
 
en>Omnipaedista
punctuation
Line 1: Line 1:
Greetings! I am Myrtle Shroyer. Doing ceramics is what my family members and I enjoy. For years he's been working as a receptionist. South Dakota is exactly where me and my spouse reside and my family members loves it.<br><br>my blog post ... [http://www.articlestunner.com/cures-for-the-yeast-infection-suggestions-to-use-now/ home std test]
A '''multilayer perceptron''' (MLP) is a [[feedforward neural network|feedforward]] [[artificial neural network]] model that maps sets of input data onto a set of appropriate outputs.  A MLP consists of multiple layers of nodes in a directed graph, with each layer fully connected to the next one.  Except for the input nodes, each node is a neuron (or processing element) with a nonlinear [[activation function]].  MLP utilizes a [[supervised learning]] technique called [[backpropagation]] for training the network.<ref>Rosenblatt, Frank. x. Principles of Neurodynamics: Perceptrons and the Theory of Brain Mechanisms. Spartan Books, Washington DC, 1961</ref><ref>Rumelhart, David E., Geoffrey E. Hinton, and R. J. Williams. “Learning Internal Representations by Error Propagation”. David E. Rumelhart, James L. McClelland, and the PDP research group. (editors), Parallel distributed processing: Explorations in the microstructure of cognition, Volume 1: Foundations. MIT Press, 1986.</ref>  MLP is a modification of the standard linear [[perceptron]] and can distinguish data that are not [[Linear separability|linearly separable]].<ref>Cybenko, G. 1989. Approximation by superpositions of a sigmoidal function ''[[Mathematics of Control, Signals, and Systems]]'', 2(4), 303–314.</ref>
 
== Theory ==
 
=== Activation function ===
If a multilayer perceptron has a linear [[activation function]] in all neurons, that is, a linear function that maps the weighted inputs to the output of each neuron, then it is easily proved with [[linear algebra]] that any number of layers can be reduced to the standard two-layer input-output model (see [[perceptron]]). What makes a multilayer perceptron different is that each neuron uses a ''nonlinear'' activation function which was developed to model the frequency of [[action potentials]], or firing, of biological neurons in the brain. This function is modeled in several ways, but must always be [[Normalization property (abstract rewriting)|normalizable]] and [[Differentiable function|differentiable]].
 
The two main activation functions used in current applications are both [[sigmoids]], and are described by
 
:<math>\phi(v_i) = \tanh(v_i) ~~ \textrm{and} ~~ \phi(v_i) = (1+e^{-v_i})^{-1}</math>,
 
in which the former function is a [[hyperbolic tangent]] which ranges from -1 to 1, and the latter, the [[logistic function]], is similar in shape but ranges from 0 to 1. Here <math>y_i</math> is the output of the <math>i</math>th node (neuron) and <math>v_i</math> is the weighted sum of the input synapses. More specialized activation functions include [[radial basis functions]] which are used in another class of supervised neural network models.
 
=== Layers ===
 
The multilayer perceptron consists of three or more layers (an input and an output layer with one or more ''hidden layers'') of nonlinearly-activating nodes. Each node in one layer connects with a certain weight <math>w_{ij}</math> to every node in the following layer. Some people do not include the input layer when counting the number of layers and there is disagreement about whether <math>w_{ij}</math> should be interpreted as the weight from i to j or the other way around.
 
=== Learning through backpropagation ===
Learning occurs in the perceptron by changing connection weights after each piece of data is processed, based on the amount of error in the output compared to the expected result. This is an example of [[supervised learning]], and is carried out through [[backpropagation]], a generalization of the least mean squares algorithm in the linear perceptron.
 
We represent the error in output node <math>j</math> in the <math>n</math>th data point by <math>e_j(n)=d_j(n)-y_j(n)</math>, where <math>d</math> is the target value and <math>y</math> is the value produced by the perceptron. We then make corrections to the weights of the nodes based on those corrections which minimize the error in the entire output, given by
 
:<math>\mathcal{E}(n)=\frac{1}{2}\sum_j e_j^2(n)</math>.
 
Using [[gradient descent]], we find our change in each weight to be
 
:<math>\Delta w_{ji} (n) = -\eta\frac{\partial\mathcal{E}(n)}{\partial v_j(n)} y_i(n)</math>
 
where <math>y_i</math> is the output of the previous neuron and <math>\eta</math> is the ''learning rate'', which is carefully selected to ensure that the weights converge to a response fast enough, without producing oscillations. In programming applications, this parameter typically ranges from 0.2 to 0.8{{Cn|date=July 2012}}.
 
The derivative to be calculated depends on the induced local field <math>v_j</math>, which itself varies. It is easy to prove that for an output node this derivative can be simplified to
 
:<math>-\frac{\partial\mathcal{E}(n)}{\partial v_j(n)} = e_j(n)\phi^\prime (v_j(n))</math>
 
where <math>\phi^\prime</math> is the derivative of the activation function described above, which itself does not vary. The analysis is more difficult for the change in weights to a hidden node, but it can be shown that the relevant derivative is
 
:<math>-\frac{\partial\mathcal{E}(n)}{\partial v_j(n)} = \phi^\prime (v_j(n))\sum_k -\frac{\partial\mathcal{E}(n)}{\partial v_k(n)} w_{kj}(n)</math>.
 
This depends on the change in weights of the <math>k</math>th nodes, which represent the output layer. So to change the hidden layer weights, we must first change the output layer weights according to the derivative of the activation function, and so this algorithm represents a ''backpropagation of the activation function''. <ref>{{cite book |last=Haykin |first=Simon |authorlink=Simon Haykin |title=Neural Networks: A Comprehensive Foundation |edition=2 |year=1998 |publisher=Prentice Hall |location= |isbn=0-13-273350-1 }}</ref>
<!--
===Border pairs method===
is novel method for the learning of the MLP.<ref name="Border Pairs Method">{{cite book|last=Bouchachia|first=Abdelhamid|title=Adaptiv and Intelligent Systems|year=2011|publisher=Springer|location=Klagenfurt|isbn=978-3-642-23856-7|pages=297-307|url=www.springerlink.com/index/200651K318731758.pdf}}</ref>  Connection weights are computed at once without iteration. Also near minimal configuration of the MLP is found. Only representative learning patterns are used for the learning. BPM do never stray in the local minima.
-->
 
== Terminology ==
 
The term "multilayer perceptron" often causes confusion. It is argued the model is not a single perceptron that has multiple layers. Rather, it contains many perceptrons that are organised into layers, leading some to believe that a more fitting term might therefore be "multilayer perceptron network". Moreover, these "perceptrons" are not really perceptrons in the strictest possible sense, as true perceptrons are a special case of artificial neurons that use a threshold activation function such as the [[Heaviside step function]], whereas the artificial neurons in a multilayer perceptron are free to take on any arbitrary activation function. Consequently, whereas a true perceptron performs binary classification, a neuron in a multilayer perceptron is free to either perform classification or regression, depending upon its activation function.
 
The two arguments raised above can be reconciled with the name "multilayer perceptron" if "perceptron" is simply interpreted to mean a binary classifier, independent of the specific mechanistic implementation of a classical perceptron. In this case, the entire network can indeed be considered to be a binary classifier with multiple layers. Furthermore, the term "multilayer perceptron" now does not specify the nature of the layers; the layers are free to be composed of general artificial neurons, and not perceptrons specifically. This interpretation of the term "multilayer perceptron" avoids the loosening of the definition of "perceptron" to mean an artificial neuron in general.
 
== Applications ==
Multilayer perceptrons using a backpropagation algorithm are the standard algorithm for any [[supervised learning]] pattern recognition process and the subject of ongoing research in [[computational neuroscience]] and [[parallel distributed processing]]. They are useful in research in terms of their ability to solve problems stochastically, which often allows one to get approximate solutions for extremely [[Computational complexity theory|complex]] problems like [[fitness approximation]].
 
MLPs were a popular machine learning solution in the 1980s, finding applications in diverse fields such as [[speech recognition]], [[image recognition]], and [[machine translation]] software,<ref>Neural networks. II. What are they and why is everybody so interested in them now?; Wasserman, P.D.; Schwartz, T.; Page(s): 10-15; IEEE Expert, 1988, Volume 3, Issue 1</ref>
but have since the 1990s faced strong competition from the much simpler (and related<ref>R. Collobert and S. Bengio (2004). Links between Perceptrons, MLPs and SVMs. Proc. Int'l Conf. on Machine Learning (ICML).</ref>) [[support vector machine]]s. More recently, there has been some renewed interest in backpropagation networks due to the successes of [[deep learning]].
 
== References ==
{{reflist}}
 
==External links==
* [http://www.intelnics.com/opennn OpenNN: Open neural networks library].
* [http://www.cs.waikato.ac.nz/ml/weka/ Weka: Open source data mining software with multilayer perceptron implementation].
 
* [http://www.springerlink.com/index/200651K318731758.pdf Border pairs method description].
 
[[Category:Classification algorithms]]
[[Category:Neural networks]]

Revision as of 06:48, 18 December 2013

A multilayer perceptron (MLP) is a feedforward artificial neural network model that maps sets of input data onto a set of appropriate outputs. A MLP consists of multiple layers of nodes in a directed graph, with each layer fully connected to the next one. Except for the input nodes, each node is a neuron (or processing element) with a nonlinear activation function. MLP utilizes a supervised learning technique called backpropagation for training the network.[1][2] MLP is a modification of the standard linear perceptron and can distinguish data that are not linearly separable.[3]

Theory

Activation function

If a multilayer perceptron has a linear activation function in all neurons, that is, a linear function that maps the weighted inputs to the output of each neuron, then it is easily proved with linear algebra that any number of layers can be reduced to the standard two-layer input-output model (see perceptron). What makes a multilayer perceptron different is that each neuron uses a nonlinear activation function which was developed to model the frequency of action potentials, or firing, of biological neurons in the brain. This function is modeled in several ways, but must always be normalizable and differentiable.

The two main activation functions used in current applications are both sigmoids, and are described by

ϕ(vi)=tanh(vi)andϕ(vi)=(1+evi)1,

in which the former function is a hyperbolic tangent which ranges from -1 to 1, and the latter, the logistic function, is similar in shape but ranges from 0 to 1. Here yi is the output of the ith node (neuron) and vi is the weighted sum of the input synapses. More specialized activation functions include radial basis functions which are used in another class of supervised neural network models.

Layers

The multilayer perceptron consists of three or more layers (an input and an output layer with one or more hidden layers) of nonlinearly-activating nodes. Each node in one layer connects with a certain weight wij to every node in the following layer. Some people do not include the input layer when counting the number of layers and there is disagreement about whether wij should be interpreted as the weight from i to j or the other way around.

Learning through backpropagation

Learning occurs in the perceptron by changing connection weights after each piece of data is processed, based on the amount of error in the output compared to the expected result. This is an example of supervised learning, and is carried out through backpropagation, a generalization of the least mean squares algorithm in the linear perceptron.

We represent the error in output node j in the nth data point by ej(n)=dj(n)yj(n), where d is the target value and y is the value produced by the perceptron. We then make corrections to the weights of the nodes based on those corrections which minimize the error in the entire output, given by

(n)=12jej2(n).

Using gradient descent, we find our change in each weight to be

Δwji(n)=η(n)vj(n)yi(n)

where yi is the output of the previous neuron and η is the learning rate, which is carefully selected to ensure that the weights converge to a response fast enough, without producing oscillations. In programming applications, this parameter typically ranges from 0.2 to 0.8Template:Cn.

The derivative to be calculated depends on the induced local field vj, which itself varies. It is easy to prove that for an output node this derivative can be simplified to

(n)vj(n)=ej(n)ϕ(vj(n))

where ϕ is the derivative of the activation function described above, which itself does not vary. The analysis is more difficult for the change in weights to a hidden node, but it can be shown that the relevant derivative is

(n)vj(n)=ϕ(vj(n))k(n)vk(n)wkj(n).

This depends on the change in weights of the kth nodes, which represent the output layer. So to change the hidden layer weights, we must first change the output layer weights according to the derivative of the activation function, and so this algorithm represents a backpropagation of the activation function. [4]

Terminology

The term "multilayer perceptron" often causes confusion. It is argued the model is not a single perceptron that has multiple layers. Rather, it contains many perceptrons that are organised into layers, leading some to believe that a more fitting term might therefore be "multilayer perceptron network". Moreover, these "perceptrons" are not really perceptrons in the strictest possible sense, as true perceptrons are a special case of artificial neurons that use a threshold activation function such as the Heaviside step function, whereas the artificial neurons in a multilayer perceptron are free to take on any arbitrary activation function. Consequently, whereas a true perceptron performs binary classification, a neuron in a multilayer perceptron is free to either perform classification or regression, depending upon its activation function.

The two arguments raised above can be reconciled with the name "multilayer perceptron" if "perceptron" is simply interpreted to mean a binary classifier, independent of the specific mechanistic implementation of a classical perceptron. In this case, the entire network can indeed be considered to be a binary classifier with multiple layers. Furthermore, the term "multilayer perceptron" now does not specify the nature of the layers; the layers are free to be composed of general artificial neurons, and not perceptrons specifically. This interpretation of the term "multilayer perceptron" avoids the loosening of the definition of "perceptron" to mean an artificial neuron in general.

Applications

Multilayer perceptrons using a backpropagation algorithm are the standard algorithm for any supervised learning pattern recognition process and the subject of ongoing research in computational neuroscience and parallel distributed processing. They are useful in research in terms of their ability to solve problems stochastically, which often allows one to get approximate solutions for extremely complex problems like fitness approximation.

MLPs were a popular machine learning solution in the 1980s, finding applications in diverse fields such as speech recognition, image recognition, and machine translation software,[5] but have since the 1990s faced strong competition from the much simpler (and related[6]) support vector machines. More recently, there has been some renewed interest in backpropagation networks due to the successes of deep learning.

References

43 year old Petroleum Engineer Harry from Deep River, usually spends time with hobbies and interests like renting movies, property developers in singapore new condominium and vehicle racing. Constantly enjoys going to destinations like Camino Real de Tierra Adentro.

  1. Rosenblatt, Frank. x. Principles of Neurodynamics: Perceptrons and the Theory of Brain Mechanisms. Spartan Books, Washington DC, 1961
  2. Rumelhart, David E., Geoffrey E. Hinton, and R. J. Williams. “Learning Internal Representations by Error Propagation”. David E. Rumelhart, James L. McClelland, and the PDP research group. (editors), Parallel distributed processing: Explorations in the microstructure of cognition, Volume 1: Foundations. MIT Press, 1986.
  3. Cybenko, G. 1989. Approximation by superpositions of a sigmoidal function Mathematics of Control, Signals, and Systems, 2(4), 303–314.
  4. 20 year-old Real Estate Agent Rusty from Saint-Paul, has hobbies and interests which includes monopoly, property developers in singapore and poker. Will soon undertake a contiki trip that may include going to the Lower Valley of the Omo.

    My blog: http://www.primaboinca.com/view_profile.php?userid=5889534
  5. Neural networks. II. What are they and why is everybody so interested in them now?; Wasserman, P.D.; Schwartz, T.; Page(s): 10-15; IEEE Expert, 1988, Volume 3, Issue 1
  6. R. Collobert and S. Bengio (2004). Links between Perceptrons, MLPs and SVMs. Proc. Int'l Conf. on Machine Learning (ICML).