- Batch Size: Try using mini-batches of size 16 or 32.
- Learning Rate: Consider experimenting with a lower learning rate (e.g., 0.001).
- Sequence Padding: Make sure all sequences are the same length or properly padded.
- Train/Validation Split: Ensure a good mix of battery capacities in both training and validation sets.
- Overfitting: Check for overfitting, use early stopping or dropout layers if needed.
Help with Battery Capacity Prediction using LSTM
6 次查看(过去 30 天)
显示 更早的评论
Hello everyone,
I'm trying to predict the capacity of a battery using a sequence-to-one regression model, but my current results aren't good, and I'm looking for some advice.
My Data:
- I have 1000 data sequences.
- Each sequence represents a single battery charfe and discharge cycle.
- The input features for each sequence are Voltage, Current, Temperature, and Time.
- The shape of each input sequence is [4 features x 3700 time steps].
- The output is the battery capacity, which is a single double value for each sequence.
My Model Architecture:
I'm using an LSTM network with the following layers:
Matlab
layers = [
sequenceInputLayer(4, 'MinLength', 3700, 'Name', 'input', 'Normalization', 'zscore')
lstmLayer(50, 'OutputMode', 'last', 'Name', 'lstm')
fullyConnectedLayer(40, 'Name', 'fc1')
reluLayer('Name', 'relu_fc')
fullyConnectedLayer(1, 'Name', 'fc_output')
regressionLayer('Name', 'output')
];
My Problem:
The model isn't providing useful results. I'm not sure what I might be doing wrong with my approach.
My questions are:
- Is this a suitable architecture for this type of problem?
- Are there any common issues I should check, such as data preprocessing (e.g., normalization) or hyperparameter tuning (e.g., number of hidden units)?
- Could the issue be in how I'm handling the Time feature? Should it be a separate feature, or is there a better way to represent it?
Any suggestions on how to improve my model or overall approach would be greatly appreciated. Thank you!
0 个评论
回答(1 个)
Shishir Reddy
2025-7-17
Your architecture is a good starting point for sequence-to-one regression. Using an LSTM with OutputMode='last' is appropriate since you're mapping the full sequence to a single capacity value.
Here are the common issues that should be checked -
For more information regarding training deep neural networks, kindly refer the following documentation - https://www.mathworks.com/help/deeplearning/train-deep-neural-networks.html
I hope this helps.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Data Workflows 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!