shapda
Pytorch Code for our paper Domain-Invariant Monitoring for Lactic Acid Production: Transfer Learning from Glucose to Bio-Waste Using Machine Learning Interpretation
Science Score: 57.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 7 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.3%) to scientific vocabulary
Repository
Pytorch Code for our paper Domain-Invariant Monitoring for Lactic Acid Production: Transfer Learning from Glucose to Bio-Waste Using Machine Learning Interpretation
Basic Info
- Host: GitHub
- Owner: shl-shawn
- Language: Jupyter Notebook
- Default Branch: main
- Size: 7.66 MB
Statistics
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
ShapDA
Code and dataset for our paper: Domain-Invariant Monitoring for Lactic Acid Production: Transfer Learning from Glucose to Bio-Waste Using Machine Learning Interpretation
Table of Contents
🔍 About

Unsupervised Domain Adaptation in Lactic Acid Production: The source domain uses simple glucose (SG) while the target domain uses complex bio-waste hydrolysate (CW). Subplot (a) shows FTIR data for the source ($Xs$) and target ($Xt$), highlighting the domain shift. Subplot (b) presents ShapDA, which identifies domain-invariant features. A regression model trained on these features enhances target predictions ($\hat{y}_t$), mitigating the effects of domain shift.
🧪 Data
The dataset is available at Zenodo. The files should be extracted and placed in the dataset folder.
⚙️ Installation
To reproduce our results, please kindly create and use the following environment.
python
git clone https://github.com/shl-shawn/ShapDA.git
cd ShapDA
conda create -n ShapDA python
conda activate ShapDA
pip install -r requirements.txt
🤖 Training and Evaluation
The following deep models can be executed with their default parameters. To run the training and testing scripts, ensure that the correct paths to the dataset, model weights, and save directory are specified (i.e., weight_path, dataset_dir and save_dir).
Domain Adversarial Neural Networks for Regression (DANN-R)
```python
Train
cd src/DANN-R python train.py
Test
cd src/DANN-R python test.py ```
Domain Adaptation Regression with GRAM matrices (DARE-GRAM)
```python
Train
cd src/DARE-GRAM python train.py
Test
cd src/DARE-GRAM python test.py ```
Deep Correlation Alignment for Regression (DeepCORAL-R)
```python
Train
cd src/DeepCORAL-R python train.py
Test
cd src/DeepCORAL-R python test.py ```
ShapDA
bash
cd src/ShapDA
- shapfs_glucose.ipynb: Implements the ShapDA method for predicting glucose concentration in both source and target domains.
- shapfs_lacticacid.ipynb: Applies ShapDA to predict lactic acid concentration across source and target domains.
- shapfs_combine.ipynb: Combines domain-invariant features for glucose and lactic acid to evaluate their impact on prediction accuracy.
📊 Results
Glucose prediction
| DA Methods | Source (SG) | Target (CW) | ||||||
|---|---|---|---|---|---|---|---|---|
| R² ↑ | RMSE [g/L] ↓ | RMSEP [%] ↓ | RPD ↑ | R² ↑ | RMSE [g/L] ↓ | RMSEP [%] ↓ | RPD ↑ | |
| No Adaptation | 0.98 | 4.4 | 3.8 | 8.3 | 0.56 | 20.4 | 14.2 | 1.5 |
| DeepCORAL-R | 0.80 | 18.0 | 15.9 | 2.2 | 0.69 | 17.3 | 12.0 | 1.8 |
| DANN-R | 0.89 | 13.0 | 11.5 | 3.1 | 0.86 | 11.5 | 8.0 | 2.7 |
| DARE-GRAM | 0.98 | 5.0 | 4.5 | 8.0 | 0.92 | 8.7 | 6.0 | 3.6 |
| ShapDA (ours) | 0.98 | 4.3 | 3.7 | 8.5 | 0.96 | 5.8 | 4.0 | 5.4 |
Table 1: Unsupervised domain adaptation results for glucose prediction in source (SG) and target (CW) fermentations. Arrows indicate desired direction: ↑ (higher is better), ↓ (lower is better).
Lactic acid prediction
| DA Methods | Source (SG) | Target (CW) | ||||||
|---|---|---|---|---|---|---|---|---|
| R² ↑ | RMSE [g/L] ↓ | RMSEP [%] ↓ | RPD ↑ | R² ↑ | RMSE [g/L] ↓ | RMSEP [%] ↓ | RPD ↑ | |
| No Adaptation | 0.99 | 3.3 | 3.9 | 9.0 | 0.79 | 9.4 | 10.6 | 2.2 |
| DeepCORAL-R | 0.95 | 6.1 | 6.9 | 4.6 | 0.82 | 8.4 | 9.5 | 2.4 |
| DANN-R | 0.88 | 9.5 | 10.8 | 3.9 | 0.83 | 8.2 | 9.2 | 2.5 |
| DARE-GRAM | 0.90 | 8.9 | 10.2 | 3.1 | 0.87 | 7.3 | 8.2 | 2.8 |
| ShapDA (ours) | 0.99 | 3.1 | 3.7 | 9.7 | 0.91 | 6.1 | 6.8 | 3.3 |
Table 2: Unsupervised domain adaptation results for lactic acid prediction from source (SG) to target (CW) fermentations. Arrows indicate desired direction: ↑ (higher is better), ↓ (lower is better).
📚 Citation
If you use our work or dataset in your work, please cite it as:
APA
Babor, M., Liu, S., Arefi, A., Olszewska-Widdrat, A., Sturm, B., Venus, J., & Höhne, M. M. (2024). Domain-Invariant Monitoring for Lactic Acid Production: Transfer Learning from Glucose to Bio-Waste Using Machine Learning Interpretation. Preprint submitted to Bioresource Technology. https://doi.org/10.2139/ssrn.5012080
BibTex
@article{Babor_Domain_2024,
author = {Babor, Majharulislam and Liu, Shanghua and Arefi, Arman and Olszewska-Widdrat, Agata and Sturm, Barbara and Venus, Joachim and Höhne, Marina M.-C.},
doi = {10.2139/ssrn.5012080},
journal = {Preprint submitted to Bioresource Technology},
title = {{Domain-Invariant Monitoring for Lactic Acid Production: Transfer Learning from Glucose to Bio-Waste Using Machine Learning Interpretation}},
year = {2024},
url = {https://doi.org/10.2139/ssrn.5012080}}
🙏 Acknowledgement
Owner
- Login: shl-shawn
- Kind: user
- Repositories: 1
- Profile: https://github.com/shl-shawn
Citation (CITATION.cff)
title: "Domain-Invariant Monitoring for Lactic Acid Production: Transfer Learning from Glucose to Bio-Waste Using Machine Learning Interpretation"
version: 1.0.0
doi: 10.2139/ssrn.5012080
date-released: 2017-12-18
url: "http://dx.doi.org/10.2139/ssrn.5012080"
preferred-citation:
type: article
authors:
- family-names: "Babor"
given-names: "Majharulislam"
orcid: "https://orcid.org/0000-0002-5440-7573"
- family-names: "Liu"
given-names: "Shanghua"
orcid: "https://orcid.org/0009-0009-9855-9040"
- family-names: "Arefi"
given-names: "Arman"
orcid: "https://scholar.google.com/citations?hl=en&user=gcRa6ZUAAAAJ"
- family-names: "Olszewska-Widdrat"
given-names: "Agata"
orcid: "https://orcid.org/0000-0002-7843-6846"
- family-names: "Sturm"
given-names: "Barbara"
orcid: "https://scholar.google.com/citations?user=o44XenAAAAAJ&hl=en&oi=ao"
- family-names: "Venus"
given-names: "Joachim"
orcid: "https://orcid.org/0000-0001-7708-1783"
- family-names: "Höhne"
given-names: "Marina M.-C."
orcid: "https://scholar.google.com/citations?hl=en&user=YwdAiikAAAAJ"
doi: "10.2139/ssrn.5012080"
journal: "Preprint submitted to Bioresource Technology"
title: "Domain-Invariant Monitoring for Lactic Acid Production: Transfer Learning from Glucose to Bio-Waste Using Machine Learning Interpretation"
year: 2024
month: 11
# volume: 0
# issue: 0
# start: 1
# end: 23
GitHub Events
Total
- Push event: 4
Last Year
- Push event: 4