SI 583 - Recommender Systems

Seaside Transportation Plan Map Recommendations

Image adapted from oregondot under a Creative Commons license: BY.

Term:
Winter 2009
Published:
February 16, 2010
Revised:
June 5, 2015

This course is no longer taught at the U-M School of Information. These materials are from an older iteration of the course.

Recommender systems guide people to interesting materials based on information from other people. A large design space of alternative ways to organize such systems exists. The information that other people provide may come from explicit ratings, tags, or reviews, or implicitly from how they spend their time or money. The information can be aggregated and used to select, filter, or sort items. The recommendations may be personalized to the preferences of different users.

Instructor: Rahul Sami

dScribe: Mike Harmala

Course Level: Graduate

Course Structure: Ninety-minute class, twice a week

Syllabus

Course Learning Objectives

In this course, you will learn about the design of recommender systems: the underlying concepts, design space, and tradeoffs. At the end of this course, a student should understand the design space of recommender systems and be able to provide design recommendations for a particular application domain, as well as critique a design to point out its strengths and weaknesses.

Academic Integrity Policy

The UM and SI Academic Integrity Policy applies to this course: Collaboration while working on homework problems, and while discussing and interpreting the reading assignments, is encouraged. Active learning is effective. Collaboration will be especially valuable in summarizing the reading materials and picking out the key concepts. You must, however, write your homework submission on your own, in your own words, before turning it in. If you worked with someone on the homework before writing it, you must list any and all collaborators on your written submission.

All written submissions must be your own, original work. Original work for narrative questions is not mere paraphrasing of someone else's completed answer: you must not share written answers with each other at all. At most, you should be working from notes you took while participating in a study session. Largely duplicate copies of the same assignment will receive an equal division of the total point score from the one piece of work. You may incorporate selected excerpts from publications by other authors, but they must be clearly marked as quotations and must be attributed. If you build on the ideas of prior authors, you must cite their work. You may obtain copy editing assistance, and you may discuss your ideas with others, but all substantive writing and ideas must be your own, or be explicitly attributed to another. See the Rackham Graduate policy on Academic and Professional Integrity for the definition of plagiarism, and associated consequences.

Accommodations for Students with Disabilities

If you think you need an accommodation for a disability, please let me know at your earliest convenience. Some aspects of this course, the assignments, the in-class activities, and the way we teach may be modified to facilitate your participation and progress. As soon as you make me aware of your needs, we can work with the Office of Services for Students with Disabilities (SSD) to help us determine appropriate accommodations. SSD (http://www.umich.edu/~sswd) typically recommends accommodations through a Verified Individualized Services and Accommodations (VISA) form. I will treat any information you provide as private and confidential.

Overview

Recommender systems guide people to interesting materials based on information from other people. There is a large design space of alternative ways to organize such systems. The information that other people provide may come from explicit ratings, tags, or reviews, or may be implicitly inferred from their browsing, linking, or buying behavior. This information can be aggregated and used to select, filter, sort, or highlight items. The recommendations may be personalized to the preferences of different users.

In this course, we will study the design and critical analysis of recommender systems. We will discuss incentive issues involved in motivating users to behave honestly and to give honest feedback, as well as other practical aspects of designing a reputation system, such as the format of feedback input and retrieval. We will also study ways in which strategic parties may try to circumvent the system, and techniques to defend against these attacks.

Prerequisites

An introduction to statistics (SI 544 or equivalent) or permission of instructor. We will be using matrix algebra, but the necessary material for that will be covered in the lectures.

Course Schedule

Week 1

Introduction to the recommender systems design space

Week 2

Eliciting Ratings and other Feedback Contributions

Implicit Ratings

Week 3

Linear Algebra notation: Matrix addition, multiplication, transposition, and inverses; covariance matrices

User-User Recommender Algorithm

Week 4

Applications, and demo system Case Study: Recommending Messages in an Online Community

Week 5

Item-Item Recommender Algorithm

PageRank and Other CF algorithms

Week 6

Evaluation of Recommenders

Explanations; other Interface Extensions

Week 7

Scalable Software Architecture; Anonymity and Privacy

Deliberate Manipulation and Defenses

Course Work and Assessment

Assignments (4) (30%) 

Assignments will include exercise problems on the recommendation models studied, and short-answer questions on the papers and topics discussed in class.

Participation (10%) 

Participation in the class, and on the CTools discussion forum.

Final Paper (60%) 

The final paper (6-8 pages long) will involve designing a recommender system for a particular domain. It will consider a potential application setting, explore the entire design space covered in the course, and consider each of the known pitfalls. It will culminate in a set of design recommendations.

Learning Objectives

In this course, you will learn about the design of recommender systems: the underlying concepts, design space, and tradeoffs. At the end of this course, a student should understand the design space of recommender systems and be able to provide design recommendations for a particular application domain, as well as critique a design to point out its strengths and weaknesses. 

Reading List

Lecture 1: Introduction and Design Space (1/8)

Recommender Systems, Resnick and Varian, CACM 1997

Lecture 2: Eliciting Ratings (1/13)

Slash(dot) and Burn: Distributed Moderation in a Large Online Conversation Space, Lampe and Resnick, Proceedings of CHI 2004

Optional Readings:

Social Comparisons and Contributions to Online Communities, by Chen, Harper, Konstan, and Li, working paper 2007, publication forthcoming in the American Economic Review.

Lecture 3: Implicit Feedback (1/15)

Information filtering based on user behavior analysis and best match text retrieval, Morita and Shinoda, Proceedings of ACM SIGIR 1994. Read section 4 only!

Edit Wear and Read Wear, Hill, Hollan, Wroblewski and McCandless, ACM SIGCHI 2007.

Modeling Information Content Using Observable Behavior, Oard and Kim, Proceedings of ASIST 2001 (available for purchase online).

Lecture 4: Linear Algebra Techniques; Intro to User-User Algorithm (1/20)

SOS Math Online article on matrix algebra. Read up through the section on "Special Matrices."

Mathworld article on covariance and correlation (for reference).

Lecture 5: User-User Recommender Algorithm (1/22)

GroupLens: An Open Architecture for Collaborative Filtering of Netnews, Resnick, Iacovou, Suchak, Bergstrom, Riedl, in proceedings of CSCW'94.

Optional Readings:

An Empirical Analysis of Design Choices in Neighborhood-Based Collaborative Filtering Algorithms, Herlocker, Konstan, and Riedl, Information Retrieval 5:287-310

Social information filtering: algorithms for automating word of mouth, Shardanand and Maes, in Proceedings of CHI'95.

Recommending and evaluating choices in a virtual community of use, Hill, Stead, Rosenstein, and Furnas, in Proceedings of CHI '95.

Lecture 6: Some Applications, and Demo (1/27)

Electronic Commerce Recommendation Applications, Schafer, Konstan, and Riedl, in Journal of Data Mining and Knowledge Discovery. (See Table 1 on page 16 of the PDF download.)

Lecture 7: Case Study (1/29)

(Read this article after the class, to get a sense of what a consultant report should look like.) Sample Consultant Report on Message Recommending, by Paul Resnick.

Lecture 8: Item-Item Recommendations (2/3)

Amazon.com Recommendations: Item-to-Item Collaborative Filtering. Linden, Smith, and York, IEEE Internet Computing, 7:76--80, 2002.

Optional Readings:

Mining Association Rules Between Sets of Items in Large Databases. Agarwal, Imielinski, and Swami, Proceedings of ACM SIGMOD 1993

Lecture 9: PageRank; Other CF Algorithms (2/5)

The PageRank Citation Ranking: Bringing Order to the Web, Page, Brin, Motwani, and Winograd, Stanford Digital Libraries Technology Project.

Optional Readings:

Netflix Update: Try This at Home, Simon Funk/B. Webb. For an implementation of this, see the Math::Preference::SVD Perl module on CPAN.org.

Application of Dimensionality Reduction in Recommender Systems, Sarwar, Karypis, Konstan, and Riedl, Proceedings of ACM WebKDD 2001.

Lecture 10: Evaluation Metrics (2/10)

The Netflix Challenge prize rules. Read the "prize structure" section for the RMSE evaluation method.

Optional Readings:

Wikipedia article on ROC curve and related concept

Lecture 11: Explanations and Other Interface Extensions (2/12)

Making Recommendations Better: An Analytic Model of Human-Recommender Interaction, McNee, Riedl, and Konstan, Extended Abstract in Proceedings of ACM CHI 2006.

A Survey of Explanations in Recommender Systems, Tintarev and Masthoff, 2007 IEEE Data Engineering Workshop

Optional Readings:

Is seeing believing? How recommender Systems Influence Users' Opinions, Cosley, Lam, Konstan, Albert, Riedl, Proceedings of CHI 2003.

Lecture 12: Scalable Software; Manipulation (2/17)

Shilling Recommender Systems for Fun and Profit, Lam and Riedl, Proceedings of WWW2004.

Optional Readings:

Google news personalization: scalable online collaborative filtering, Das, Datar, Garg, and Rajaram, Proceedings of WWW2007. Don't worry if you can't follow all the math here -- try to understand the overall architecture.

Lecture 13: Manipulation; Privacy (2/19)

Shilling Recommender Systems for Fun and Profit, Lam and Riedl, Proceedings of WWW2004.

The Influence Limiter: Provably Manipulation-Resistant Recommender Systems, Resnick and Sami, Proceedings of ACM RecSys 2007

Optional Readings:

Collaborative Filtering with Privacy via Factor Analysis, John Canny, Proceedings of SIGIR 2002.

Suggested further readings

Toward the next generation of recommender systems: a survey of the state-of-the-art and possible extensions, survey paper by Adomavicius and Tuzhilin, IEEE Transactions on Knowledge and Data Engineering

The BellKor Solution to the Netflix Prize. Bell, Koren, and Volinsky. (The winner of the first Progress Prize in the Netflix Challenge).

Trust-Aware Collaborative Filtering for Recommender Systems. Massa and Avesani, in "On the move to meaningful internet systems 2004," Springer.

About the Creators

Portrait of Rahul Sami

Rahul Sami

Rahul Sami is Assistant Professor at the University of Michigan School of Information. Sami's research is focused on topics in the intersection of computer science and economics that arise in the study of Internet protocols and systems. Sami is interested in designing and analyzing incentive mechanisms, markets, and reputation systems to enable self-interested economic entities to cooperatively solve common goals, and in studying the distributed-computation problems that arise when mechanisms have to be computed in a network. He is also interested in other problems in theoretical computer science.

Before coming to SI, Sami was a post-doctoral associate in the Computer Science and Artificial Intelligence Laboratory at the Massachusetts Institute of Technology.

  • Ph.D. Computer Science, Yale University
  • MS Computer Science, Yale University
  • BTech Computer Science, Indian Institute of Technology, Bombay, India
Seaside Transportation Plan Map Recommendations

Image adapted from oregondot under a Creative Commons license: BY.

Term:
Winter 2009
Published:
February 16, 2010
Revised:
June 5, 2015

Syllabus

Document Title Creator Downloads License

Syllabus

Rahul Sami

Lectures

Document Title Creator Downloads License

Week 01: Intro to Recommender Systems

Rahul Sami

Week 02: Eliciting Ratings

Rahul Sami
Paul Resnick

Week 03: Implicit Ratings

Rahul Sami

Week 05: User-User Recommender

Rahul Sami

Week 06: Application and Implementation

Rahul Sami

Week 07: Case Study: Item-to-Item

Rahul Sami
Paul Resnick

Week 08: Item-to-Item; Page Rank

Rahul Sami
Paul Resnick

Week 09: Page Rank; Singular Value Decomposition

Rahul Sami

Week 10: Singular Value Decomposition; Evaluation Metrics

Rahul Sami

Week 11: Explanations and Interface Variations

Rahul Sami

Week 12: Explanations; Scalable Implementation; Manipulation

Rahul Sami

Week 13: Manipulation; Privacy

Rahul Sami

Miscellaneous

Document Title Creator Downloads License

Course/Resource Archive in Institutional Repository (October 2010)

Rahul Sami

Supplemental Readings

Document Title Creator Downloads License

Reading List

Rahul Sami