Rodney D. Nielsen
Research Scientist
Research Assistant Professor
Assistant Professor Adjunct
Boulder Language Technologies
University of Denver
University of Colorado at Boulder
CSCI 5622-002 Machine Learning, Fall 2009

MW 5:30-6:45 PM
Rodney Nielsen
ECOT 725
Office Hours:
MW 6:45-7:30PM+ or by appointment
(project presentations) Wed, December 16th, 7:30-10:00PM

Course Description

The goal of ML is to develop computer algorithms that can discover patterns in data (learn from experience) and use those discoveries to make useful observations or predictions about that data or unseen data and, hence, allow the user of the information (human or system) to improve performance on associated tasks. This data might be sensor readings, transaction records, survey responses, text documents, physical measurements, or virtually any other digital information and can represent individual instances of a concept or a point in a sequence, such as time series data or the words in a sentence. If machines can learn these patterns, it eliminates the need for humans to write complex interacting rules in an attempt to model the associated process; it also generally provides more accurate results.

Machine Learning is becoming more and more common throughout industry and our everyday lives. It is often an integral part of a long list of applications: robotics (locomotion, manipulation, ), image processing, optical character recognition, computer vision, speech recognition, natural language processing, machine translation, web search engines, text mining, information extraction, document classification, recommender systems, advertisement placement, product management, spam filtering, medical diagnosis, DNA sequencing, bioinformatics, clinical informatics, stock market analysis, insurance fraud, credit assessment, credit card fraud detection, network intrusion detection, programming by example, software engineering, game playing,

This course will provide a broad introduction to machine learning, covering supervised, unsupervised, semi-supervised, active, and online learning applications and theory. We will cover a wide variety of learning algorithms and their underlying mechanisms: probability theory, statistical theory, information theory, etc., as well as computational learning theory. Algorithms we will cover include decision trees, logistic regression, Bayesian methods, neural networks, instance-based learning, support vector machines, ensemble methods, k-means, hierarchical agglomerative clustering, expectation maximization, co-training, and principal components analysis. We will discuss both practical and theoretical issues, fundamental concepts and open problems, and will have a strong emphasis on methods and experimental design.


The course is designed to allow anyone with strong analytical skills to contribute to the class and successfully learn the concepts, but students will benefit from a strong background in programming, probability theory, statistics, linear algebra, and calculus.