Introduction to Recommender Systems

开始时间: 04/22/2022 持续时间: Unknown

所在平台: CourseraArchive

课程类别: 信息,技术与设计

大学或机构: University of Minnesota(美国明尼苏达大学)

课程主页: https://www.coursera.org/course/recsys

课程评论: 3 个评论

评论课程        关注课程

课程详情

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.

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. 

课程大纲

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
Weeks 4 and 5:
Content-Based Recommenders
Inferring Preferences
Unary Ratings
Knowledge-Based Recommenders
Introduction to LensKit Toolkit
Weeks 6 and 7:
Collaborative Filtering
User-User k-Nearest Neighbor Approach
Tuning CF Algorithms
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
Weeks 10 and 11:
Collaborative Filtering II
Item-Item k-Nearest Neighbor
Business Rules
Adjustments for Serendipity and Diversity
Performance Comparisons
Hybrid Algorithms
Weeks 12 and 13:
Dimensionality Reduction Recommenders
Concepts behind Latent Semantic Analysis and Singular Value Decomposition
Advanced Dataset Concepts
Week 14:
Alternative Recommender Approaches
Interactive Recommenders
Critique and Dialog-based Approaches
Advanced Topics
Resources
Conclusion

课程评论(3条)

2

gycheng 2014-01-15 20:02 2 票支持; 0 票反对

明尼苏达大学是最早开始推荐系统研究的几所学校之一。还有那个鼎鼎大名的数据集Movielens也是出自这里,实际上课程所有编程作业的数据集也是取自Movielens系统,只不过这次用户和评分来源于上课的学生在第一次课后的打分。

内容:课程从概述、非个性化推荐、基于用户的推荐、评估、基于物品的推荐、降维等几个方面进行讲解。整个课程总共14周,平均到每个部分也就只有2周的时间,虽然课程视频非常多,但是每部分也只能做到了解基本概念和最常用的算法,更多细节和深入研究就只能靠大家课余自修了。关于推荐系统那些需要翻故纸堆的历史、发展脉络和基本概念老师可是讲得非常清楚呢,对于想补上基本概念这块的孩纸是值得一听的。这门课比较有意思的地方是课程中的那些interview,可以说推荐系统方面方向活跃的知名人物都有请到,虽然由于时间关系以及谈论的内容要与当时课程刚讲过的相关,所以访谈的内容比较浅,很多只是蜻蜓点水,但还是非常难得,里面有许多可以深入思考的点。由于课程过程中,恰逢ACM recsys会议在香港召开,专门有一次视频是老师讲了他们筹备第一次recsys会议的事情,以及请这次去参会的同学谈收获。有兴趣了解那次会议内容的也可以看看豆瓣阿稳同学的论文导读( http://www.wentrue.net/blog/?p=1557 )。事实上,recsys课程是秋季开课,如果下次依旧会做网络公开课的话,课程进行中还是会遭遇在加州召开的下一届recsys。大家总是能从这个课程中听到一些recsys最新的发展动态。

视频:长啊好长啊,时常出现40分钟甚至1个小时的视频,尤其以评估那部分为最,真的是看得累死我了。两个老师语速都不快,也没有奇怪的口音,赶时间或者着急的同学可以把视频播放速度调到1.25倍甚至1.5倍,即便这样还是会比那些语速快的老师慢,但是调再快我觉得会出现变调的问题,听着不舒服。
视频部分如果说有什么不满,就是每次课后问答的视频,总是听不清提问的学生问的问题,每次都是听着老师的回答再猜问题。要是能听清问题,自己先思考一下答案会更好。

作业:分为编程和论述题,中间因为大家对peer view意见好大,也出过一次选择题。
编程题,由于两个讲师中的Michael D Ekstrand是lenskit的开发者,所以编程作业和很多关于编程部分的讲述都是基于lenskit的。唉,以难用著称的lenskit啊~虽然最终都是上传结果,不用框架自己用python或者R什么的也可以完成作业。但是还是会觉得不爽啊,有讲lenskit使用的时间多讲些算法方面的细节多好。在老师谈及是否会再次开课中,说要看Michael的时间,其实我到觉得换个可以让大家自己编写算法的老师,对后面同学其实是件好事。恩,我是框架的anti粉,所以这事就不辩论了。我看过的那篇很腹黑的关于recsys各个开源软件评价的blog找不到了,放个CSDN上的温和评价凑数吧。( http://blog.csdn.net/cserchen/article/details/14231153 )
写作题,这部分题主要是从决策者和架构师的角度来描述、设计推荐系统。在论坛上被很多同学所诟病的peer review指的就是这部分。其实我个人还蛮喜欢peer review的,当然给别人打分数是一件挠头的事情,自己得到的分数和自己预期的会不一样。但是其实也没有差那么多,每次writing assignment在总成绩中占6分,的确有我预期自己的分数应该大于5,最终分数就是5分的时候;但也有我以为自己只能拿到5分多点,实际却拿到6分的惊喜状况出现。何况对课件学习多上一些心,在两次exam中弥补那1分的偏差是非常容易的事情。peer review还意味着你会看到其他人的设计、分析,看到其他人是如何分析问题的,时间允许的情况下,每次review的时候我都会尽量多看几份。大家的作业都写的很认真,有些想法和设计也很有新意。而且老师事先写的评分指南,实际也是我们在设计系统时,应如何循序渐渐逐渐深入思考问题的指南。
除了算分数的两部分作业,我特别要赞一下的是视频中的Quiz(直接下载视频看的同学就看不到这部分了)。Quiz题目出得很好,都是对前面讲的那部分的总结,或者容易辨识不清的知识点,也是两次测验的热身,测验也是同样形式的选择题。当然测验的题目和Quiz是绝对不会重复的。

评分系统:总分100分,由编程题、写作题和两次考试组成。可以拿到SOA证书的条件是总分大于50分。课程分为所有作业都做的Programming Track和只做写作作业的Concepts Track。其中参加Concepts Track的同学,能拿到的满分是64分,在这种情况下,如果想拿到证书的话,对考试就一定要认真对待了,不要错得太离谱,考试的内容包括授课内容和访谈。看了几个得49,49.5分没有拿到证书的孩纸在论坛哭诉的帖子,被诟病的peer review的得分都不低,但是两次exam的分数就。。。

恩,最后说一下这门课适合的人群,理工科的大学生上着应该都没问题,包括经管类的同学。即使只上Concepts Track,只要仔细听课,拿到证书应该是没问题的。

最后贴一下 @MrDeadline 备份的课件 http://pan.baidu.com/s/1sjGrV2l 给有兴趣的同学,即使再次开课也是2014年秋季,没有这么快会听到消息啦。

2

MrDeadline 2013-12-28 11:01 2 票支持; 0 票反对

很辛苦的拿到证书。因为自己的研究方向是推荐系统,为了这门课开始MOOC。主讲人是RecSys领域的大牛,movielens提供的数据不仅RecSys的学者再用,很多DB的paper也用它做实验。

这门课和我同时在上的另一门密歇根安娜堡的Social Network Analysis相比,学习量大了非常多。作业多,课后阅读材料也非常多。主讲人想把RecSys的所有方面都讲到,但是感觉面铺的太广了,反而有的点不是很深入。课程和作业都涉及到他们的框架lenskit,但是我觉得比起使用这些框架,允许学员自己编写算法了解原理比调用框架效果更好吧。这也是为什么论坛上很多人不适用lenskit而用python和R完成作业的原因。peer review的作业很失败,题目出的很好,原因出在学员互相评分的标准不统一,很多学生在论坛上投诉。

许多人注册这门课是想学到更多ML的东西,最后失望的离开。但是我觉得主讲人的思路挺不错,不仅仅集中于算法,还提供了很多和这个领域的学者从业人员交流的video,作业里也体现了很多决策的思想,让学生从决策者和架构师的角度了解为什么要采用这种推荐算法,怎么赢利,怎么评估。

根据最后的video来看,这门课未来不一定开放了,研究推荐系统的同学赶紧找已注册的朋友备份下课程资料。

3

课程图谱 2013-07-15 18:36 3 票支持; 0 票反对

这门课程在微博介绍之后得到了很多同学的关注和转发,并且有些同学还提供了很有价值的信息,记录在这里,供大家参考:

@SmartWeb-王绪刚: 明尼苏达大学可以说是现代推荐引擎的发源地,不仅有多位著名的教授如,Joseph A Konstan,John Riedl 等,与Amazon同期提出了item-based CF,而且还公开了MovieLens, Wikilens等许多数据集,为早期的推荐引擎研究提供了数据条件,鼠标宣言,最早的推荐引擎服务公司,都是他们搞的

@gycheng: 原来是去年在ACM Learning webinar讲recsys的那位啊,报告视频已经找不到了,Q&A可以看这里http://t.cn/zQ4pmqg

课程简介

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!

课程标签

推荐系统 推荐系统导论 推荐系统入门 推荐 明尼苏达大学 推荐系统课程 推荐系统算法 推荐系统编程 推荐系统应用 推荐系统设计 推荐系统概念

203人关注该课程

主题相关的课程