Course Syllabus
CompE596: Machine Learning for Engineering [Fall 2023]
Instructor |
Dr. Junfei Xie |
Office Hours |
Tuesdays & Thursdays: 9am-10am (either by visiting my office at E-403B or via Zoom at https://SDSU.zoom.us/j/82213140638 or by appointment) |
Contact Info. |
Email: jxie4@sdsu.edu |
Prerequisites |
CompE361, EE300, EE200 |
When/Where |
TTh: 16:00 - 17:15 at LSS365 |
TA Info |
Ruitao Wu (Email: rwu9937@sdsu.edu) Office hours Tuesday & Thursday: 2:00 PM - 3:00 PM (Or by appointment if the time is unavailable for you) Location: E-302D Zoom: https://SDSU.zoom.us/j/88257918794 https://SDSU.zoom.us/j/88257918794 Meeting ID: 882 5791 8794 Note: please include "COMPE596" in the subject when you email me, thank you.
|
* For any questions related to programming assignments, contact the TA. For other questions, contact the instructor.
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 to the key machine learning techniques that are frequently used in the Engineering field. The main topics to be covered include probability theory, point estimation, linear regression, logistic regression, neural networks, decision trees, clustering, Bayesian estimation, and dimension reduction. In this course, students will not only learn these machine learning techniques, but also gain practice implementing them using programming tools such as Matlab. Students will also explore real-life applications of machine learning and learn to solve the application problem using machine learning techniques.
Course Learning Objectives:
Following this course, students will be able to:
- Use different estimation approaches including least squares, maximum likelihood, and maximum a posterior to estimate unknown parameters in a function or model.
- Differentiate supervised and unsupervised learning problems and choose proper approaches to solve these problems.
- Construct and implement linear regression, logistic regression, neural network models from real-life application datasets programmatically using Matlab, and use the models to perform predictions.
- Construct decision trees using different methods for different types of data.
- Identify suitable clustering techniques for different data types, use these techniques to perform clustering, and validate the clustering results using different methods.
- Explain different dimension reduction methods and apply principal component analysis to reduce the dimension of a dataset.
- Identify and formulate a real-life application problem, develop and implement proper machine learning algorithms to solve the problem, assess the performance of the proposed algorithm, report and present the results.
Recommended Materials
- Lecture handouts/slides (provided)
- Bontempi, G., & Taieb, S. B. (2017), Statistical foundations of machine learning. Universite Libre de Bruxelles.
- Tan, P. N., & Steinbach, M., & Kumar, V., Introduction to Data Mining, Pearson Education, Inc (1st or 2nd edition).
- Mitchell, T. (1997), Machine Learning. McGraw Hill.
- Murphy, K. P. (2012). Machine learning: a probabilistic perspective. MIT Press.
- Tipping, Michael E. "Bayesian inference: An introduction to principles and practice in machine learning." Summer School on Machine Learning. Springer, Berlin, Heidelberg, 2003.
Optional Materials
- Montgomery, D. C., & Runger. G. C. (2010), Applied statistics and probability for engineers. JohnWiley & Sons.
- Bishop, Christopher (2006). Pattern Recognition and Machine Learning. Springer-Verlag New York.
- Alpaydin, Ethem. (2014). Introduction to machine learning. MIT press (3rd edition).
Exams:
There will be two mid-term exams during the course of the semester. The grading will be relative to the performance of the entire class.
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.
Additionally, 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:
- 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.
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/22 |
T |
Discuss syllabus |
8/24 |
Th |
Introduction |
8/29 |
T |
Probability Theory Review |
8/31 |
Th |
Probability Theory Review 9/1 is the last day to drop class! |
Tentative Lecture Schedule for September
9/5 |
T |
Probability Theory Review / Linear Regression |
9/7 |
Th |
Linear regression Assignment 1 (Probability) due |
9/12 |
T |
Linear regression |
9/14 |
Th |
Logistic regression |
9/19 |
T |
Logistic regression |
9/21 |
Th |
Neural Networks Assignment 2 (Linear Regression) due |
9/26 |
T |
Neural Networks |
9/28 |
Th |
Neural Networks |
Tentative Lecture Schedule for October
10/3 |
T |
Neural Networks |
10/5 |
Th |
Point Estimation Assignment 3 (Logistic Regression) due |
10/10 |
T |
Point Estimation |
10/12 |
Th |
Exam 1 (Cover everything before Point Estimation) |
10/17 |
T |
Dimension Reduction |
10/19 |
Th |
Dimension Reduction Assignment 4 (Neural Networks) due |
10/24 |
T |
Decision Trees |
10/26 |
Th |
Decision Trees |
10/31 |
T |
Decision Trees |
Tentative Lecture Schedule for November
11/2 |
Th |
Clustering Assignment 5 (Dimension Reduction) due |
11/7 |
T |
Clustering & SVM |
11/9 |
Th |
SVM |
11/14 |
T |
Bayesian Inference |
11/16 |
Th |
Bayesian Inference Assignment 6 (Clustering) due |
11/21 |
T |
Bayesian Inference |
11/23 |
Th |
Thanksgiving Holiday, No class! |
11/28 |
T |
Term Project Presentation |
11/30 |
Th |
Term Project Presentation |
Tentative Lecture Schedule for December
12/5 |
T |
Term Project Presentation |
12/7 |
Th |
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 |
---|---|---|