## Methods
### ML Approach
#### 3.2.1 Hyperparameters  
CNNs have a structure wherein layers composed of numerous neurons are interconnected with their weights and biases. Each layer has an activation function that computes output values to neurons in the next layer based on input values from neurons in the previous layer. An optimizer algorithm minimizes the error and maximizes the accuracy of the ML model by adjusting the biases and weights in the network using a feed-forward network and error back-propagation process based on the reference value. In model training, when output values in the neurons of the current layer are calculated based on input values transferred from neurons of the previous layer, the neurons combine the input values via biases and weights, as follows:  
\[o_{j}=\sum i_{i}w_{ij}-b_{j}, \tag{10}\]  
where \(o_{j}\) indicates the net of the weighted input for the \(j\)th neuron in the current layer; \(i_{i}\) represents the input value transferred from the \(i\)th neuron in the previous layer; \(w_{ij}\) is the weight connected with the \(i\)th neuron in the previous layer and the \(j\)th neuron in the current layer; and \(b_{j}\) refers to the bias of the \(j\)th neuron in the current layer. In order to calculate the final output of the \(j\)th neuron in the current layer for transferal to the next layer, \(o_{j}\) should be conjugated by an activation function. The activation function could be a discrete or continuous function according to the application field. In this study, the exponential linear unit (ELU) was utilized as an activation function and showed fine performance with good generalization and a high learning rate [36]:  
\[\mathrm{f}(x)= \begin{cases}x&if\ x>0\\ \alpha(\exp(x)-1)&if\ x\leq 0^{\prime}\end{cases}  \tag{11}\]  
where \(x\) denotes the input value for an activation function and represents \(o_{j}\); \(\alpha\) refers to a hyperparameter of the ELU function that determines the value, where the function converges for negative \(o_{j}\); and the hyperparameter \(\alpha\) of the ELU function is 1.0. For accelerating the training rate and improving the model performance, the batch normalization layer was applied between each hidden layer [37]. When utilizing the batch normalization layer, the ML model calculates the normalization considering the batch's dimension; the normalization ensures that the input values of each hidden layer are allocated equally; the accuracy of the model greatly depends on the batch size. As an optimizer algorithm, a method for stochastic optimization (ADAM) was applied, whose hyperparameters had a learning rate of \(10^{-3}\), a decay of \(10^{-3}\), an epsilon of \(10^{-7}\), and a beta1 and beta2 of 0.9 and 0.999, respectively [38]. To train and run the model based on ML approaches, we used TensorFlow back-end in Python. Even though the atmospheric parameters showed nonlinear relationships with each other, when making the structure of the ML model complex, the ML model could estimate the atmospheric parameters with good performance. To find an optimal CNN model in respect of network structure and parameters, the accuracy of the model with each parameter was analyzed, such as the number of filters, nodes, and layers, and regularization (Table 2). Each parameter was tested by three values with respect to the other parameters, and we employed 16, 32, and 64 filters; 100, 200, and 300 nodes; and 1, 2, and 3 layers. For restraining the overfitting problem of the ML model for the only training dataset, it is common to use regularization, drop-out, and early stopping. L1 regularization and L2 regularization are the most widely used regularization methods [39; 40]. The more complex the structure of the ML model, the higher the probability of overfitting problems. The regularization method shrinks the impact of the hidden neurons by reducing the weights during the back-propagation process. Smaller weights reduce the complexity of the model by making some neurons negligible, which generalizes the ML model and avoids overfitting problems.