Introduction to Recommender Systems

University of Minnesota

This course introduces the concepts, applications, algorithms, programming, and design of recommender systems--software systems that recommend products or information, often based on extensive personalization. Learn how web merchants such as Amazon.com personalize product suggestions and how to apply the same techniques in your own systems!

Recommender systems have changed the way people find products, information, and even other people. They study patterns of behavior to know what someone will prefer from among a collection of things he has never experienced. The technology behind recommender systems has evolved over the past 20 years into a rich collection of tools that enable the practitioner or researcher to develop effective recommenders. We will study the most important of those tools, including how they work, how to use them, how to evaluate them, and their strengths and weaknesses in practice.

The algorithms we will study include content-based filtering, user-user collaborative filtering, item-item collaborative filtering, dimensionality reduction, and interactive critique-based recommenders. The approach will be hands-on, with six two week projects, each of which will involve implementation and evaluation of some type of recommender.

In addition to topical lectures, this course includes interviews and guest lectures with experts from both academia and industry.

Two Ways to Take this Course:

This course is designed to support two different types of students and educational goals:

Programming Track:  Designed for students with significant programming and mathematics experience (see below), the programming track combines a conceptual and mathematical understanding of recommender systems with experience programming six different recommender systems projects.  Students completing this travel will gain the skills needed to implement basic recommenders from scratch, and to use software libraries and tools to implement more advanced recommenders.

Concepts Track:  Students who are not experienced programmers, or who are primarily interested in understanding the concepts and techniques of recommender systems, without learning to program them, can choose to focus on the conceptual and mathematical content, skipping the programming projects and associated lecture content.  Students in the concepts track are still expected to have significant familiarity with computing systems and college-level mathematics, but need not be accomplished programmers.  We expect this track to be useful for tech-savvy marketing and business leaders, as well as engineering managers who may oversee but not directly develop recommender systems.  We also hope it will be useful to those looking to understand recommender systems concepts without the workload associated with programming those systems. 

Syllabus

Topics covered:
Week 1:
Introduction to Course and to Recommender Systems
Weeks 2 and 3:
Non-Personalized Recommenders
Understanding Ratings, Predictions, and Recommendations
Scales and Normalization
Interview with Anthony Jameson (DFKI AI Labs) Weeks 4 and 5:
Content-Based Recommenders
Inferring Preferences
Unary Ratings
Knowledge-Based Recommenders
Introduction to LensKit Toolkit
Interviews with Robin Burke (DePaul University) and Barry Smyth (University College Dublin) Weeks 6 and 7:
Collaborative Filtering
User-User k-Nearest Neighbor Approach
Tuning CF Algorithms
Interviews with Paul Resnick (University of Michigan), Jen Golbeck (University of Maryland) and Dan Cosley(Cornell University) Weeks 8 and 9:
Evaluation and Metrics;
Error Metrics;
Decision-Support Metrics
Comparative Evaluation: Dead Data vs. Laboratory vs. Field Study
User-Centered Metrics and Evaluation
Data Sets
Interview with Neal Lathia (University of Cambridge) Weeks 10 and 11:
Collaborative Filtering II
Item-Item k-Nearest Neighbor
Business Rules
Adjustments for Serendipity and Diversity
Performance Comparisons
Hybrid Algorithms
Interviews with Brad Miller (Luther College) and Robin Burke (DePaul University) Weeks 12 and 13:
Dimensionality Reduction Recommenders
Concepts behind Latent Semantic Analysis and Singular Value Decomposition
Week 14:
Alternative Recommender Approaches
Interactive Recommenders
Critique and Dialog-based Approaches
Advanced Topics
Resources
Interview with Anthony Jameson (DFKI AI Labs), Francesco Ricci (Free University of Bozen-Bolzano), Xavier Amatriain (NetFlix) and Anmol Bhasin (LinkedIn)
Conclusion

Recommended Background

For the Concepts Track students should have a basic familiarity with college-level algebra and a general understanding of computer systems concepts.

For the Programming Track students should have significant skill in Java programming, basic data structures, college-level algebra, and the ability to install and manage sophisticated software development tools and libraries.  Programming track students will install and use significant open-source software tools. Therefore, a special lecture in the first week of class will identify the tool and installation options for various computing platforms.

Suggested Readings

Specific readings will be identified to accompany particular lectures or assignments.  All such readings will be available to students online.  Those interested in an introductory text are invited to consider Recommender Systems: An Introduction by Jannach et al.  

Course Format

Course content will consist of lecture videos (with PDFs of used slides available), online resources including review and research articles, and online discussion forums.  Additionally, we will be recording live Q&A and discussion sessions held with students enrolled for credit at the University of Minnesota; at those sessions, we will be addressing many of the top-scoring questions from the class forums. 

Course evaluation will include three components:  written assignments, quizzes, and programming assignments (programming track only).  While many assignments will be automatically graded, some will use peer grading; students must complete peer grading to earn credit for their own submission. 


FAQ

Will I get a Statement of Accomplishment for this Course?

Yes, students who complete the course with sufficiently high scores will receive a Statement of Accomplishment signed by the instructors.  For the programming track, we will award a certificate of distinguished accomplishment to students who receive 80% or more of the possible points in the course.  We will award a certificate of accomplishment to any student who receives 50% or more of the total points possible in the course -- a level that can be achieved by students in the concepts track as well.  

会期:
  • 2013年9月03日, 14 星期
介绍:
  • 免费:
  • 收费:
  • 证书:
  • MOOC:
  • 视频讲座:
  • 音频讲座:
  • Email-课程:
  • 语言: 英语 Gb

反馈

目前这个课程还没有反馈。您想要留第一个反馈吗?

请注册, 为了写反馈

Show?id=n3eliycplgk&bids=695438
已经在列表:
Small-icon.hover Machine Learning
Machine learning: from the basics to advanced topics. Includes statistics...
NVIDIA
还有这个题目的:
Small-icon.hover Organizational Analysis (Self-Paced)
In this introductory, self-paced course, you will learn multiple theories of...
Extensionflag Systems Programming and Machine Organization
This course covers the fundamentals of computer systems programming...
Cyber_jen Usable Security
This course focuses on how to design and build secure systems with a human-centric...
Principles_of_computing_final Principles of Computing
This course introduces the basic mathematical and programming principles that...
122820_c532_6 Life Impact: Presentation/Selling confidence & communication by Seán Brickell
A proven psychological & practical confidence & communication training...
还有标题«工程科学»:
Regular_e43a8f30-65ab-4ca0-be29-0885c6232610 Building a Future with Robots
Explore the role of robots and autonomous systems in the factories, homes, hospitals...
Regular_aff4cca2-6ed7-47d3-a142-04cd74524847 Challenges in Antibiotic Resistance: Gram Negative Bacteria
This course by BSAC is for healthcare professionals managing infections. You...
Regular_c8f9ad07-d725-4ea2-8fad-4bc795f096cb Precalculus: the Mathematics of Numbers, Functions and Equations
Gain an introduction to the essential mathematical knowledge and skills required...
Regular_a82712b5-ece9-4d0c-b37f-8a1427e62f33 Data Science in the Games Industry
Learn how the games industry can use big data to enhance the gaming experience...
Regular_cb4150ad-bc3f-4745-8e31-3db6ceec8563 Written in Bone: An Introduction to Forensic and Bio-archaeology
Learn to use human skeletal analysis to read and uncover the story behind human...
还有Coursera:
Success-from-the-start-2 First Year Teaching (Secondary Grades) - Success from the Start
Success with your students starts on Day 1. Learn from NTC's 25 years developing...
New-york-city-78181 Understanding 9/11: Why Did al Qai’da Attack America?
This course will explore the forces that led to the 9/11 attacks and the policies...
Small-icon.hover Aboriginal Worldviews and Education
This course will explore indigenous ways of knowing and how this knowledge can...
Ac-logo Analytic Combinatorics
Analytic Combinatorics teaches a calculus that enables precise quantitative...
Talk_bubble_fin2 Accountable Talk®: Conversation that Works
Designed for teachers and learners in every setting - in school and out, in...

© 2013-2019