The commonality between science and art is in trying to see profoundly - to develop strategies of seeing and showing.
Making the simple complicated is commonplace; making the complicated simple, awesomely simple, that's creativity. – Charles Mingus
These web pages are for students in the on-campus section and the on-line section.
In this class you will learn about a variety of methods for using a computer to discover patterns in data. The methods include techniques from statistics, linear algebra, and artificial intelligence. Students will be required to solve written exercises, implement a number of machine learning algorithms and apply them to sets of data, and hand in written reports describing the results.
For implementations, we will be using Python. You may download and install Python on your computer, and work through the on-line tutorials to help prepare for this course. For the written reports, we will be using LaTeX, a document preparation system, freely available on all platforms.
Class meetings will be a combination of lectures by the instructor, discussions of students' questions, and some student presentations in class.
A lot of material will be covered in this course. Students are expected to speak up in class with questions and observations they have about the material. Do not expect to be able to complete all assignments working on your own and without asking any questions. If you find yourself wondering what the next step is in finishing an assignment, please feel free to e-mail the instructor. You may also discuss assignments with other students, but your code and report must be written by you.
You are expected to be familiar with the CS Department policy on cheating and with the CS Department Code of Ethics. This course will adhere to the CSU Academic Integrity Policy as found in the General Catalog and the Student Conduct Code. At a minimum, violations will result in a grading penalty in this course and a report to the Office of Conflict Resolution and Student Conduct Services.
Lectures: Tuesdays and Thursdays, 3:30 pm - 4:45 pm, Computer Science Building, Room 130
On-campus and distance-learning students will be able to watch video recordings of lectures. These will be available on the Schedule page the evening of the on-campus lecture.
CS440, Introduction to Artificial Intelligence, is a prerequisite for this course. Discuss this with the instructor if you have not taken CS440. Most helpful for CS545 are courses or experience in linear algebra, statistics, and probability, and programming experience with at least two languages. Experience with writing and using implementations of regression, classification, neural networks, or other adaptive algorithms is also helpful. Consult the instructor to determine if you are sufficiently prepared.
Required: Pattern Recognition and Machine Learning, by Christopher M. Bishop, published by Springer (2007).
Suggested, but optional:
Your grade for this course will be based only on the assignments, most of which will be written reports. Each written report will require you to implement and run a machine learning algorithm and to write the report on your methods, results and conclusions. You must use python for the implementation and latex to make the report. Each report will be graded for correct implementation and results, interesting and thorough discussion, and good organization, grammar and spelling.
There are 5 regular assignments during the semester. Each will count for 16% of your semester grade. The final assignment is a project designed by you and is worth 20% of your semester grade. This 20% will be composed of
The calculation of the final letter grade will be made as follows:
These ranges for a letter grade might be shifted a little lower, but will not be raised.
Late reports will not be accepted, unless you make arrangements with the instructor at least two days before the due date.