# Meta-Extreme Learning Machine for Short-Term Traffic Flow Forecasting
## 2 Methodology
### Extreme Learning Machine  
The extreme learning machine was first proposed in 2004 by [PERSON] et al. [37]. During the training of traditional feedforward neural networks, which uses the gradient descent algorithm, its parameters tend to be the optimal solution in the update and calculation of each iteration [44]. However, the traditional feedforward neural network has many shortcomings, such as slow learning speed and complex network architecture. Therefore, the original intention of the extreme learning machine is to overcome these problems. ELM is regarded as a special kind of FNN in research or an improvement of FNN and its backward propagation algorithm [45]. The ELM architecture is divided into three layers, the input layer, the hidden layer, and the output layer, as shown in Figure 1. Different from the traditional feedforward neural network, the hidden layer of the extreme learning machine has only one layer. It is a single-layer feedforward neural network algorithm; its characteristic is that the input weights and biases of the hidden layer nodes are randomly generated or artificially given [13]. The learning process only needs to calculate the output weight through two; this feature has long meant that it has a faster learning speed and higher generalizability, as well as a strong learning and fitting ability.  
Suppose there are N arbitrary samples \((X_{i},t_{i})\), where \(i=1,...,N\), \(X_{i}=[x_{i1},x_{i2},...,x_{in}]^{T}\in\mathbb{R}^{n}\), \(t_{i}=[t_{i1},t_{i2},...,t_{in}]^{T}\in\mathbb{R}^{n}\). For a single hidden layer neural network with a hidden layer node, it can be expressed as  
\[\sum_{i=1}^{L}\beta_{i}g(W_{i}\cdot X_{j}+b_{i})=p_{j},j=1,...,N, \tag{4}\]  
where \(\beta_{i}\) is the connection output weights between the hidden layer and output layer, \(g(x)\) is the activation function, \(W_{i}=[\alpha_{i1},\alpha_{i2},...,\alpha_{in}]^{T}\) is the connection weights between the input layer and the hidden layer, \(b_{i}\) is the bias of the \(i\)th hidden neuron, \(W_{i}\cdot X_{i}\) express the inner product of \(W_{i}\) and \(X_{i}\), and \(p_{j}\) is the forecasting output value. The purpose of the extreme learning machine is to minimize the output error. It can be expressed as  
\[\sum_{j=1}^{N}\lVert p_{j}-t_{j}\rVert=0, \tag{5}\]  
where \(||\) is the Frobenius norm of the matrix elements, and Equation (5) means \(W_{i}\), \(b_{i}\), and \(\beta_{i}\) exist and makes  
\[\sum_{i=1}^{L}\beta_{i}g(W_{i}\cdot X_{j}+b_{i})=t_{j},j=1,...,N, \tag{6}\]  
Figure 1: The three layers of an extreme learning machine with one hidden layer in which \(\alpha\) denotes the input weights, \(\beta\) denotes the output weights, and \(b\) is the hidden layer deviations.  
its matrix, which is expressed as  
\[H\beta=T, \tag{7}\]  
where \(H\) is the output matrix of the hidden layer, \(\beta\) is the output weights, and \(T\) is the expected output, where \(\beta=[\beta_{1}^{T},\beta_{2}^{T},...,\beta_{N}^{T}]^{T}\), \(T=[t_{1}^{T},t_{2}^{T},...,t_{N}^{T}]^{T}\), \(H(W_{1},...,W_{L},b_{1},...b_{L},X_{1},...X_{L})=\begin{bmatrix}g(W_{1}\cdot X _{1}+b_{1})&\cdots&g(W_{L}\cdot X_{1}+b_{L})\\ \vdots&\ddots&\vdots\\ g(W_{1}\cdot X_{N}+b_{1})&\cdots&g(W_{L}\cdot X_{N}+b_{L})\\ \end{bmatrix}_{N\times L}.\)  
In the ELM algorithm, once the input weight \(W_{i}\) and the bias \(b_{i}\) of the hidden layer are randomly determined, the output matrix \(H\) of the hidden layer can be uniquely determined. Training a single hidden layer neural network can be transformed into solving a linear system \(H\beta=T\), and the output weight can be determined by the following equation  
\[\hat{\beta}=H^{\dagger}T, \tag{8}\]  
where \(H^{\dagger}\) is the Moore-Penrose generalized inverse of matrix \(H\).