## 3 Algorithm and Platform  
### Basic Algorithms  
First, the notation of this paper is described in Table 1. \begin{table}
\begin{tabular}{c l} \hline \hline
**Variable** & **Implication** \\ \hline \(\mathbf{x}\) & Input vector \\ \(N_{i}\) & Dimension of input vector \\ \(\mathbf{h}\) & Internal state of reservoir \\ \(N_{r}\) & Dimension of internal state \\ \(\mathbf{y}\) & Output vector \\ \(N_{o}\) & Dimension of output vector \\ \(\mathbf{W}_{r}^{\dagger}\) & Weights of connections from input layer to reservoir \\ \(\mathbf{W}_{r}^{\dagger}\) & Weights of recurrent reservoir \\ \(\mathbf{W}_{r}^{\prime\prime}\) & Feedback weights from output layer to reservoir \\ \(f_{res}(\cdot)\) & Function to compute next internal state \\ \(\mathbf{W}_{r}^{\prime\prime}\) & Weights of connections from input layer to output layer \\ \(\mathbf{W}_{r}^{\prime\prime}\) & Weights of connections from reservoir to output layer \\ \(f_{out}(\cdot)\) & Function to compute output vector \\ \(p(\cdot)\) & Spectral radius (of \(\mathbf{W}_{r}^{\prime}\)) \\ \(P\) & Number of desired input-outputs pairs \\ \(\mathbf{d}\) & Desired output \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Notation of this paper. A depiction of the typical ESN structure has been shown in Figure 1b, while Figure 2 shows more details about it. An ESN is divided into three parts, namely an input layer, a recurrent reservoir, and an output layer. The current output of the ESN could be computed through two phases:  
(1) The input vector \(\mathbf{x}[n]\in\mathbb{R}^{N_{i}}\) with \(N_{i}\)-dimensions is fed into the reservoir at first. Then the internal state \(\mathbf{h}[n]\in\mathbb{R}^{N_{r}}\) of the reservoir is updated according to Equation (1):  
\[\mathbf{h}[n]=f_{res}(\mathbf{W}_{i}^{r}\mathbf{x}[n]+\mathbf{W}_{r}^{r} \mathbf{h}[n-1]+\mathbf{W}_{o}^{r}\mathbf{y}[n-1]) \tag{1}\]  
where \(\mathbf{W}_{i}^{r}\in\mathbb{R}^{N_{r}\times N_{i}}\), \(\mathbf{W}_{r}^{r}\in\mathbb{R}^{N_{r}\times N_{r}}\) and \(\mathbf{W}_{o}^{r}\in\mathbb{R}^{N_{r}\times N_{o}}\) are weight matrices, which need to be generated randomly at the first training process, and remain changeless. It is worth noting that the matrix \(\mathbf{W}_{r}^{r}\) should satisfied \(\rho(\mathbf{W}_{r}^{r})<1\), where \(\rho(\cdot)\) means the spectral radius operator. That is because the reservoir must meet the 'echo state property' (ESP) [9], according to the ESN theory. Once an ESN is ESP-satisfied, the effect of an input which has been fed into the reservoir could vanish in a finite number of iterations, and this ESN can approximate any non-linear filter with bounded memory to any given level of accuracy [53]. The \(f_{res}(\cdot)\) in Equation (1) is a suitable non-linear function, and it typically uses a sigmoid shape; in this paper we set \(f_{res}(\cdot)=\tanh(\cdot)\). Then \(\mathbf{y}[n-1]\in\mathbb{R}^{N_{o}}\) is the \begin{table}
\begin{tabular}{c l} \hline \hline
**Variable** & **Implication** \\ \hline \(\mathbf{H}\) & Combination of input and internal state \\ \(\mathbf{w}=\begin{bmatrix}\mathbf{W}_{i}^{r},\mathbf{W}_{r}^{o}\end{bmatrix}^{T}\) & Weights need to be calculated, include weights from both input layer and reservoir to output layer \\ \(L\) & Number of nodes \\ \(f_{fit}(\cdot)\) & The fitness function of a particle \\ \(\mathbf{P}_{i}\) & The optimal solution of the \(i\)-th particle \\ \(\mathbf{P}_{g}\) & The optimal solution of current moment \\ \(\mathbf{P}_{u}\) & The global optimal solution of whole population \\ \(c_{1},c_{2},c_{3}\) & Acceleration coefficient \\ \(r_{1},r_{2},r_{3}\) & Random numbers \\ \(\lambda_{u},\lambda_{p}\) & Impact factors \\ \hline \hline \end{tabular}
\end{table} 
Table 1: _Cont._  
Figure 2: Detail structure of ESN. \(\mathbf{W}_{i}^{r}\) in yellow line, \(\mathbf{W}_{r}^{r}\) in blue line, \(\mathbf{W}_{o}^{r}\) in purple line, \(\mathbf{W}_{i}^{o}\) in red line, \(\mathbf{W}_{r}^{o}\) in orange line. Also, trainable connections are shown with dashed lines and random connections are shown with solid lines.