CSCI 374

Machine Learning

Home

Instructors: Andrea Danyluk Anna Neufeld
Email: andrea "at" cs "dot" williams "dot" edu aneufeld "at" uw "dot" edu
Virtual Office Hours: Tue 10-11am ET and 5-6pm ET Mon 11am-1pm ET
We're also available to meet by appointment!
TA: Betsy Button
TA Office Hours: Mon 6-8pm ET, Thurs 11am-1pm ET
and Sun 7-9pm ET

Course Description

Machine Learning is an area within Artificial Intelligence that has as its aim the development and analysis of algorithms that are meant to automatically improve a system's performance. Such improvement might include: (1) learning to perform a new task; (2) learning to perform a task more efficiently or effectively; or (3) discovering and organizing new facts that can be used by a system that relies upon such knowledge. Consider, for example, prediction of movie ratings (Netflix), beating a professional player at the game of Go (AlphaGo), driving a car (Google), or serving as a personal assistant (Amazon's Alexa).

Machine learning algorithms have influenced work in areas other than Artificial Intelligence itself. For example, some of the algorithms developed have contributed to the study of human learning in cognitive science and cognitive psychology. Recent practical applications of machine learning algorithms have included data mining for discovery of new information from scientific data (such as the recent discovery of new planets), for fraud detection, and for market analysis.

There are many ways to categorize machine learning algorithms. One is based on the amount and type of background information provided to the algorithm. This course will introduce specific instances of two categories of learning algorithms - supervised algorithms and unsupervised algorithms. It will also introduce methods for evaluating the performance of machine learning algorithms. Finally, it will introduce topics in computational learning theory as well as instances of particular applications.

Work in the course will involve reading, solving problems, running and evaluating learning algorithms, and implementing some as well.