CIS 419/519 : Applied Machine Learning

Fall 2019, University of Pennsylvania

Dan Roth


Course Description

The goal of Machine Learning is to build computer systems that can adapt and learn from their experience. In recent years we have seen a surge of applications that make use of machine learning technologies and one can argue that Machine learning has been essential to the success of many recent technologies, from natural language technologies (Siri, search technology, automated advertising, text correction) to computer vision technologies (image recognition applications, autonomous vehicles), genomics, medical diagnosis, social network analysis, and many others. This course will introduce some of the key machine learning methods that have proven valuable and successful in practical applications. We will discuss some of the foundational questions in machine learning -- when and why does learning work -- in order to get a good understanding of the basic issues in this area, and present the main paradigms and techniques needed to obtain successful performance in application areas such as natural language and text understanding, speech recognition, computer vision, data mining, adaptive computer systems and others. The main body of the course will review several supervised and (semi/un)supervised learning approaches. These include methods for learning linear representations, decision-tree methods, Bayesian methods, kernel based methods and neural networks methods, as well as clustering, dimensionality reduction and reinforcement learning methods. We will also discuss how to model problems as machine learning problems, how to evaluate learning algorithms, and how to deal with some real-world issues such as noisy data, and domain adaptation.


We assume basic familiarity of linear algebra (mostly notation and basic concepts), basic probability, calculus, and data structure/algorithms at the level of CIS 121

Time and Location


Mon/Wed 10:30am - 12:00pm
Wu and Chen Auditorium (Levine 101)


Tuesday 6:10pm, DRLB A1
Wednesday 4pm, Towne 315

Additional Requirement for CIS 519

Students registered for the graduate version of this course (CIS 519) will be required to complete additional work throughout the semester. This work will include a course project, and (possibly) additional components to the homework and the exams.

Since the two versions have different requirements, you cannot complete the course as CIS 419 and later petition to have it changed to CIS 519 for graduate credit; if you're considering changing this course to CIS 519 for graduate credit, you should register for the graduate version now.

Comparison to CIS 520

Due to overwhelming demand, Penn is offering two different machine learning courses: CIS 419/519 (Applied Machine Learning) and CIS 520 (Machine Learning). This section briefly describes the differences between these courses.

CIS 419/519 Applied Machine Learning (this course!) is an introductory-level course in machine learning (ML) with an emphasis on applying ML techniques. The course is cross-listed between undergraduate (419) and graduate (519) versions; the graduate course 519 has somewhat different requirements as described below. CIS 419/519 is intended for students who are interested in the practical application of existing machine learning methods to real problems, rather than in the statistical foundations and theory of ML covered in CIS 520 Machine Learning. CIS 419/519 will cover some of the foundations of ML, but is intended to be less mathematically rigourous than CIS520; this does not necessarily mean that it is "easier". The plan is for students will leave this class with a good understanding of the key issues in Machine Learning, and with a solid background of how to model and apply machine learning to their problems.

CIS 519 is NOT a prerequisite for CIS 520. However, it makes little sense to take CIS 519 after having already taken CIS 520. It also makes little sense, but possible, to take CIS 419/519 first and then later take CIS 520.

Summary: You should take CIS 419/519 if you are interested in Machine Learning and why/how it works, but care more about the application of machine learning to real problems than in the mathematically rigourous justification of why/when Machine Learning works.
And, you should take CIS 520 if you see yourself doing research in Machine Learning, research that requires developing new ML methods, and you are confident in your mathematical background.