## 2 Background
### Extreme Learning Machine  
The ELM refers to an attractive learning algorithm for SLFNs, which has fast training speed together with good generalization performance [10]. It is characterized by the random assignment of the weights of the input layer as well as the threshold values in the hidden layer and, hence, the training problem is translated into finding the minimum norm least-squares solution of a linear system. The basic ELM may be written as follows [20]:  
\[\begin{bmatrix}g(w_{1}\cdot x_{1}+b_{1})&\cdots&g(w_{L}\cdot x_{1}+b_{L})\\ \vdots&g(w_{j}\cdot x_{i}+b_{j})&\vdots\\ g(w_{1}\cdot x_{N}+b_{1})&\cdots&g(w_{L}\cdot x_{N}+b_{L})\\ \end{bmatrix}\begin{bmatrix}\beta_{1}^{\mathsf{T}}\\ \vdots\\ \beta_{L}^{\mathsf{T}}\end{bmatrix} = \begin{bmatrix}t_{1}^{\mathsf{T}}\\ \vdots\\ t_{N}^{\mathsf{T}}\end{bmatrix}, \tag{1}\]  
where \(H\) is the output matrix of the hidden layer, \(\beta\) is the output weight matrix, \(T\) is the matrix of the target output, \(g(\cdot)\) refers to the activation function, \(w_{j}=[w_{j1},w_{j2},...,w_{jn}]^{\mathsf{T}}\) denotes the weight vector between the \(j\)th hidden node and the input nodes, \(x_{i}=[x_{1}^{i},x_{2}^{i},...,x_{n}^{i}]^{\mathsf{T}}\in\mathbb{R}^{n}\) represents the n-dimensional input vector of the \(i\)th data (\(n\) corresponds to the dimension of the input layer), the term \(w_{j}\cdot x_{i}\) means the inner product between \(w_{j}\) and \(x_{i}\), \(b_{j}\) is the bias of the \(j\)th hidden neuron, \(\beta_{j}=[\beta_{j1},\beta_{j2},...,\beta_{jn}]^{T}\) refers to the output weight vector between the \(j\)th hidden node and the output neurons, and \(t_{i}=[t_{1}^{i},t_{2}^{i},...,t_{m}^{i}]^{T}\in\mathbb{R}^{m}\) denotes the m-dimensional target vector resulted from \(x_{i}\). Notice that (i) \(g(\cdot)\) may be any piecewise functions (including discontinuous, differential, nondifferential functions), see Table 1, (ii) \(w_{j}\) as well as \(b_{j}\) can be generated from any continuous probability distribution, such as the uniform distribution on \([-1,1]\), and (iii) the upper bound of \(L\) hidden neurons is given by \(N\) distinct observations in order to get an arbitrarily small error \(\epsilon\). The last observation means that with probability one, \(\parallel H\beta-T\parallel<\epsilon\) as long as \(L\leq N\) demonstrated mathematically in References [10; 20]. Here, \(\parallel\cdot\parallel\) implies the Frobenius norm. Results of Figure 4 furthermore prove this note. As seen, the basic ELM is trained by \(N\) discrete samples and composed by \(L\) hidden nodes.  
Following the [PERSON] generalized inverse matrix theory and adding a positive constant in order to improve the stability and precision of the ELM, \(\beta\) may be find as follows [14]:  
\[\beta_{L\times m}=H_{L\times N}^{\ddagger}T_{N\times m}=\left\{\begin{array}[] {cl}&(H^{T}H+I/C)^{-1}H^{T}T\text{ if }N>L\\ &H^{T}(HH^{T}+I/C)^{-1}T\text{ otherwise }\end{array}\right., \tag{2}\]  
where \(H^{\dagger}\) implies the generalized inverse of \(H\), \(I\) denotes an identity square matrix of order equals to \(L\) if \(N>L\) or \(N\) otherwise, and \(C\) represents the penalty coefficient on the training errors. Therefore, the training algorithm of the improved ELM possesses the following steps:  
1. Setting the hidden neurons \(L\), the activation function \(g(\cdot)\), and the regularization parameter \(C\).
2. Randomly choosing the input weights \(w_{j}\) as well as biases \(b_{j}\).
3. Finding the output layer weights \(\beta\) via Equation (2), where \(N\) samples \((x_{i},t_{i})\) are known.  
This approach eliminates long learning procedures where the hidden layer of SLFNs require to be tuned. Contrasted with classical computational intelligence methods, the ELM gives better generalization performance at an extremely fast training speed and with fewer user interventions.