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
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
Document Title | Creator | Downloads | License |
---|---|---|---|
Syllabus |
Rahul Sami
|
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
|
Document Title | Creator | Downloads | License |
---|---|---|---|
Course/Resource Archive in Institutional Repository (October 2010) |
Rahul Sami
|
Document Title | Creator | Downloads | License |
---|---|---|---|
Reading List |
Rahul Sami
|