Skip to content

Lion4re/CS573-Optimization-Methods

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CS573 - Optimization Methods Assignments

This repository contains assignments from the course CS573 - Optimization Methods, offered by the Department of Computer Science at the University of Crete during the Fall Semester 2023-2024.

Course Description

This repository contains assignments and related materials for the CS573 - Optimization Methods course. The course covers various optimization techniques and algorithms used in computer science and engineering.

Assignments

Assignment 1: Singular Value Decomposition and Principal Component Analysis

Description:

Assignment 1 focuses on applying Singular Value Decomposition (SVD) and Principal Component Analysis (PCA) to analyze datasets. The assignment includes:

  • Loading and preprocessing datasets.
  • Implementing SVD to decompose matrices.
  • Utilizing PCA for dimensionality reduction.
  • Analyzing principal components and their significance.
  • Conducting nearest neighbor analysis in low-dimensional space.
  • Visualizing data distributions and patterns.

For more details, refer to the Assignment 1 PDF.

Assignment 2: Regression with Missing Data

Description:

Assignment 2 provides a comprehensive study of regression analysis, starting with Least Squares Regression and extending to Lasso Regression with a focus on feature selection and regularization. It further explores the concept of matrix completion as a method to handle missing data in datasets.

The assignment includes:

  • Implementing Least Squares Regression from scratch to understand the fundamentals of linear modeling.
  • Developing a Lasso Regression model to incorporate L1 regularization for feature selection and model simplicity.
  • Investigating the impact of missing data on model performance and exploring matrix completion as a solution.
  • Re-evaluating the regression models after applying matrix completion to see the improvements in prediction accuracy.

For more details, refer to the Assignment 2 PDF.

Report:

Each assignment in this repository includes a detailed report. The reports provide insights, analyses, and discussions on the implemented methods, results, and the practical implications of optimization techniques in solving real-world problems.

Folder Structure

  • Assignment1/: Contains the code and materials for Assignment 1.
  • Assignment2/: Contains the code and materials for Assignment 2.

Tools and Languages

  • Python: Main programming language used for model development and data analysis.
  • Jupyter Notebooks: For interactive code execution and visualization.
  • NumPy & Pandas: Libraries used for numerical computations and data manipulation.
  • Matplotlib & Seaborn: For data visualization.

Viewing the Assignments

To view the assignments, download the respective PDF files and open them with any standard PDF viewer.

Running the Code

The code for the assignments can be found in Jupyter Notebooks. To run the notebooks:

  1. Ensure you have Jupyter installed. If not, install it using pip install jupyter.
  2. Navigate to the directory containing the .ipynb files.
  3. Run jupyter notebook to launch the Jupyter Notebook App or your preffered editor/IDE.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

About

Exercises for the CS573: Optimization Methods course.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published