# Modeling of Fuzzy Systems Based on the Competitive Neural Network
## 2 Theoretical Framework
### Competitive Neural Network  
Competitive Neural Networks deviate from traditional feedforward neural networks by introducing a competitive layer. This layer is often referred to as the competitive or Kohonen layer which facilitates competition among neurons. Neurons compete to become the most responsive to specific input patterns, fostering a dynamic environment where only the most relevant neurons survive and adapt [18]. Competitive Neural Networks work in unsupervised learning scenarios, where the network must identify patterns and structure within the data without explicit labels. The competitive layer fosters neuron specialization, with each neuron becoming an expert in recognizing a specific pattern or feature. Through continuous competition and adaptation, the network refines its internal representation, making it highly adept at capturing intricate relationships within the input data. In [19] the authors describe three fundamental components of competitive learning rules:  
* Activation of Neuron Set: Neurons (process units) exhibit activation or inactivity in response to specific input patterns. Distinct synaptic weight values are assigned to each neuron, contributing to individualized responsiveness. * Limitation on Neuron Strength: A constraint is applied to the \"strength\" of each neuron, regulating its responsiveness within the network. * Competitive Mechanism: Neurons compete to respond to subsets of input patterns. The outcome is designed such that only one neuron from the group is activated, promoting specialization. Moreover, within a CNN, a binary process unit serves as a simple computational entity capable of assuming only two states: active (on) or inactive (off). For each binary process unit \(i\), there exists an associated synaptic weights vector \((w_{i1},w_{i2},\ldots w_{iN})\) to weigh the incoming values from the input vectors. The synaptic potential is defined as follows: if \(N\) signals, represented by the vector \((x_{1},x_{2},\ldots,x_{N})\), reach the processing unit \(i\), and the synaptic weights vector of each unit is \((w_{i1},w_{i2},\ldots,w_{iN})\), then the synaptic potential is computed using Equations (1) and (2). \[h_{i}=w_{i1}x_{1}+w_{i1}x_{2}+-\ldots+w_{iN}x_{N}-\theta_{i} \tag{1}\]  
where:  
\[\theta_{i}=\frac{1}{2}\Big{(}w_{i1}^{2}+w_{i2}^{2}+...+w_{iN}^{2}\Big{)} \tag{2}\]  
Defined by \(N\) input sensors, \(M\) process units, and interconnecting links between each sensor and process unit, a CNN is characterized by the association of specific values, denoted as \(w_{ij}\), with each connection linking sensor \(j\) to process unit \(i\). Figure 1 provides a visual representation of a Competitive Neural Network (CNN). With each input collected by the sensors, the activation of only one process unit occurs, specifically the unit with the highest synaptic potential, which is acknowledged as the winning unit. Consequently, when denoting the state of process unit \(i\) with the variable \(y_{i}\), it adopts a value of 1 during activation and 0 otherwise. The computational dynamics of the network are obtained by Equation (3). \[y_{i}=\left\{ \begin{aligned} & 1\;if\;\;h_{i}=\underset{k}{ max}\{h_{1},\;h_{2,...,}h_{M}\}\\ & 0\;otherwise\end{aligned} \right. \tag{3}\]  
\[i=1,\;2,\;3,..,\;M\]  
The synaptic weights are established through an unsupervised learning process. The objective is to activate the process unit whose synaptic weight vector is most similar to the input vector. The degree of similarity between the input vector \(X=(x_{1},x_{2},\ldots,x_{N})\) and the synaptic weights vector of process unit \(i\), \(W=(w_{i1},w_{i2},\ldots,w_{iN})\), is determined by the Euclidean distance between these vectors. This distance is given by Equation (4).