|
|
Line 1: |
Line 1: |
| '''Competitive learning''' is a form of [[unsupervised learning]] in [[artificial neural networks]], in which nodes compete for the right to respond to a subset of the input data.<ref>{{cite book | last = Rumelhart | first = David | authorlink = David Rumelhart | coauthors = David Zipser, James L. McClelland, et al. | title = Parallel Distributed Processing, Vol. 1 | publisher = MIT Press | year = 1986 | location = | pages = 151–193 | url = | doi = | id = | isbn = }}</ref> A variant of [[Hebbian learning]], competitive learning works by increasing the specialization of each node in the network. It is well suited to finding [[cluster analysis|clusters]] within data.
| | My name is Sean Brehm but everybody calls me Sean. I'm from Great Britain. I'm studying at the high school (final year) and I play the French Horn for 7 years. Usually I choose songs from my famous films ;). <br>I have two brothers. I like Handball, watching movies and Squash.<br><br>my web-site: [http://site1.plumbingnumbers.com/explaining-straightforward-secrets-essay-writing buy narrative essay] |
| | |
| Models and algorithms based on the principle of competitive learning include [[vector quantization]] and [[self-organising map]]s (Kohonen maps).
| |
| | |
| == Architecture and implementation ==
| |
| | |
| [[File:Competitive neural network architecture.png|thumb|Competitive neural network architecture]]
| |
| | |
| Competitive Learning is usually implemented with Neural Networks that contain a hidden layer which is commonly known as “competitive layer”.<ref>{{cite web |url=http://jsalatas.ictpro.gr/implementation-of-competitive-learning-networks-for-weka/ |title=Implementation of Competitive Learning Networks for WEKA |author=Salatas, John |date= 24 August 2011|work= |publisher= ICT Research Blog|accessdate=28 January 2012}}</ref> Every competitive neuron i is described by a vector of weights <math>{\mathbf{w}}_i = \left( {w_{i1} ,..,w_{id} } \right)^T ,i = 1,..,M</math> and calculates the similarity measure between the input data <math>{\mathbf{x}}^n = \left( {x_{n1} ,..,x_{nd} } \right)^T \in \mathbb{R}^d</math> and the weight vector <math>{\mathbf{w}}_i</math> .
| |
| | |
| For every input vector, the competitive neurons “compete” with each other to see which one of them is the most similar to that particular input vector. The winner neuron m sets its output <math>o_i = 1</math> and all the other competitive neurons set their output <math>o_i = 0 , i = 1,..,M, i \ne m</math>.
| |
| | |
| Usually, in order to measure similarity the inverse of the Euclidean distance is used: <math>\left\| {{\mathbf{x}} - {\mathbf{w}}_i } \right\|</math> between the input vector <math>{\mathbf{x}}^n</math> and the weight vector <math>{\mathbf{w}}_i</math>.
| |
| | |
| == Example algorithm ==
| |
| | |
| Here is a simple competitive learning algorithm to find three clusters within some input data.
| |
| | |
| 1. (Set-up.) Let a set of sensors all feed into three different nodes, so that every node is connected to every sensor. Let the weights that each node gives to its sensors be set randomly between 0.0 and 1.0. Let the output of each node be the sum of all its sensors, each sensor's signal strength being multiplied by its weight.
| |
| | |
| 2. When the net is shown an input, the node with the highest output is deemed the winner. The input is classified as being within the cluster corresponding to that node.
| |
| | |
| 3. The winner updates each of its weights, moving weight from the connections that gave it weaker signals to the connections that gave it stronger signals.
| |
| | |
| Thus, as more data are received, each node converges on the centre of the cluster that it has come to represent and activates more strongly for inputs in this cluster and more weakly for inputs in other clusters.
| |
| | |
| ==References==
| |
| {{reflist}}
| |
| ==Further Information and Software==
| |
| * [http://www.demogng.de/JavaPaper/t.html Draft Report "Some Competitive Learning Methods"] (contains descriptions of several related algos)
| |
| * [http://www.demogng.de DemoGNG - Java simulator for competitive learning methods]
| |
| [[Category:Neural networks]]
| |
My name is Sean Brehm but everybody calls me Sean. I'm from Great Britain. I'm studying at the high school (final year) and I play the French Horn for 7 years. Usually I choose songs from my famous films ;).
I have two brothers. I like Handball, watching movies and Squash.
my web-site: buy narrative essay