## 2 Methodology
### Optimizing Parameters of KELM Model  
Extreme Learning Machine (ELM) is a single hidden layer feedforward neural network [33]. Its learning speed is very fast, and the weights in the hidden layer and offset values can be randomly specified. The structure of ELM is shown in Figure 1.  
N samples are \((x_{i},t_{i})\in R^{n\times m}\), the equations of ELM are the following:  
\[\sum_{i=1}^{L}\beta_{i}g(W_{i}*x_{j}+b_{i})=o_{j},\;j=1,2,\cdots,N \tag{6}\]  
where \(L\) is the number of hidden layer nodes, \(g(\cdot)\) is the activation function, \(W_{i}\) is the input weight vector, \(\beta_{i}\) is the output weight vector, and \(b_{i}\) is the offset of the \(i^{th}\) hidden node. The learning purpose is to minimize the training errors. That is, \(\sum_{j=1}^{L}||o_{j}-t_{j}||=0\) is the expression of \(\beta_{i}\), \(b_{i}\) and \(W_{i}\):  
\[\sum_{i=1}^{L}\beta_{i}g(W_{i}*x_{j}+b_{i})=t_{j},\;j=1,2,\cdots,N \tag{7}\]  
The expression can be described. \[H\beta=T \tag{8}\]  
\[H=\left[ \begin{array}{c}h(x_{1})\\ \vdots\\ h(x_{n})\end{array} \right]=\left[ \begin{array}{c}g(W_{1}*x_{1}+b_{1})\cdots g (W_{L}*x_{1}+b_{L})\\ \vdots\\ g(W_{1}*x_{n}+b_{1})\cdots g(W_{L}*x_{n}+b_{L})\end{array} \right] \tag{9}\]  
\[\beta=\left[\beta_{1}^{T},\beta_{2}^{T},\cdots,\beta_{L}^{T}\right]_{\mathrm{ L}\times m} \tag{10}\]  
\[T=\left[t_{1}^{T},t_{2}^{T},\cdots,t_{n}^{T}\right]_{n\times m} \tag{11}\]  
Figure 1: The structure of the ELM. Therefore, it is simple to solve the least-squares solution of linear systems. The output weight \(\beta\) is described. \[\beta=H^{+}T \tag{12}\]  
where \(H^{+}={{{\left({H^{T}H}\right)}^{-1}}}H^{T}\) is pseudo inverse matrix of \(H\). After the \(\beta\) is calculated, the new expression is obtained. \[f(x_{t})=\beta h(x_{t}) \tag{13}\]  
For the KELM, the kernel function needs to be introduced into the ELM. That is, the kernel matrix is \(\Omega=HH^{T}\) and its element is \(\Omega(i,j)=h(x_{i})*h(x_{j})=K(x_{i},x_{j})\). The paper selects the Gaussian Kernel Function:  
\[K\big{(}x_{i},x_{j}\big{)}=\exp\left(-\frac{{{\left|{x_{i}-x_{j}}\right|}^{2}} }{{\sigma^{2}}}\right) \tag{14}\]  
The Kernel parameter \(\sigma\) reflects the mapping relationship between the input space and the feature space. The mapping function determines the magnitude of the sample space, and affects the prediction accuracy of the KELM model. The optimizing parameters of the Kernel extreme learning machine are usually transformed into parameter estimation of multiple linear regression function [34]. The penalty coefficient and Kernel parameter \(\sigma\) play an important role in KELM model, whether the penalty coefficient is too big or too small will affect the prediction results of KELM model. The WCDPSO algorithm is used to optimize the penalty coefficient and Kernel parameters \(\sigma\) in the paper. The WCDPSO algorithm is used to solve the parameter combinatorial optimization of the KELM model; the flowchart is shown in Figure 2.  
Figure 2: The flowchart of parameter combinatorial optimization based on WCDPSO. The specific steps of the WCDPSO-KELM model are as follows. Step 1: Set the size of the particle swarm, the random speed and the position of the initial particle swarm. Step 2: Select the fitness function of the WCDPSO algorithm. Here, the Root Mean Squared Error (RMSE) between the output of the trained dataset and the actual output is used as the fitness function, and fitness values of all particles are calculated; the formula is described as follows. \[f(i)=\sqrt{\frac{1}{N}\sum_{i=1}^{N}(y(i)-y^{*}(i))^{2}} \tag{15}\]  
where \(f(i)\) is the fitness of the particle \(i\), \(N\) is the number of samples, \(y(i)\) is the actual output of the particle \(i\) and \(y^{*}(i)\) is the predicted output of the particle \(i\).