"You can't stop the signal, Mal. Everything goes somewhere, and I go everywhere."
-- Mr. Universe, from the movie "Serenity"

Course Description

This course is part of the University of Idaho series on Artificial Intelligence and Machine Learning which comprises these three courses: Artificial Intelligence, Machine Learning, and Evolutionary Computation.

Prereq: Solid C/C++ programming skills, solid understanding of basic linear algebra, CS210 or instructor permission.

We will focus on the machine learning half of Artificial Intelligence. This includes algorithms to learn behavior, classify data, and predict behaviors and/or data given past data. This is an implementation course. We will implement some of the important algorithms of machine learning and apply them to small problems (usually under 1000 samples of data). This is a course about the algorithms and not about using pre-made tools to do machine learning and data mining. We will look at topics such as decision trees, neural networks, deep learning, Markov brains, and reinforcement learning. There will be lots of programming in C/C++ and algorithm work. Proficiency in programming in C/C++ is required as well as a solid understanding of undergrad math including an understanding of basic probability and statistics, calculus, and linear algebra. Algorithm descriptions will be given in Python and demonstrations in Mathematica (purchase not required).

Hopefully this will be fun and entertaining.

Time: 10:30-11:30 Pacific Time
Final: 575 students are required to create a final project and report.
Location: JEB 026
Textbook: Machine Learning: An Algorithmic Perspective by Stephen Marsland (Second Edition!)
Optional Ref: The Quick Python Book 2nd Ed. by Vernon L. Ceder
Really great and easy to read book. Fine index.

Estimated Syllabus

This syllabus is an estimate of what we might cover this semester. The class varies from semester to semester to reflect new and interesting topics.


of that

Topics/Links Assignments Comments
wk 1 Jan 8 Artificial Intelligence, Machine Learning, Data Analytics the big picture, Learning vs Prediction, The classes of problems Read Chapter 1 NO CLASS MONDAY
wk 2 Jan 15 Examining and cleaning the input Read chapter 2 NO CLASS MONDAY
wk 3 Jan 22 Decision trees for categorical and continuous data Read chapter 12  
wk 4 Jan 29 Decision trees for continuous data, generalization techniques, Decision forests Assignment 1  
wk 5 Feb 5 Single layer neural networks, two layer networks   Read chapter 3  
wk 6 Feb 12 recursive networks, evolutionary training of neural networks, NEAT and HyperNEAT and topology learning Assignment 3, Read chapter 4  
wk 7 Feb 19 Dimensionality reduction and PCAs. PCA derivation part 1 PCA derivation part 2 Read chapter 6.2 on NO CLASS MONDAY
wk 8 Feb 26 Linear Discriminant Analysis (LDA), nearest neighbor methods Read chapter 6.1, chapter 7, Assignment 4  
wk 9 Mar 5      
xx Mar 12     SPRING BREAK!
wk 10 Mar 19 Decision Trees    
wk 11 Mar 26 Association Rules    
wk 12 Apr 2 Association Rules Assignment 5  
wk 13 Apr 9 Reinforcement Learning, Q-Learning, Sarsa, eligibility traces    
wk 14 Apr 16 Ensemble learning, some text analysis basics Assignment 6  
wk 15 Apr 23 Deep learning    
wk 16 Apr 30 Stochastic Learning with the EM algorithm    
wk 17 May 7 Finals Week Final: None (Projects due on Monday)  

References and Resources


  • This class is part of the new virtual machine approach to classes. The class has its own machine with more up-to-date compilers than maybe in other classes! The machine is:
    cs-course82.cs.uidaho.edu. Give it a try and report any problems to cshelp@uidaho.edu if there is a problem. The machine is only visible on campus. If you are outside the university firewall you will need to VPN onto campus. To be allowed to VPN, you need to sign up with IT by contacting helpdesk@uidaho.edu to have your student account added to the VPN group.
  • Homeworks for CS475 are submitted for testing using this secure submission page. The last submission before the due date will be graded. This is the only place to submit homeworks.
  • How Testing Works

Policies and Processes

Fun Stuff