24787 Machine Learning and Artificial Intelligence for Engineers

24787 Machine Learning and Artificial Intelligence for Engineers

In this course, we learned Regression, Parametric/Non Parametric Learning, Discriminative and Generative Algorithms, Naive Bayes, Non-linear Classifiers, Feature Engineering/Representation, Ensemble Methods, Support Vector Machine (SVM), Unsupervised Learning and Clustering Algorithms, Principal Component Analysis, Independent Component Analysis, Neural Networks, Training, and Reinforcement Learning. We used Jupyter Notebooks and Python for the practice and the final project. In the programming applications in Python, we learned to use Machine Learning related libraries, such as Matplotlib, Pandas, Numpy and etc. 

Traditionally, the Zeigler-Nichols (ZN) Rules are commonly used to manually tune the controller parameters and optimize its performance based on several indexes (steady-state error, settling time, and time constant) of the tracking output. In the final project, we concentrate on applying multiple Machine Learning methods to control systems (PID), in order to reduce the tuning time and improve command tracking and disturbance rejection performance. Neural Network (Multi-layer Perceptron(MLP)) on self-collected dataset and several Reinforcement Learning algorithms (Q-Learning, Deep Q-Network(DQN), Deep Deterministic Policy Gradient(DDPG)) on simulation environments (OpenAI Gym) have been implemented and analyzed. Based on the evaluation of the accuracy and robustness of each method, Deep Reinforcement Learning algorithms turned out to be a better choice for control systems with continuous state and action space.


Datasets (Self-created)

Results of MLP

MLP: Low Accuracy/Robustness & Noises of real environments/robots

Flat

Slope

Valley

Flat Results for Q-Learning

Slope Results for Q-Learning

Valley Results for Q-Learning

3 Different Terrain Conditions: Flat, Slope, Valley

Different OpenAI Gym environments:

MountainCar : continuous states, discrete actions

MountainCarContinuous (Valley) : continuous states, continuous actions

Algorithms : 

Q-Learning : for MountainCar  

Deep Deterministic Policy Gradient (DDPG) : for MountainCarContinuous (Valley)


Valley Results for DDPG