## 2 Methods for SOH Estimation  
### [PERSON] et al. [39] first proposed relevant theories and applications of ELM in 2006. The structure of the classic ELM model is mainly composed of an input layer, a hidden layer, and an output layer, as shown in Figure 1. The input layer has \(n\) neurons, i.e., \(n\) input variables \(x\). The output layer has \(m\) neurons, i.e., \(m\) output variables \(y\). The hidden layer has \(l\) neurons. \(\omega_{ij}\) represents the connection weight between the \(i\)-th neuron in the input layer and the \(j\)-th neuron in the hidden layer. \(\beta_{jk}\) represents the connection weight between the \(j\)-th neuron in the hidden layer and the \(k\)-th neuron in the output layer. \(g(\cdot)\) is the activation function, \(b\) is the bias of the hidden layer, \(X\) is the input matrix, \(Y\) is the output matrix, and the number of training samples is \(Q\). The main steps of the ELM algorithm are shown in Table 1.  
where:  
\[\omega=\left[\begin{array}{cccc}\omega_{11}&\omega_{12}&\cdots&\omega_{1n}\\ \omega_{21}&\omega_{22}&\cdots&\omega_{2n}\\ \vdots&\vdots&&\vdots\\ \omega_{11}&\omega_{l2}&\cdots&\omega_{ln}\\ \end{array}\right]_{l\times n} \tag{1}\]  
\[\beta=\left[\begin{array}{cccc}\beta_{11}&\beta_{12}&\cdots&\beta_{1m}\\ \beta_{21}&\beta_{22}&\cdots&\beta_{2m}\\ \vdots&\vdots&&\vdots\\ \beta_{11}&\beta_{l2}&\cdots&\beta_{lm}\\ \end{array}\right]_{l\times m} \tag{2}\]  
\[b=\left[\begin{array}{c}b_{1}\\ b_{2}\\ \vdots\\ b_{l}\\ \end{array}\right]_{l\times 1} \tag{3}\]  
The output \(Y\) of the ELM neural network can be calculated using Equation (4):  
\[Y=\left[\begin{array}{c}\sum\limits_{i=1}^{l}\beta_{i1}g(\omega_{i}x_{j}+b_ {i})\\ \sum\limits_{i=1}^{l}\beta_{i2}g(\omega_{i}x_{j}+b_{i})\\ \vdots\\ \sum\limits_{i=1}^{l}\beta_{im}g(\omega_{i}x_{j}+b_{i})\\ \end{array}\right]_{m\times l} \tag{4}\]  
Figure 1: Neural network structure of ELM.  
\begin{table}
\begin{tabular}{l} \hline \hline
**Algorithm of ELM** \\ \hline Step 1: The number of neurons in the input layer \(n\), hidden layer \(l\), and output layer \(m\) are determined separately. The connection weight \(\omega\) between the hidden layer and the input layer and the bias \(b\) of the hidden layer are randomly set. \\ Step 2: The activation function of the hidden layer neurons \(g(x)\) is determined, then the hidden layer output matrix \(H\) is calculated. \\ Step 3: The connection weight \(\beta\) between the output layer and the hidden layer is calculated by the formula \(\beta=H^{+}Y^{T}\). \\ \hline \hline \end{tabular}
\end{table}
Table 1: Algorithmic process of ELM.  
where \(H\) is the hidden layer output matrix of the ELM neural network, as shown in Equation (5):  
\[H=\left[\begin{array}{ccc}g(\omega_{1}\cdot x_{1}+b_{1})&g(\omega_{2}\cdot x_{1 }+b_{2})&g(\omega_{l}\cdot x_{1}+b_{l})\\ g(\omega_{1}\cdot x_{2}+b_{1})&g(\omega_{2}\cdot x_{2}+b_{2})&g(\omega_{l}\cdot x _{2}+b_{l})\\ &\vdots\\ g(\omega_{1}\cdot x_{Q}+b_{1})&g(\omega_{2}\cdot x_{Q}+b_{2})&g(\omega_{l}\cdot x _{Q}+b_{l})\\ \end{array}\right]_{Q\times l} \tag{5}\]  
The connection weight \(\beta\) between the output layer and hidden layer can be calculated using the least squares solution of Equation (6):  
\[\underset{\beta}{\min}\|H\beta-Y^{T}\| \tag{6}\]  
The solution can be expressed as follows:  
\[\beta=H^{+}Y^{T} \tag{7}\]  
The estimation of SOH based on the neural network algorithm is a new artificial intelligence method. As a single hidden-layer feedforward neural network, ELM has the advantages of a fast learning speed, high calculation efficiency, and good generalization performance. However, during the establishment of ELM, the number of hidden layer neurons is not fixed, and the connection weight and threshold are randomly set, which may cause the battery SOH estimation to be inaccurate. To overcome these shortcomings, we tried to use the BA optimization algorithm to improve the SOH estimation performance of ELM.