Reminders
Course Calendar ICS
Upcoming Deadlines
Recent Discussions
Thread title |
|---|
|
Announcements
Course Wrapup
There were1109 SoA's issued, of which 477 were "with distinction." Congratulations to all those who completed the course. We know you worked hard.
The Final Exams
There are two new discussion groups that have been set up for the finals. The first is for reporting errors on the final. Please be reasonably sure there is an error, and explain why you think your answer is correct. The second, which should be read just before you open one of the finals, will contain information about errors or explanations about the meaning of questions if we have not changed the final itself.
Two things to bear in mind:
- The exam is open-book. Any inanimate source can be used.
- There is no penalty for wrong guesses.
Best of luck to everyone!
Week 7 Materials
- More about Locality-Sensitive Hashing: The "bands" technique for LSH that we learned in Week 2 is actually just a special case of a more general technique. We cover this theory in the first two videos. The next four videos look at a completely different approach to LSH, which is preferable when we are looking for sets of very high Jaccard similarity. This idea appears in the next four videos.
- More about Link Analysis: The last seven videos explore some extensions to the PageRank idea from Week 1. These include the "Hubs and Authorities" expansion of PageRank, and how one deals with "Web spam," techniques that have been devised to subvert the purpose of PageRank in focusing users on important pages.
Homework
We again have two homeworks, one basic and one advanced. Note that unlike all the other homeworks, the hard deadline and the soft deadline are the same: a minute before midnight on Monday, March 30th.
Readings
- For LSH: Sect. 3.6, 3.7, 3.9
- For Link Analysis: Sect. 5.3 - 5.5.
Week 6 Materials
- Support-Vector Machines, The first six videos talk about one of the most powerful techniques available for large-scale machine learning.
- Decision Trees. This is one of the oldest forms of machine-learning, but there are issues that come up when the data size is large. We cover these in the next five videos.
- MapReduce Algorithms. The last four videos deal with how one designs a good algorithm to run under MapReduce. They also discuss the limitations of MapReduce algorithms, and why these are not just any parallel algorithm.
There are also two new homeworks, one basic, one advanced.
Readings
- Support-Vector machines are in Sect. 12.3. You might also want to read Sect. 12.2 on Perceptrons as an introduction.
- Decision Trees are not really covered in the book, except briefly in Sect. 9.2.7 and 12.1.3.
- The new material on MapReduce is in Sect. 2.3, 2.5.1, 2.5.2, and 2.6.
Week 5 Materials
1. Clustering (the first five videos). The problem is to take large numbers of points and group them into a small number of groups so that points are much closer to other points in their group than to points in other groups. This subject, although it has a long history, is sometimes referred to by the retronym "unsupervised learning," because you "learn" something about the data without needed a training set.
2. Computational Advertising (the last four videos). The problem is to select ads to show with other information, typically answers to search queries. Usually, the proprietor (e.g., Google) is paid only if there is a click on the ad. Advertisers bid on searches with certain words, and the system selects the ads to maximize its income. Doing so involves not only considering the bids, but the budgets of advertisers (if we do not show an ad, will the same advertiser have another chance to place the ad?) and the likelihood that this ad will be clicked.
Readings
Sect. 7.1 through 7.4, all of Ch. 8.
Homework
We again have two homeworks, A is advanced and B is basic. Note that the advanced homework contains one question from week 4's materials.
Week 4 Materials
The next four videos deal with latent semantic analysis, the idea that there is a small number of hidden factors that characterize both individuals and items. An example (which surprisingly turns out NOT to be very effective as a predictor) is to categorize movies by genres (e.g., sci-fi, romance) and at the same time characterize what genres individual viewers like. However, there are algorithms for handling large amounts of data and finding a small number of good hidden factors to characterize both individuals and the items they like/hate.
The final eight videos deal more generally with the problem of decomposing very large matrices into products of matrices with at least one small dimension. The "small" dimension corresponds to the hidden factors like movie genre. We cover well-known technique called SVD (singular-value decomposition). SVD is, in a realistic sense, optimal for a given number of hidden factors. However, when the given matrix is large but sparse, as would be the case for a matrix of viewers versus the movies they rate (there are lots of viewers, lots of movies, but the typical viewer only rates a small fraction of the movies), SVD suffers from the problem that the matrices of the decomposition, while they have one small dimension, are normally dense, so we're not simplifying things as much as we hoped. A recent approach called "CUR decomposiion" tries to remedy this problem by decomposing a large, sparse matrix into three smaller matrices, the two larger of which are themselves sparse.
Homeworks
There are three homeworks, labeled "Week 4A", "Week 4B" and "Finding Similar Sentences". "Week 4A" and "Week 4B" are both basic homeworks (this is the only week with the unusual situation of having two basic homeworks). "Finding Similar Sentences" is an optional and challenging programming assignment that won't affect your final grade. We encourage you to do it.
Readings
All of Ch. 9 and Sect. 11.2 through 11.4.
Week 3 Materials
- Communities in Social Networks: The first 12 videos cover this topic. Intuitively, "communities" are sets of individuals in a network like Facebook friends, that have an unusually high density of edges. The first four videos are part of the basic track, and cover machine-learning techniques for finding the best set of "overlapping communities," following the intuition that people generally belong to more than one community, e.g., their high-school friends, their coworkers, etc. Videos 5-12 are part of the advanced track. They use concepts from linear algebra to explain how to break graphs optimally (i.e., break the fewest edges) into disjoint "communities."
- Stream Algorithms: "Streams" are data inputs to a system that arrive at a very high rate, typically too fast to do anything significant with each arriving input. Examples include data beamed down from a satellite, or click streams for a popular Web site. In this model, it is often necessary to accept a less-than-accurate answer to questions such as "how many different items have I seen at least once in this stream?" The last five videos cover algorithms in the stream model.
Basic Vs. Advanced
We would like you to remember that we have divided the work into two levels, "basic" and "advanced." There are certain videos that are designated [Advanced] in their title, and you are able to skip these if you are willing to forgo the SoA "with distinction." If you are not sure, we suggest you watch the videos and try to do the homeworks that are designated advanced.
Readings
Sect. 10.1 through 10.5, Sect. 4.1 through 4.6.
Homeworks for Week 3
There are three homeworks this week:
1. "Week 3A" is advanced.
2. "Week 3B" is basic.
3. "PageRank" is an optional programming assignment. It won't affect your final grade but we encourage you to do it in order to start implementing scalable algorithms on real data.
Week 2 Materials
- Locality-Sensitive Hashing: (First 7 videos) This is the first half of discussion of a powerful technique for focusing search on things that are likely to be relevant, while avoiding the examination of things unlikely to be what we are looking for, in much the way ordinary hashing gets us to records we want without looking through an entire database. This subject will continue in week 7.
- Nearest-Neighbor Learning: (8th video) The course will cover several different techniques for large-scale machine learning. This single video discusses a simple example that is useful in many situations.
- Frequent Itemsets: (Last 4 videos) Often called "association rules," we shall learn a number of techniques for finding items that appear unusually often together. The classical story of "beer and diapers" (people who buy diapers in a supermarket are unusually likely to buy beer) is an example of this data-mining technique.
Sources of Useful Information
If you have not seen them, we recommend you check out the Coursera Course Page for the class at https://www.coursera.org/course/mmds It gives you the syllabus, the prerequisites, and a link to the free MMDS book. Much of this is repeated in the "Syllabus" and "Grading and Logistics" items in the left menu of the home page for the class https://class.coursera.org/mmds-002 Also remember to check out the Welcome post (scroll down on the class home page), which gives you useful information about the basic and advanced tracks, how the homework is managed, the grading policy for the course, how homework deadlines work, and a few other details.
Basic and Advanced Tracks
This week, there will be a difference in the level of work between the basic and advanced tracks. We have three homeworks, labeled Week 2A, 2B, and 2C. Everyone is expected to do 2A and 2B. However, 2C is designated as "advanced," and is based on the last two videos ("Improvements to A-Priori" and "All-or-Most Frequent Itemsets"), which are also designated as advanced topics. You should do the advanced work if you hope to get a statement of accomplishment (SoA) with distinction.
Programming Project
We shall also publish this week an interesting programming project. It is completely optional and does not affect your ability to earn a SoA. However, it should give you a feeling of how the choice of algorithm does matter when it comes to handling big data. Note: All programming assignments will appear under the same tab as Homeworks.
Readings
If you are using the MMDS text, the following sections are relevant to this week's material:
- Locality-Sensitive Hashing: Sect. 3.1 through 3.5.
- Nearest-Neighbor Learning Sect. 12.4
- Frequent Itemsets: 6.1 and 6.2 are basic; 6.3 and 6.4 are advanced.
There is a lot of video to watch this week, even if you only follow the "basic" track. This level of work is not going to be typical. In particular, for the third week there are few videos for the basic track, and even those following the advanced track will find less work to do.
Getting Hold of "Big Data"
It is generally difficult to get owners of large, interesting datasets to share them with the world. They generally want a license agreement with each individual or with an institution. Stanford cannot act for the participants in a MOOC in this way. However, one exception that might be of interest to those who want to try out some of the algorithms we teach is the Yahoo Webscope collection that you can obtain here: http://webscope.sandbox.yahoo.com/catalog.php
Important Course Survey
We would like to find out more about your background and motivation for taking this course. To this end, we created a short course survey for you. We encourage you to take it at the beginning of the class. There will also be a quick check-in survey later in the course.
Thanks and see you in class!
- Jure, Anand, and Jeff
Welcome to MMDS
The first week is devoted to two topics:
- MapReduce: A programming system for easily implementing parallel algorithms on commodity clusters. This material is in the first four videos available for the week.
- Link Analysis: The remaining seven videos discuss the PageRank algorithm that made Google more effective than previous search engines.
Basic and Advanced Material All videos and homeworks are classified as "Basic" or "Advanced." Videos of the latter kind are labeled explicitly. For the first week, only one of the videos, the 4th on Combiners, is Advanced. In order to get a Statement of Accomplishment (SoA), you will have to get at least 50% of the marks on the homeworks labeled "basic" and on the basic final; homeworks and the final contribute equally to your grade. To get the SoA "with distinction," you need to get at least 80% of the marks on both basic and advanced homeworks. There will also be an additional part of the final that covered advanced material. Again, homework and final count equally.
How the Homework Operates Our homeworks use the Gradiance technology, where you are expected to solve each problem before you select from the choices given. You are allowed to repeat a homework as many times as you like (well actually there is a limit of 100 tries, but nobody has ever reached the limit), and your score will be the maximum of all submissions. Each time you try a homework, you get the same questions, but the choices are different. If you make a mistake, you are given some hint or an explanation of why your choice was wrong, and you repeat the homework. Thus, the goal is to get 100% on each homework and to learn as you do so. Hint: try to solve the problems and write down the solutions on scratch paper before you select your answers on the homework page itself. That way, if you have a question right, you should be able to select the correct answer quickly, no matter how many times you retry the homework.
Rhythm of the Course The materials for each week will be made available at 00:01 on a Saturday, starting with Saturday September 12, 2015. All times are Pacific Time (GMT -7:00, and later GMT -8:00 when we go off daylight time on November first). Homeworks are due on Monday night 11:59PM, 16 days after they are delivered. For example, HW 1 is due Monday September 28, 11:59PM, and the homeworks for week 2 will be due Monday October 5, 11:59PM. These are what Coursera refers to as "soft deadlines." You can get full credit only if you submit by the soft deadline. However, the hard deadline for all homeworks (except for the last two weeks'), will be seven weeks after the beginning of the course, that is, Monday Nov. 2, 11:59PM. The eighth week will be for people to catch up with the lectures, and the ninth week is "finals week"; you are expected to take the final exam (or exams if you go for "distinction") sometime during that week, from Monday November 9, 00:01 through Sunday November15, 11:59PM. Note: Coursera has the ability to give late days, but we are not using that feature. Each homework has a soft and hard deadline. Prior to the soft deadline, you get full credit. Between the soft and hard deadlines, you get half credit.
Readings We recommend the following readings in the MMDS book (www.mmds.org) for the first week: Sections 2.1, 2.2, 5.1, and 5.2.
