This repository contains the laboratory assignments and final project completed for the Pattern Recognition and Machine Learning course at the AGH University of Kraków.
The repository includes 6 laboratory assignments and one final project, each in a separate folder.
Each lab folder contains:
- A PDF with the task description (
assignment_xx.pdf) - A laboratory report prepared in LaTeX
- Implementation scripts or Jupyter notebooks (where applicable)
| No. | Title | Main Topics | Key Concepts / Goals |
|---|---|---|---|
| 1 | The Simplest Classifier and Data Representation | Data standardization, distance metrics, feature visualization, k-NN | Explore data preprocessing and representation; find most discriminative features; evaluate k-NN performance. |
| 2 | Representations and Distances | Feature selection, dissimilarity measures, t-SNE, clustering | Analyze how classification accuracy depends on data size and feature count; compare distance metrics and clustering performance. |
| 3 | Feature Selection and Extraction | PCA, MDS, t-SNE, k-NN | Evaluate dimensionality reduction and feature selection; analyze classifier accuracy versus number of features; compare PCA and raw features. |
| 4 | Simple Classifiers | Naïve Bayes, Logistic Regression, k-NN, ROC analysis | Train and compare simple models; visualize results; study classifier performance on raw, selected, and PCA features. |
| 5 | Advanced Classifiers I | Random Forest, AdaBoost, SVM, t-SNE | Optimize ensemble methods and SVMs; tune hyperparameters; evaluate training times under varying computational budgets. |
| 6 | Advanced Classifiers II | Multilayer Perceptrons (MLP), architecture optimization | Study impact of layer depth on MLP accuracy with fixed parameter count; explore architecture adjustments to mitigate degradation. |
| Project | Convolutional Neural Networks | CNNs, Keras, TensorFlow, sequence classification | Implement and train 1D CNNs on the Hill-Valley dataset; build custom data generator; perform hyperparameter experiments and evaluation. |
Upon completing this course, I have gained the ability to:
- Understand and apply core methods in pattern recognition and machine learning
- Perform feature selection, extraction, and dimensionality reduction (PCA, MDS, t-SNE)
- Implement and evaluate classical classifiers (k-NN, Naïve Bayes, Logistic Regression) and ensemble methods (Random Forest, AdaBoost, SVM)
- Build and optimize neural network architectures (MLP, CNN) using Keras and TensorFlow
- Analyze model performance using accuracy, F1-score, ROC curves, and visual tools
- Develop reproducible ML pipelines with Python, NumPy, Pandas, and scikit-learn
Pattern Recognition • Machine Learning • Feature Selection • Dimensionality Reduction • k-NN • Naïve Bayes • Logistic Regression • Random Forest • AdaBoost • SVM • MLP • CNN • PCA • t-SNE • Data Visualization • Classification • Model Evaluation
Pattern Recognition and Machine Learning, Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie
Pattern Recognition and Machine Learning – Official Syllabus →