## 3 Model Development
### Training Procedure  
Forward transmission and backpropagation were the two main methods in the neural network training process. To obtain an efficient calculation, we applied the min-max normalization to adjust the input data before the forward transmission process started. We also used the MATLAB build-in function, \"The Mapminmax\", during the training process. It first maps the input data matrix in each row into the range of \([-1,1]\). Then, the minimum and the maximum values in those matrix rows were set to either \(-1\) or \(1\). \[y=(y_{\text{max}}-y_{\text{min}})\cdot(x-x_{\text{min}})/(x_{\text{max}}-x_{ \text{min}})+y_{\text{min}} \tag{2}\]  
In the function above, \(y_{\text{max}}\) and \(y_{\text{min}}\) are the anticipative minimum and maximum values in each row, x is the input data in this row, and \(x_{\text{max}}\) and \(x_{\text{min}}\) are the minimum and the maximum in the original input values in the row. For the \(j_{th}\) neuron at the \(l_{th}\) layer, the output \(a_{j}^{l}\) is expressed in the following mathematical formula:  
\[a_{j}^{l}=\delta(\sum_{k}w_{jk}^{l}a_{k}^{l-1}+b_{j}^{l}) \tag{3}\]  
In the function above, \(w_{jk}^{l}\) is the parameter indicating the weight of the relation between neuron k at layer \(1-1\) and neuron j at layer \(1\), \(b_{j}^{l}\) is the bias value for neuron j at layer l, and \(\delta\) is the activation function used in the hidden layer (_tansig_) and the output layer (_Purelin_), which is shown as follows:  
\[F(z)=\frac{1-e^{-x}}{1+e^{-x}} \tag{4}\]  
\[F(z)=z \tag{5}\]  
The following matrix shows the process of forward transfer:  
\[a^{l}=\delta(w^{l}a^{l-1}+b^{l}) \tag{6}\]  
In matrix (6), \(w^{l}\) is the weight matrix (7), \(b^{l}\) is the bias matrix (8), \(a^{l}\) is the output matrix (9) of the l layer, and \(a^{l-1}\) is the output matrix (10) of the upper-level layer. \[w^{l}= \begin{bmatrix}w_{11}^{l}&w_{12}^{l}&\cdots&w_{1n}^{l}\\ w_{21}^{l}&w_{22}^{l}&\cdots&w_{1n}^{l}\\ \vdots&\vdots&\ddots&\vdots\\ w_{n1}^{l}&w_{n1}^{l}&\cdots&w_{nn}^{l}\\ \end{bmatrix}  \tag{7}\]  
\[b^{l}= \begin{bmatrix}b_{1}^{l}\\ b_{2}^{l}\\ \vdots\\ b_{n}^{l}\\ \end{bmatrix}  \tag{8}\]  
\[a^{l}= \begin{bmatrix}d_{1}^{l}\\ d_{2}^{l}\\ \vdots\\ a_{n}^{l}\\ \end{bmatrix}  \tag{9}\]\[a^{l-1}= \begin{bmatrix}a_{1}^{l-1}\\ a_{2}^{l-1}\\ \vdots\\ a_{n}^{l-1}\end{bmatrix}  \tag{10}\]  
The cost function was introduced to characterize and optimize the prediction precision of the ANN model. During the training process of artificial neural networks, it is necessary to find the optimized parameters (weights and offsets) minimizing the value of cost function, which indicates the deviation between the predicted and tested values. To minimize the cost function's (11) value, the derivatives of the internal parameters (gradient to be exacted) of the ANN model are calculated and updated step by step according to the gradient-decent method by a backpropagation algorithm. For gradient-decent optimization, the parameters are calculated using the Levenberg-Marquardt algorithm, which combines the characteristics of the Newton method and the gradient method to compute more efficiently. \[C=-\frac{1}{m}\sum_{i=0}^{m}\left(y^{i}\cdot\log(a^{i})+(1-y)\cdot\log(1-a^{i})\right) \tag{11}\]  
To improve the prediction accuracy, the mean square error (\(MSE\)) and the coefficient of determination (\(R^{2}\)) are calculated using the Formulas (12) and (13), respectively. \[MSE=\frac{1}{N}\sum_{t=1}^{N}\left(V_{ANN,cell}-V_{test,cell}\right)^{2}\times 1 00\% \tag{12}\]  
\[R^{2}=1-\sum_{t=1}^{N}\left(V_{ANN,cell}-V_{test,cell}\right)^{2}/\sum_{t=1}^ {N}\left(V_{ANN,cell}-\overline{V}_{test,cell}\right)^{2} \tag{13}\]  
where \(N\) indicates the number of data samples, \(V_{ANN,cell}\) is the predicted cell voltage, \(V_{test,cell}\) is the tested cell voltage, and \(\overline{V}_{test,cell}\) is the average voltage. The ANN models presented in this paper were built with MATLAB's neural network tools, such as dynamic networks, radial basis kernel functions, and feed-forward algorithms.