MWF 8:45am - 9:50am in Bracy 06
Dr. Julie Butler
Office: Bracy 107
Office Hours: Monday 1pm - 3pm, Tuesday 4pm - 6pm, Thursday 11am - 1pm, and by appointment
Cell Phone: 864-993-7133
Course Description and Learning Objectives
Machine learning is a fast-growing field that is starting to invade all academic disciplines and daily life. This course aims to answer two main questions: "What is machine learning?" and "How can machine learning be used to solve different types of problems?". We will investigate some foundational machine learning algorithms and current machine learning trends, such as neural networks and ChatGTP. Note that this course is not meant to be a deep dive into machine learning. Rather, this course will introduce you to various machine learning topics and give you the tools and resources to explore these interesting topics further and apply them to problems you find interesting.
By the end of this course, you should be able to:
Explain how various machine learning algorithms work both conceptually and mathematically
Identify what types of problems can be solved using machine learning,
Determine what type of machine learning analysis is needed and which algorithms will perform well with the data set
Format the data set for use in machine learning algorithms
Train and predict using a machine learning algorithm from a popular library
Analyze the algorithm's results to determine its performance and, if necessary, take steps to improve its performance.
Communicate your results in both written and oral presentations
What is Machine Learning?; Mathematical Crash Course
The Machine learning workflow, formatting and displaying data sets, error analysis, and linear regression
Ridge and LASSO regression for regression problems
Linear, Ridge, and LASSO regression for classification problems
Model optimization, kernel ridge regression, and the kernel trick
Unsupervised machine learning: PCA and k-nearest neighbors
Introduction to neural networks with Keras
Feedforward neural network with Tensorflow
Feedforward neural networks with Jax
Convolutional neural networks for image classification (Part 1)
Convolutional neural networks for image classification (Part 2)
Recurrent neural network for time-series analysis
What is ChatGTP and how does it work?
Final projects; Thanksgiving Break
Closing remarks; Final projects
Final project presentations
There will not be a final exam for this course and the final exam period will not be used.
All students are expected to come to class ready to learn and help contribute to an environment that allows other students to learn. This means arriving on time and participating in lectures, not creating distractions for other students, and being courteous to other students and the professor.
It is expected that you completed all graded assignments and submit them on D2L by the posted deadline unless you are using an extension as detailed in the late policy.
Attendance Policy: Attendance is not required and will not be taken. If you choose not to attend a lecture, you are still responsible for the material and assignments covered during that class, including the in-class assignments that are given on Wednesdays and Fridays. If you experience an extended absence due to illness or a family emergency, please email me, and we can work out a solution.
Accessibility: The University of Mount Union values disability as an important aspect of diversity and is committed to providing equitable access to learning opportunities for all students. Student Accessibility Services (SAS) is the campus office that collaborates with students with disabilities to provide and/or arrange reasonable accommodations based on appropriate documentation, the nature of the request, and feasibility. If you have, or think you have, a temporary or permanent disability and/or a medical diagnosis in any area, such as physical or mental health, attention, learning, chronic health, or sensory, please contact SAS. The SAS office will confidentially discuss your needs, review your documentation, and determine your eligibility for reasonable accommodations. Accommodations are not retroactive, and the instructor is not obligated to provide accommodations if a student does not request accommodation or provide documentation. Students should contact SAS to request accommodations and discuss them with their instructor as early as possible in the semester. You may contact the SAS office by phone at (330) 823-7372; or via e-mail at firstname.lastname@example.org.
Academic Honesty: All work you submit with your name on it is expected to be original work. You can consult any outside source, including the internet, for help on assignments, but you cannot copy any solutions you find there directly. If you work closely with other classmates on an assignment, please indicate that the solution results from collaboration and list the names of all students who contributed (this is allowed and encouraged). If it can be proven that you used Chegg, ChatGTP, or another person to solve your homework or final project (i.e., you copied your solution verbatim from these sources or others), you will receive a zero for the assignment and be reported for academic dishonesty.
Technology in the Classroom: All electronic devices are allowed in the classroom, provided that you do not use them to distract other students. All devices should be muted and notifications silenced for the class duration. If a device distracts other students, you will be asked to put the device away or leave the classroom.
Teams: A class Teams server is provided for all students to use to discuss the course and work on assignments together. All students can use the server, but its use is optional. All posts in the server must relate to the course, and all users must be respectful and considerate of the other users. Posts violating these rules will be removed, and students who repeatedly post off-topic or offensive material will be removed from the server.
Communications with the Professor: The best way to ask a question about an assignment is to post it to the class Teams. Even if I do not see the message quickly, other students may be able to help you. If you wish to contact me directly, the best way to reach me is by email at the top of the syllabus or by my office. My cell phone number is also provided at the top of the syllabus if you need to contact me quickly.
Textbook and Course Websites
The required textbook for this course is Hands-On Machine Learning with Scikit-Learn, Keras, and Tensorflow, 3rd Edition by Aurélien Géron. Occasionally other articles will be provided as supplemental reading. The main course website is juliebutler.org/classes/dsc340, but assignments will be submitted through the course D2L page, and lecture notes are located butler-julie.github.io.DSC340LectureNotes.
A laptop with an internet connection is required in class and for all out-of-class assignments. All programming assignments will be done on Google’s Colab software, a cloud-based Python notebook software that comes will all popular libraries. This means that all of the machine learning assignments can be run on any computer, regardless of its specifications. Google Colab requires a Google account, which can be created for free if you do not already have one. If you have trouble accessing the Google Colab on your device or do not have a laptop, please talk to me.
The goal of pre-class homework is to get you familiar with the material we will be covering during the week. Pre-class homework should take no more than 1.5 hours to complete. They will be released on Thursday the week before and are due before class on Monday. The exact due dates are given in the table at the end of this document.
In-class projects will be worked on during class on Fridays (and sometimes started on Wednesday, time permitting) and can be completed after class as long as they are submitted by the start of the next Monday’s class. For example, the Week 1 in-class project will be started in class on Wednesday of Week 1, worked on during the class period on Friday, and submitted before Monday’s class on Week 2. See the table at the end of this document for exact deadlines.
In-class projects aim to reinforce the concepts and skills discussed during the week’s lecture. Since machine learning is a type of data analysis involving programming, the best way to learn machine learning is to do it. In-class projects will be Google Colab notebooks; the link can be found on the course website. These in-class projects can be completed individually or in groups of up to three students. If completed in groups, all group members can submit the same notebook as long as all names are in the notebook.
Post-class homework assignments are released after class on Friday and are due the following Wednesday. Completing a post-class homework assignment should take no more than three hours.
Final Project (Report + Presentation)
More details on the final project are available here.
Everyone has ten late days to apply to turn in any pre-class homework, in-class project, or post-class homework. You can apply as many days as you want, but you only get ten late days in total for the entire semester. You must email me if you plan on using the late days and how many before the due date on the assignment.
For example, you can apply two late days to pre-class homework #3, so you turn it in on Wednesday instead of Monday. You now have 8 late days remaining to use on other assignments.
Other extensions will not be given on assignments, and late work will not be accepted EXCEPT in very special circumstances such as extended illness or family emergencies (talk to me).
Note late days cannot be used to turn in the final report, final code, or presentation.
Pre-Class Homework: 10%
In-Class Projects: 20%
Post-Class Homework: 30%
Final Project (Report + Presentation): 40%
Assignments that are not turned in will receive a grade of zero. The lowest two pre-class homework, in-class project, and post-class homework grades will be dropped from the final grade (six dropped grades total).
Percentage grades can be converted to an A-B scale using the following:
F: 59 and below
Suggested Reading and Important Dates
Please note that the suggested readings are not required readings. Rather they are here to help you find the information that is being covered in a particular week if you need to look up a question.
Week 1 (August 21 - 25)
Wednesday: Hands-On Chap. 1, Lecture Notes
Friday: Hands-On Chap. 1, Lecture Notes
Week 2 (August 28 - September 1)
Monday: Hands-On Chap. 2, Hands-on Chap. 4.1 (Linear Regression), Lecture Notes; Pre-Class Week 2 and In-Class Week 1 Due
Wednesday: Hands-On Chap. 2, Hands-on Chap. 4.1 (Linear Regression), Lecture Notes; Post-Class Week 1 Due
Friday: Hands-On Chap. 2, Hands-on Chap. 4.1 (Linear Regression), Lecture Notes
Week 3 (September 4 - 8)
Monday: No Class; Labor Day; Pre-Class Week 3 and In-Class Week 2 Due
Wednesday: Hands-On Chap. 4,4 (Regularized Linear Models), Lecture Notes; Post-Class Week 2 Due
Friday: Hands-On Chap. 4,4 (Regularized Linear Models), Lecture Notes; Final Project Proposal Due
Week 4 (September 11 - 15)
Monday: Hands-On Chap. 4,4 (Regularized Linear Models), Chap. 3, Lecture Notes; Pre-Class Week 4 and In-Class Week 3 Due
Wednesday: Hands-On Chap. 4,4 (Regularized Linear Models), Chap. 3, Lecture Notes; Post-Class Week 3
Friday: Hands-On Chap. 4,4 (Regularized Linear Models), Chap. 3, Lecture Notes
Week 5 (September 18 - 22)
Monday: Hands-on Chap. 4.3 (Polynomial Regression), Probabilistic Machine Learning Chap. 17.3.9 (Kernel Ridge Regression), Lecture Notes; Pre-Class Week 5 and In-Class Week 4 Due
Wednesday: Hands-on Chap. 4.3 (Polynomial Regression), Probabilistic Machine Learning Chap. 17.3.9 (Kernel Ridge Regression), Lecture Notes; Post-Class Week 4 Due
Friday: Hands-on Chap. 4.3 (Polynomial Regression), Probabilistic Machine Learning Chap. 17.3.9 (Kernel Ridge Regression), Lecture Notes; Final Project Analysis Due
Week 6 (September 25 - 29)
Monday: Hands-On Chap. 8, Lecture Notes; Pre-Class Week 6 and In-Class Week 5 Due
Wednesday: Hands-On Chap. 8, Lecture Notes; Post-Class Week 5 Due
Friday: Hands-On Chap. 8, Lecture Notes
Week 7 (October 2 - 6)
Monday: Hands-On Chap. 9-11, Lecture Notes; Pre-Class Week 7 and In-Class Week 6 Due
Wednesday: Hands-On Chap. 9-11, Lecture Notes; Post-Class Week 6 Due
Friday: Hands-On Chap. 9-11, Lecture Notes
Week 8 (October 9 - 13)
Monday: Hands-On Chap. 9-11, Lecture Notes; Lecture will be pre-recorded and posted on D2L; Pre-Class Week 8 and In-Class Week 7 Due
Wednesday: Hands-On Chap. 9-11, Lecture Notes; Post-Class Week 7 Due
Friday: No Class; Fall Break
Week 9 (October 16 - 20)
Tuesday: Hands-On Chap. 9-11, Lecture Notes; Pre-Class Week 9 and In-Class Week 8 Due
Wednesday: Hands-On Chap. 9-11, Lecture Notes; Post-Class Week 8 Due
Friday: Hands-On Chap. 9-11, Lecture Notes
Week 10 (October 23 - 27)
Monday: Hands-On Chap. 13, Lecture Notes; Pre-Class Week 10 and In-Class Week 9 Due
Wednesday: Hands-On Chap. 13, Lecture Notes; Post-Class Week 9
Friday: Hands-On Chap. 13, Lecture Notes; Abstract Due
Week 11 (October 30 - November 3)
Monday:Hands-On Chap. 13, Lecture Notes; Pre-Class Week 11 and In-Class Week 10 Due
Wednesday: Hands-On Chap. 13, Lecture Notes; Post-Class Week 10 Due
Friday: Hands-On Chap. 13, Lecture Notes
Week 12 (November 6 - November 10)
Monday: Hands-On Chap. 14, Lecture Notes; Pre-Class Week 12 and In-Class Week 11 Due
Wednesday: Hands-On Chap. 14, Lecture Notes; Post-Class Week 11 Due
Friday: Hands-On Chap. 14, Lecture Notes; Report Introduction Due
Week 13 (November 13 - November 17)
Week 14 (November 20 - November 24)
Monday : In class time to work on final projects; In-Class Week 13 Due; Post-Class Week 13 and Final Project Graph due on TUESDAY
Wednesday: No Class; Thanksgiving Break
Friday: No Class; Thanksgiving Break
Week 15 (November 27 - December 1)
Monday: In class time to work on final projects
Wednesday: In class time to work on final projects
Friday: In class time to work on final projects
Week 16 (December 4 - 8)
Monday : Final presentations; Final presentation, report, and code due
Wednesday: Final presentations
Friday: Final presentations