## 2 Background of Soft Computing Methods
### Equilibrium Optimizer (EO)
The network of ELM can be mathematically modelled as:

\[t_{j}=\sum_{k=1}^{l}\beta_{k}g\big{(}w_{k},b_{k},z_{j}\big{)} \tag{15}\]

where \(w_{k}\) is the input weights and \(b_{k}\) is the bias factor of the \(\text{k}^{\text{th}}\) hidden node which are the network learning parameters, \(z_{j}=[z_{\text{1j}},\,z_{\text{2j}},\,\dots,\,z_{\text{inj}}]^{\text{T}}\), \(\beta_{k}=[\beta_{k1},\,\beta_{k2},\,\dots,\,\beta_{k1}]^{\text{T}}\) is the output weight of the \(\text{k}^{\text{th}}\) hidden node to the output nodes, \(g(w_{k},\,b_{k},\,z_{j})\) is the \(\text{k}^{\text{th}}\) hidden node output with respect to the input \(z_{j}\), \(t_{j}\) is the predicted output of the corresponding input \(z_{j}\), \(j\) is the number of training samples which is denoted as q.

Figure 1: Architecture of a deep neural network (DNN) for runoff prediction. Figure 2: Single hidden layer neural connection. ELM produces \(w_{k}\) and \(b_{k}\) randomly and analytically estimates \(\beta\) by the Equation (16). \[\min_{\beta}=\|H*\beta-T\| \tag{16}\]

The output weights are calculated using a linear equation [64] as:

\[\beta=H\dagger Y \tag{17}\]

where \(H\) is the output matrix of the hidden layer (Equation (17)), \(H\dagger\) is the Moore-Penrose generalized inverse of \(H\) and \(Y=[y_{1},y_{2},\dots,y_{q}]^{\mathrm{T}}\) is the actual target values of the training dataset. \[H=\left[ \begin{array}{ccc}g(w_{1},b_{1},\ x_{1})&g(w_{1},b_{l},\ x_{1})\\ \vdots&\vdots\\ g(w_{1},b_{1},\ x_{q})&g(w_{l},b_{l},\ x_{q})\end{array} \right]_{q<l} \tag{18}\]

This paper uses radial basis function kernel ELM (RBF-ELM) where the number of hidden units need not to define before and feature mapping of hidden layer (\(g(w_{k},b_{k},z_{j})\)) is hidden to the user [64,65]. Support Vector Regression (SVR), Artificial Neural Network (ANN) and Gradient Boosting Machine (GBM)

SVR is a kernel-based non-linear regression method, derived from support vector classification (SVC) by [PERSON] et al. in 1992 [66,67]. It uses the principle of structural risk minimization, in order to minimize the upper bound of the generalization error instead of minimizing the prediction error on the training set. Basically, it tries to find the best regression hyperplane with smallest structural risk in high dimensional feature space. The more details about SVR can be found in [67]. The idea of ANN is derived from the known functionality of the human brain where a very large number of biological neurons are interconnected through the links. The various characteristics of biological neural network which is simulated by the ANN are the ability to handle non-linearity, noise and fault tolerance, massive parallelism, learning, and generalization capability. The ANN consists of an input layer, an output layer, and one or more hidden layers. The neurons in these layers are connected through the links. The weights of these links are adjusted during the learning process. In this paper, a back propagation algorithm is used to tune the parameters of ANN. The ANN may be able to model highly non-linear systems where the relationship among the variables is complex. The single hidden layered neural network is sufficient for hydrological modelling [68]. GBM is a numerical-based optimization algorithm, derived from gradient boosting classification by [PERSON] (2001). The main objective behind GBM is to minimize the loss function by iteratively adding a new decision tree (weak learner) at each step [69]. The new decision tree that is fitted to the current residual is added to the previous model in order to update the residual. This process continues until it reaches the maximum number of iterations provided by the researcher. At each iterative step the contribution of the added decision tree is shrunk using a parameter known as learning rate. The value of learning rate, lies between 0 and 1. In order to improve the predictive accuracy of the GBM some randomization is added to the fitting process. Randomization may include using randomly selected subsample instead of full training dataset.