## 2 Materials and Methods
### Module Development
#### 2.2.3 The Learning Algorithm
We can see that the energy consumption is lowest with two layers. However, there is no difference between the energy consumption of three and four layers. Figure 3: (a) Variation of energy consumption as a function of the batch size. (b) Variation of _RMSE_ as a function of the batch size. To analyze the influence of the number of hidden layers on the prediction accuracy, the variation of _RMSE_ as a function of the number of hidden layers is shown. Based on the simulation results shown in Figure 4b, it can be seen that the prediction error is low when the number of layers is three or four. However, the _RMSE_ is high when the number of layers is two. Selecting the number of hidden layers in a neural network is one of the major problems in the field of artificial neural networks. Arbitrary selection of the number of hidden layers can lead to high power consumption and lower model accuracy. If power consumption is the most important criterion in an application, a small number of hidden layers is more suitable, but if the performance of the model is the most important factor, a large number of hidden layers is more suitable. ### Exploiting the Impact of Dropout Rate on Energy Consumption and Model Performance

The regularization of neural networks is an important task for the reduction of overfitting. Dropout is a widely used regularization approach for neural networks. In this section, we analyze the impact of the dropout rate on model energy consumption and performance. For this purpose, we tested different values for the dropout rate, shown in Table 1. Figure 5a,b shows the evolution of the model's energy consumption and prediction error, respectively, as a function of the dropout rate. From Figure 5a,b, it can be seen that the dropout rate has no effect on energy consumption and prediction error. Based on these observations, we conclude that the dropout rate has no effect on the model energy consumption and performance. However, dropout is more widely used to prevent overfitting. Figure 4: (**a**) Variation of energy consumption as a function of the hidden layer number. (**b**) Variation of _RMSE_ as a function of the hidden layer number. ### Examining the Influence of Optimizer Type on Energy Consumption and Model Performance

The optimizer is an important hyperparameter for neural network tuning, but it has not received much attention. To illustrate the impact of optimizer type on the energy consumption and performance of our model, we selected three optimizers that are most commonly used in prediction problems: Adam, RMSprop, and Nadam. Figure 6a, b demonstrates the impact of optimizer type on energy consumption and error prediction, respectively. For this, we tested three types of optimizers: Adam, Nadam, and RMSprop. From the data shown in Figure 6a, b, we can see that there is no difference in energy consumption between the different optimizers, but in terms of model performance, RMSprop shows superior performance. Adam and RMSprop provide the same performance. The selection of an optimization algorithm for the training process has a significant influence on the performance results. From the experiment results, we conclude that the type of optimizer does not affect the energy consumption of the model, but the type of optimization influences the performance of the model. Figure 5: (**a**) Variation of energy consumption as a function of the dropout rate. (**b**) Variation of _RMSE_ as a function of the dropout rate. Figure 6: (**a**) Variation of energy consumption as a function of the type of the optimizer. (**b**) Variation of _RMSE_ in function as a function optimizer. ### Correlation Matrix

To assess the interdependence between the hyperparameters, energy consumption, and the performance of the model, we chose the widely-used Pearson correlation. This statistical technique produces a correlation coefficient that ranges from \(-1\) to \(+1\), representing the strength and direction of a linear relationship between two variables.