Course Syllabus

CompE510: Machine Learning for Engineers [Fall 2024]

Instructor

Dr. Junfei Xie

https://smile.sdsu.edu/

Office Hours

Tuesdays & Thursdays: 14:45-15:45  (visiting my office at E-403B, via Zoom at

https://SDSU.zoom.us/j/87988068688 or by appointment)

Contact Info.

Email: jxie4@sdsu.edu

Prerequisites

CompE361, EE300, EE200

When/Where

TTh: 16:00 - 17:15 at LSS365

TA Info

Ke Ma (Email: kma0306@sdsu.edu )

TA's Office Hours

Wednesdays: 9:30am - 10:30am  (visiting E-302D, Zoom at

https://ucsd.zoom.us/j/94344008980 or by appointment)

 

* For any questions related to programming assignments, contact the TA. For other questions, contact the instructor. 

**A more complete version of the syllabus can be downloaded here.

Course Description:

Machine learning, a discipline that deals with the automatic design of models from data, has been successfully used in the past few decades for data analysis, process automation, function approximation, model building, and many others. These techniques have been explored in a diversity of fields such as robotics, self-driving cars, big data, control of autonomous systems, image analysis, object recognition, data mining, business, and financial forecasting, transportation systems, antenna design, medical care systems, and many others. It is believed by many researchers that machine learning is the best way to enable human-level artificial intelligence.

This course provides a broad introduction on the key machine learning techniques that are frequently used in the Engineering field. The main topics to be covered include linear regression, logistic regression, neural networks, support vector machine, decision trees, clustering, dimension reduction, Naïve Bayes, and ensemble learning. Concrete examples will be presented to illustrate their value to engineers. Students will also gain practice implementing them for solving specific engineering problems using programming tools such as Matlab.

 

Course Learning Objectives:

Following this course, students will be able to:

1.    Construct and train linear regression, logistic regression, and neural network models from a real-life engineering application dataset programmatically, identify the model structure with the best performance, estimate model parameters using different parametric estimation methods, and use the resulting models to perform predictions. Identify model underfitting and overfitting issues and use proper approaches to resolve these practical issues.
2.    Construct support vector machines and Naïve Bayes classifiers to solve classification problems. 
3.    Construct decision trees using different methods for different types of data.  
4.    Identify suitable clustering techniques for different data types, use these techniques to perform clustering, and validate the clustering results using different methods.
5.    Explain different dimension reduction methods and implement principal component analysis to reduce the dimension of dataset.
6.    Explain the use of different ensemble learning methods to attain higher prediction accuracy.

 

Recommended Materials

Optional Materials

 

Exams:

There will be two mid-term exams during the course of the semester. 

 

Quizzes, Assignments & Term Project:

This course requires the students to complete one quiz after completing each module. 

This course also requires the students to complete 6 programming assignments, which require the use of Matlab. Both quizzes and programming assignments are due on Sundays

Additionally, graduate students will be required to complete a term project. Students will form teams (up to three students in a team) to identify an application domain and associated dataset, and perform machine learning tasks. For assessment, each team is required to submit a final report, and present the project during the class.

NOTE: Any use of generative AI (like ChatGPT) not assigned by the instructor may constitute academic dishonesty and be subject to discipline under the terms of the SDSU Student Code of Conduct. 

 

Grade Distribution and General Comments:

  • For Undergraduate Students:

    • 2 exams: 25% + 25%  = 50%
    • Quizzes: 5%
    • Assignments: 3% + 8% + 8% + 12% + 8% + 6% = 45% 
    • Term Project: optional

     

  • For Graduate Students:

    • 2 exams: 25% + 25%  = 50%
    • Quizzes: 5%
    • Assignments: 2% + 6% + 6% + 10% + 6% + 5% = 35% 
    • Term Project: 10% 

This course requires a LOT of reading and will require some research on your own for the term project.

NOTE: The weighted total score shown on Canvas is not accurate. The final score will be recalculated based on the criteria outlined above. Depending on the overall performance of the class, scores may also be curved.

 

Late Assignment & Makeup Exams Policy

Assignments are considered late if they are submitted after the due date and time. I will not accept late assignments so please make sure you turn in your assignments on time. 

 

Makeup exams will not be given under normal circumstances. If you notify me immediately that serious, unavoidable, documentable (e.g., with a letter from your doctor) circumstances have arisen, I will discuss options for replacing the missing grade. 

 

Pacing Guide:                       

Tentative Lecture Schedule for August 

8/27

T

Discuss syllabus

8/29

Th

Introduction

 

Tentative Lecture Schedule for September

9/3

T

Probability Theory Review 

9/5

Th

Probability Theory Review Quiz 1 due 9/9 is the last day to drop class!

9/10

T

Point Estimation  

9/12

Th

Point Estimation Quiz 2 due Assignment 1 (Probability) due

9/17

T

Linear regression  

9/19

Th

Linear regression Quiz 3 due     

9/24

T

Logistic regression

9/26

Th

Logistic regression Quiz 4 due  Assignment 2 (Linear Regression) due 

Tentative Lecture Schedule for October

10/1

T

Neural Networks 

10/3

Th

Neural Networks Assignment 3 (Logistic Regression) due 

10/8

T

Neural Networks

10/10

Th

Neural Networks Quiz 5 due 

10/15

T

Dimension Reduction 

10/17

Th

Dimension Reduction Quiz 6 

10/22

T

Exam 1 (Cover everything before Dimension Reduction)

10/24

Th

Decision Trees  due Assignment 4 (Neural Networks) due 

10/29

T

Decision Trees

10/31

Th

Decision Trees Quiz 7 due Assignment 5 (PCA) due

 

Tentative Lecture Schedule for November

11/5

T

Clustering  

11/7

Th

Clustering Quiz 8 due

11/12

T

SVM

11/14

Th

SVM Quiz 9 due Assignment 6 (Clustering) due 

11/19

T

Ensemble Learning Quiz 10 due 

11/21

Th

Bayesian Inference 

11/26

T

Bayesian Inference, Naïve Bayes Quiz 11 due

11/28

Th

Thanksgiving Holiday, No class!

 

Tentative Lecture Schedule for December

12/3

T

Term Project Presentation

12/5

Th

Term Project Presentation

12/10

T Exam 2 (Cover everything after Neural Networks) Term Project Report due

---

This course will use the Canvas Learning Management System instead of Blackboard. To access your course log in at canvas.sdsu.edu, and sign in using your SDSUid.

Note: You are responsible for adjusting your notification settings in such a way that you receive ALL announcements regarding this class. All Canvas email notifications will be delivered to your SDSU email address. You can add additional email addresses and sign up for text/mobile app notifications via the settings in your Canvas Profile, and then adjust your notifications in the Notifications Tab. Canvas notifications are system wide and cannot be adjusted by course. Click here to view a step-by-step guide to add additional notification and contact methods. 

If you have technical issues with Canvas, please contact the SDSU Canvas 24/7 support line at 619.483.0632.

---

Course Summary:

Date Details Due