# A Unified Machine Learning Framework for Li-Ion Battery State Estimation and Prediction +
## 4 Instantiation of the Proposed Framework to SoC Estimation and RUL Prediction
### Configuration of Battery State Prediction Instantiated for SoC and RUL
#### 4.1.4 ML Model Selection  
Different ML algorithms are designed to handle specific types of data structures, patterns, and relationships, making the choice of the model pivotal to aligning with the unique characteristics of the dataset and the objectives of the analysis. Moreover, the complexity and interpretability of the model must also be considered, as overly complex models may lead to overfitting, while simpler models might fail to capture intricate patterns in the data.  
In this implementation, we developed ML models using the following algorithms:  
* Long Short-Term Memory (LSTM): LSTM is a deep learning extension of a recurrent neural network (RNN). The main advantage of RNNs is that they do not have a finite, discrete set of states to represent the system, but they are able to capture complex non-linear relationships [21]. However, RNNs usually underperform when learning long-term dependencies of time series due to the vanishing and exploding gradient problems. On the other hand, LSTM can represent non-linear dynamic systems by mapping the input to output sequences [17], and it can deal with complex conditions and degradation behaviors [22].
* Feedforward Neural Network (FFNN): An FFNN is one of the simplest types of artificial neural networks where the information moves in only one direction. Specifically, the information goes from the input layer, through the hidden layer, to the output layer, a process that corresponds to the model's architecture. Therefore, this model has no cycles or loops in the network. Despite its simplicity, an FFNN is capable of modeling complex relations in the data and forms the basis for other more complicated neural networks [23].
* Convolutional Neural Network (CNN): CNNs belong to deep learning models and are particularly good at mapping a set of measured quantities to a desired output.  
These networks use filters between the layers, and as a result they benefit from the shared weights. Furthermore, they are capable of exploiting a number of historical data points in combination with the current one. Moreover, they can provide high computational speed [24].
* Automated Machine Learning (AutoML): AutoML automates the entire ML pipeline and uptakes many stages of data analysis and model development, generating a ML model ready for deployment. One of the main benefits of AutoML is that it reduces the demand for time-consuming and extensive data analyses; instead, it enables the automated building of ML applications [25]. Moreover, this method provides methods and processes to make ML available to non-ML experts, improving the efficiency of ML and accelerating research on ML. This advantage is an important reason for adding the AutoML method to the available models in this framework in order to increase the accessibility and usability of the framework even though this method is not the optimal one for several applications.
* Linear Regression (LR): It can deliver insights into the underlying physics by handling either one dimension or multiple dimensions as the input. Linear models also have a low computational cost since they can be trained offline, and online prediction requires only a single dot product after data preprocessing [26].
* Elastic Net (EN): It is a commonly used regularized LR model that combines both L1-norm and L2-norm penalties of the lasso and ridge methods, respectively [23].
* Support Vector Machine (SVM): An SVM is a supervised and nonparametric ML algorithm based on kernels. Although mainly used in classification problems, the SVM is capable of solving regression problems, which are also known as support vector regression (SVR). It addresses non-linear prediction problems that belong to a low-dimensional space by transforming them into linear ones in a high-dimensional space. The purpose of SVR is to produce an error function in which the maximum deviation of target values during training would be under a threshold and simultaneously maintain the largest possible smoothness of the function [23].