## 3 Modeling Techniques  
### Multilayer Perceptron (MLP)  
Artificial neural network (ANN) is one of the well-known machine learning tools, which exhibits reliable ability for recognizing and identifying relationships between input and output parameters in complex systems [45]. The conception and the mathematical formulation of an ANN model were inspired by the human brain and its strategy for processing information. Multilayer perceptron (MLP) is one of the most applied types of ANN for modeling purposes.  
An MLP model includes three kinds of layers, an input layer: From which the inputs enter into the model. The \(i\)th input parameter of the model is noted \(z_{i}\).  
One or more hidden layers: Their role is to transform the inputs into a higher feature in order to capture the non-linearity of the system. This mechanism is done by means of the activation functions. Tansig and logsig are among the frequently applied transfer functions and they are defined as follows:  
\[\text{Logsig}:\ g(z)\ =\ \frac{1}{e^{z}+1} \tag{1}\]  
\[\text{Tansig}:\ g(z)\ =\ \frac{e^{z}-e^{-z}}{e^{z}+e^{-z}} \tag{2}\]  
An output layer: The outputs of the model are returned from this layer. Pureline is generally considered the transfer function for this layer.  
\[\text{Pureline}:\ f(z)\ =\ z \tag{3}\]  
\begin{table}
\begin{tabular}{c c c c c c c} \hline \hline \multirow{2}{*}{**No.**} & **Ionic Liquid** & **Temperature Range** & **CO\({}_{2}\) Solubility Range (Mole** & **No. of Data** & **References** \\  & **Range (KO)** & **(MPa)** & **Fraction)** & **Points** & \\ \hline
1 & [C2 mipy][TZN] & 303.15-37.15 & 0.52-47.1 & 0.186-0.787 & 56 & [40] \\
2 & [Bmmimi][tZN] & 298.15-43.15 & 0.01–1.9 & 0.002-0.382 & 36 & [41] \\
3 & [FS][PPPP][TZN] & 298.15 & 0.01–1.9 & 0.002-0.406 & 36 & [41] \\
4 & [HHM][TZN] & 298.37-31.5 & 0.42-45.28 & 0.165-0.824 & 64 & [42] \\
5 & [HHM][TTO] & 303.15-37.31 & 1.42–100.12 & 0.267-0.816 & 64 & [42] \\
6 & [HMHM][HTO] & 301.35-37.315 & 1.2–14.69 & 0.212-0.622 & 48 & [42] \\
7 & [HHM][  
If the total number of hidden layers is considered to be \(M\), the input layer is defined as layer 0. Suppose that the number of neurons in the hidden layer \(m\) is \(N_{m}\), \(m\ =\ 1,\ 2,\ \ldots,\ M\). Considered \(w_{ij}^{m}\) the weight of the linkage between the \(j\)th neuron of the \(m-1\) th hidden layer and \(i\)th neuron of the \(m\)th hidden layer, and \(b_{i}^{m}\) the bias term of ith neuron of the \(m\)th hidden layer. Hence, the output (\(\overline{y}_{i}^{m}\)) of \(i\)th neuron of the \(m\)th hidden layer can be determined using the following equation:  
\[\overline{y}_{i}^{m}\ =\ f\!\!\left(\sum_{j\ =\ 1}^{N_{m}-1}w_{ij}^{m}\,\overline{y }_{i}^{m-1}+b_{i}^{m}\right) \tag{4}\]  
\[\overline{y}_{i}^{0}\ =\ z_{i},\ i\ =\ 1,\ \ldots,\ N_{z},\ N_{z}\ =\ N_{0} \tag{5}\]  
Each of the above-mentioned layers includes neurons. The number of neurons in the input and output layers corresponds to the number of input and output parameters of the system, respectively. The number of hidden layers and their neurons depends on the complexity of the system. Generally, one hidden layer is sufficient to model systems having moderate complexity, while more than one hidden layer is recommended for highly complex systems. The trial and error method is usually applied for the proper determination of the number of hidden layers and their numbers of neurons.  
The training phase of an MLP model consists of determining appropriate values for the weights and bias terms that result in the minimization of the difference between the experimental data (measured dissolved CO\({}_{2}\) mole fraction) and the predictions of the model (calculated CO\({}_{2}\) mole fraction as a function of the input parameters). Backpropagation learning techniques were applied for the training of the MLP model, namely the Bayesian Regularization (BR) and Levenberg-Marquardt (LM) algorithms. More details about these two algorithms can be found in prior published works [46; 47; 48].