Shiva Shakeri's repositories
Data-Driven-Model-Predictive-Control-MPC-with-Stability-and-Robustness-Guarantees
J. Berberich, J. Köhler, M. A. Müller and F. Allgöwer, "Data-Driven Model Predictive Control With Stability and Robustness Guarantees," in IEEE Transactions on Automatic Control, vol. 66, no. 4, pp. 1702-1717, April 2021, doi: 10.1109/TAC.2020.3000182.
An-Inverted-Pendulum-Stabilizer-Using-PID-Controller-and-Lead-Lag-Compensator
This project implements a controller for an inverted pendulum system using a PID controller and lead-lag compensator. The goal is to stabilize the inverted pendulum, which is a classic example of a nonlinear, unstable system, by designing a controller that can keep the pendulum upright.
Data-Driven-MPC-Linear-Systems-RL
Z. Sun, Q. Wang, J. Pan and Y. Xia, "Data-Driven MPC for Linear Systems using Reinforcement Learning," 2021 China Automation Congress (CAC), Beijing, China, 2021, pp. 394-399, doi: 10.1109/CAC53003.2021.9728233.
Neural-Network-Gradient-Descent-From-Scratch
This project is a simple implementation of a neural network with gradient descent optimization from scratch. The goal of this project is to demonstrate how a neural network works and how the gradient descent algorithm can be used to optimize its parameters.
SemiSupervised-Logistic-Regression
This project is a demonstration of semi-supervised logistic regression using Python. In semi-supervised learning, we have access to both labeled and unlabeled data to train our model. The labeled data is used to train the initial model, and the model's predictions on the unlabeled data are used to create pseudo-labels.
Clustering-KMeans-From-Scratch
This is a Python implementation of k-means clustering algorithm from scratch. It allows you to cluster data points into K clusters using Euclidean distance as a similarity metric.
CNN-Keras-cifar-10
This project involves building three Convolutional Neural Network (CNN) models using Keras-TensorFlow on the CIFAR-10 dataset.
Control-Magnetic-Levitation-Ball
It aims to control a magnetic levitation system for stabilizing a ball at a desired position. The project consists of two phases. In Phase 1, a model of the magnetic levitation system is developed, and a PID controller is designed. In Phase 2, state-feedback and observer-based controllers are designed to enhance the system's performance.
KNN-From-Scratch
This project implements two algorithms, K-Nearest Neighbors (KNN) and Large Margin Nearest Neighbor (LMNN) using the Neighbourhood Component Analysis (NCA) approach.
Naive-Bayes-Classifier-From-Scratch
This project implements a Naive Bayes Classifier from scratch using Python. The classifier is used to classify mushrooms as either edible or poisonous based on various features such as cap shape, cap color, gill color, etc.
Neural-Network-Based-Fault-Detection-in-RCAM-Model
This project introduces a fault detection framework using neural networks for the RCAM. The study begins by remodeling the RCAM’s nonlinear dynamics to simulate various fault conditions. Subsequently, data generated from these faulty models underpin the training and testing of neural networks.
Smart-Weather-Station-ESP8266-Arduino
This project is an ESP8266 and Arduino-based weather station that can be used to monitor temperature and humidity. It uses the SHT20 sensor to collect weather data and sends the data to a cloud server using the ESP8266 Wi-Fi module.
Birthday-Problem-Central-Limit-Theorem
This repository contains Python code for exploring two statistical concepts - the birthday problem and the central limit theorem.
AA548-spr2024
course material for AA/EE/ME 548 Spring 2024