# Machine Learning-Based Monitoring of DC-DC Converters in Photovoltaic Applications
## 2 Materials and Methods
### Multilayer Neural Network with Multi-Valued Neurons (MLMVN) and Its Adaptation to a Zeta Convertor  
#### 2.5.1 Main Characteristics  
The main tool proposed in this paper for identifying the state of health of DC-DC converters is a neural network-based classifier. It is a feed-forward Multilayer neural network with Multi-Valued Neurons that uses a derivative-free learning algorithm during the backpropagation procedure. Each neuron is a Multi-Valued Neuron (MVN) with multiple complex-valued inputs (\(X_{1}\),..., \(X_{n}\)) and complex-valued weights (\(W_{1}\),..., \(W_{n}\)). This neural network might be used either in a continuous or in a discrete version. A three-layer neural network with discrete output neurons is used in this paper: each neuron belonging to the last layer employs a discrete activation function dividing the complex plane into k equal sectors and adjusting the output to the lower border of the sector that contains the weighted sum of the inputs \(z\) (\(z=X_{1}\)\(W_{1}+X_{2}\)\(W_{2}+\)\(\ldots\)\(+X_{s}\)\(W_{n}\)). The discrete activation function is represented by Formula (10), as it is described in [34]. \[P(z)=Y=e_{k}^{j}=e^{j2\pi j/k}\ \ \ if\ \ 2\pi j/k\leq\arg(z)<2\pi(j+1)/k \tag{10}\]  
where \(j\) is an index of a sector where the weighted sum is located, \(k\) is the total number of the sectors, and \(\arg(z)\) represents the argument of the weighted sum. Since this neural network is feed-forward, the backpropagation of the output errors is the main procedure for the correction of the complex weights during the training phase. These errors are calculated starting from a dataset containing corrected classification examples and applying the correction rules in a supervised procedure. As it is shown in (3), the last column of the dataset matrix contains the desired outputs, which are the fault classes corresponding to the time-domain measurements. The dataset rows are processed in succession during the training phase, and the error value for each neuron in the output layer is calculated by the difference between the number (a root of unity) determining the lower border of the desired sector and the actual output. Therefore, the error for each sample belonging to the dataset corresponds to the difference between two complex numbers located on the unit circle. Applying the standard correction rules presented in detail in [34], it is possible to modify the complex weights without introducing derivative terms, thus facilitating the backpropagation procedure compared to other feed-forward neural networks and reducing the computational cost. Formula (11) shows how to calculate the adjustment of a neural network weight,  
\[\Delta W_{i}^{k,m}=\frac{\alpha_{k,m}}{(n_{m-1}+1)\left|z_{k,m}^{s}\right|}\ \delta_{k,m}^{s}\ \overline{Y}_{i,m-1}^{s} \tag{11}\]  
where \(\Delta W_{i}^{k,m}\) is the adjustment for the \(i\)-th weight of the \(k\)-th neuron belonging to the layer \(m\), \(\alpha_{k,m}\) is the corresponding learning rate (complex-valued in general, but set equal to 1 in all actual applications), \(n_{m-1}\) is the number of the neuron inputs equal to the number of the outputs of the previous layer, \(\left|z_{k,m}^{s}\right|\) is the magnitude of the weighted sum, \(\delta_{k,m}^{s}\) is the neuron error obtained through the backpropagation method, and \(\overline{Y}_{i,m-1}^{s}\) is the conjugate-transposed of the input. This learning rule allows the correction of the weights for each sample of the dataset \(s\) (\(s=1\),..., \(N_{S}\)). While the error should be backpropagated starting from the output neurons up to the input ones, after all the neurons errors were found, the weights should be adjusted starting from the first hidden layer to the last one. Figure 4 shows the initial error definition for a neuron in the output layer. Once the errors have been calculated for the output layer neurons, the errors should be backpropagated by applying Formula (12).