In addition to this Course Guide, the course has the following important components. Please ensure that you have all of these materials available.
There are seven units in COMP S491 Machine Learning and Applications. Each unit starts with an introduction that outlines how the unit is organized, and what and how you are expected to learn. The introduction also includes the unit’s specific learning objectives, which list the concrete things you should be able to do upon completing the unit. After that, there are self-contained learning materials on a number of topics. Instructional contents — self-tests and activities — are situated at key points in each unit to consolidate your understanding of the topics.
Unit 1 Introduction to machine learning
This unit introduces machine learning and data mining by explaining what they are, their brief history and their relationship. Some applications of machine learning and data mining are also described.
Unit 2 Essential Python programming and tools
This unit teaches you the programming language and tools used in the course. It first introduces how to use Jupyter Notebook, the online programming environment for the course. Next, the basics of Python programming are explained. Finally, commonly-used third-party Python libraries are described, and their uses are illustrated with examples.
Unit 3 How machine learning and data mining work
This unit provides a technical overview of how machine learning and data mining work. It begins by describing the tasks required in a standard data mining process. Since data are key to data mining and machine learning, important aspects of data are explained. Data pre-processing is illustrated with Python example programs. Next, the mechanism of machine learning is explained in terms of model building, and illustrated with a simple example. The various types of machine learning are described.
Unit 4 Supervised learning
This unit discusses a type of machine learning called supervised learning, which is used for solving classification and regression problems. Different models of supervised learning are explained and demonstrated with example applications. The models are evaluated and their issues are addressed.
Unit 5 Unsupervised learning
This unit discusses unsupervised learning, which analyses the association among attributes of data and the clustering of data. Algorithms for association analysis and clustering are described and illustrated with example applications.
Unit 6 Deep learning
This unit examines deep learning. Two types of deep neural networks are explained: convolutional neural networks with image analysis applications and recurrent neural networks with natural language processing applications.
Unit 7 Reinforcement learning
This unit discusses reinforcement learning in which actions are performed in order to maximize reward. The Markov decision process is explained for formulating basic reinforcement. Different types and algorithms of reinforcement learning are described and illustrated with example applications.
There is no textbook for this course.
An online programming environment is provided for all software development tasks required for the course. You do not need to install additional development tools on your computers. Instructions for accessing the online programming environment are provided on the Online Learning Environment (OLE).
You are expected to have the following minimum equipment for accessing the online materials.
- PC with Intel i5 (or equivalent) quad-core processor or above
- 4GB RAM minimum, 8GB RAM recommended
- 4GB of free disk space
- Internet access
- Video display resolution at 1280 x 800 or higher.
- Microsoft Windows 7/8/10, Mac OS X 10.10 to 10.13, or Linux GNOME/KDE desktop
- Recent versions of Chrome, Firefox, Edge/Internet Explorer or compatible browser.
You can access the assignment files on the OLE.
The presentation schedule is available on the OLE. It gives you the dates for completing assignments, and attending tutorials and surgeries.