CLOSE
Original image

Inside the Netflix Recommendation Engine

Original image

Netflix makes a business out of getting subscribers to add tons of DVDs to a list of discs that will later be mailed out. Theoretically, the more discs in that list, the longer that subscriber will remain with the service, since new movies will just keep coming. So a big part of Netflix's business is recommending titles to subscribers based on what they've previously enjoyed. Netflix calls its recommendation system "Cinematch™."

In October 2006, Netflix announced The Netflix Prize, a $1 million cash award to anyone who could improve Cinematch™'s recommendation accuracy by 10%. What this "recommendation accuracy" bit means is: the system needs to get 10% better at predicting what a given user will think about a given movie, based on that user's prior movie preferences. Netflix asks users on its site to rank the movies it recommends (on a scale of 1 to 5 stars), and thus is able to mine this kind of data from daily usage.

Two weeks ago, The New York Times ran a fantastic article on Cinematch™ and The Netflix Prize. The Times profiled various programmers who are trying to improve the recommendation system's accuracy. Here's a snippet:

Each time he or his kids think of a new approach, [Len] Bertoni writes a computer program to test it. Each new algorithm takes on average three or four hours to churn through the data on the family's "quad core" Gateway computer. Bertoni's results have gradually improved. When I last spoke to him, he was at No. 8 on the leader board; his program was 8.8 percent better than Cinematch. The top team was at 9.44 percent. Bertoni said he thought he was within striking distance of victory.

But his progress had slowed to a crawl. The more Bertoni improved upon Netflix, the harder it became to move his number forward. This wasn't just his problem, though; the other competitors say that their progress is stalling, too, as they edge toward 10 percent. Why?

Bertoni says it's partly because of "Napoleon Dynamite," an indie comedy from 2004 that achieved cult status and went on to become extremely popular on Netflix. It is, Bertoni and others have discovered, maddeningly hard to determine how much people will like it. ...

Read the rest (and be sure to watch the accompanying video) for a surprisingly technical, but very readable, look into the technology behind recommendations.

Original image
iStock // Ekaterina Minaeva
technology
arrow
Man Buys Two Metric Tons of LEGO Bricks; Sorts Them Via Machine Learning
May 21, 2017
Original image
iStock // Ekaterina Minaeva

Jacques Mattheij made a small, but awesome, mistake. He went on eBay one evening and bid on a bunch of bulk LEGO brick auctions, then went to sleep. Upon waking, he discovered that he was the high bidder on many, and was now the proud owner of two tons of LEGO bricks. (This is about 4400 pounds.) He wrote, "[L]esson 1: if you win almost all bids you are bidding too high."

Mattheij had noticed that bulk, unsorted bricks sell for something like €10/kilogram, whereas sets are roughly €40/kg and rare parts go for up to €100/kg. Much of the value of the bricks is in their sorting. If he could reduce the entropy of these bins of unsorted bricks, he could make a tidy profit. While many people do this work by hand, the problem is enormous—just the kind of challenge for a computer. Mattheij writes:

There are 38000+ shapes and there are 100+ possible shades of color (you can roughly tell how old someone is by asking them what lego colors they remember from their youth).

In the following months, Mattheij built a proof-of-concept sorting system using, of course, LEGO. He broke the problem down into a series of sub-problems (including "feeding LEGO reliably from a hopper is surprisingly hard," one of those facts of nature that will stymie even the best system design). After tinkering with the prototype at length, he expanded the system to a surprisingly complex system of conveyer belts (powered by a home treadmill), various pieces of cabinetry, and "copious quantities of crazy glue."

Here's a video showing the current system running at low speed:

The key part of the system was running the bricks past a camera paired with a computer running a neural net-based image classifier. That allows the computer (when sufficiently trained on brick images) to recognize bricks and thus categorize them by color, shape, or other parameters. Remember that as bricks pass by, they can be in any orientation, can be dirty, can even be stuck to other pieces. So having a flexible software system is key to recognizing—in a fraction of a second—what a given brick is, in order to sort it out. When a match is found, a jet of compressed air pops the piece off the conveyer belt and into a waiting bin.

After much experimentation, Mattheij rewrote the software (several times in fact) to accomplish a variety of basic tasks. At its core, the system takes images from a webcam and feeds them to a neural network to do the classification. Of course, the neural net needs to be "trained" by showing it lots of images, and telling it what those images represent. Mattheij's breakthrough was allowing the machine to effectively train itself, with guidance: Running pieces through allows the system to take its own photos, make a guess, and build on that guess. As long as Mattheij corrects the incorrect guesses, he ends up with a decent (and self-reinforcing) corpus of training data. As the machine continues running, it can rack up more training, allowing it to recognize a broad variety of pieces on the fly.

Here's another video, focusing on how the pieces move on conveyer belts (running at slow speed so puny humans can follow). You can also see the air jets in action:

In an email interview, Mattheij told Mental Floss that the system currently sorts LEGO bricks into more than 50 categories. It can also be run in a color-sorting mode to bin the parts across 12 color groups. (Thus at present you'd likely do a two-pass sort on the bricks: once for shape, then a separate pass for color.) He continues to refine the system, with a focus on making its recognition abilities faster. At some point down the line, he plans to make the software portion open source. You're on your own as far as building conveyer belts, bins, and so forth.

Check out Mattheij's writeup in two parts for more information. It starts with an overview of the story, followed up with a deep dive on the software. He's also tweeting about the project (among other things). And if you look around a bit, you'll find bulk LEGO brick auctions online—it's definitely a thing!

Original image
iStock
Animals
arrow
Scientists Think They Know How Whales Got So Big
May 24, 2017
Original image
iStock

It can be difficult to understand how enormous the blue whale—the largest animal to ever exist—really is. The mammal can measure up to 105 feet long, have a tongue that can weigh as much as an elephant, and have a massive, golf cart–sized heart powering a 200-ton frame. But while the blue whale might currently be the Andre the Giant of the sea, it wasn’t always so imposing.

For the majority of the 30 million years that baleen whales (the blue whale is one) have occupied the Earth, the mammals usually topped off at roughly 30 feet in length. It wasn’t until about 3 million years ago that the clade of whales experienced an evolutionary growth spurt, tripling in size. And scientists haven’t had any concrete idea why, Wired reports.

A study published in the journal Proceedings of the Royal Society B might help change that. Researchers examined fossil records and studied phylogenetic models (evolutionary relationships) among baleen whales, and found some evidence that climate change may have been the catalyst for turning the large animals into behemoths.

As the ice ages wore on and oceans were receiving nutrient-rich runoff, the whales encountered an increasing number of krill—the small, shrimp-like creatures that provided a food source—resulting from upwelling waters. The more they ate, the more they grew, and their bodies adapted over time. Their mouths grew larger and their fat stores increased, helping them to fuel longer migrations to additional food-enriched areas. Today blue whales eat up to four tons of krill every day.

If climate change set the ancestors of the blue whale on the path to its enormous size today, the study invites the question of what it might do to them in the future. Changes in ocean currents or temperature could alter the amount of available nutrients to whales, cutting off their food supply. With demand for whale oil in the 1900s having already dented their numbers, scientists are hoping that further shifts in their oceanic ecosystem won’t relegate them to history.

[h/t Wired]

SECTIONS
BIG QUESTIONS
BIG QUESTIONS
WEATHER WATCH
BE THE CHANGE
JOB SECRETS
QUIZZES
WORLD WAR 1
SMART SHOPPING
STONES, BONES, & WRECKS
#TBT
THE PRESIDENTS
WORDS
RETROBITUARIES