This Jupyter notebook demonstrates hyperparameter optimization using Optuna to find optimal model architecture and training parameters for a multi-layer perceptron (MLP) on the MNIST digit classification task.
Key hyperparameters being optimized:
- Learning rate
- Hidden layer sizes
- Network depth
The optimization process maximizes both classification accuracy and F1 score. Visualization of parameter importance and optimization history helps understand which hyperparameters have the strongest impact on model performance.
- Python 3.10+
- Jupyter Notebook/Lab
- Required Python packages:
- pandas
- numpy
- matplotlib
- seaborn
- torch
project_root/
│
├── assets/
├── data/
├── src/
│ ├── models.py
│ └── utils.py
├── main.ipynb
├── README.md
└── requirements.txt- Create a virtul env:
python -m venv my_env
source .my_env/bin/activate- Install the required dependencies:
pip install -r requirement.txt- Run the jupyter notebook (main.ipynb) in colab or locally in VSCode.
|
Parallel plot
|
Importance plot
|

