CIS 419/519 : Applied Machine Learning

Fall 2020, 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 and dimensionality reduction. 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
Synchronously via Zoom


Tentatively, Tuesday & Wednesday (Details TBD)

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 above. 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.