IEEE Spectrum October, 2012 - 58

recommendation odyssey: An
Amazon user interested in 2001: A Space
Odyssey sees suggestions from three
different collaborative recommenders.

braised short ribs four and a half
stars, fried chicken wings two stars,
cold tofu rolls one star, roasted portobello mushroom five stars, steamed
edamame with sea salt four stars,
and so forth.
A recommender using the matrix
wouldn't really care about your
particular rating of a particular food,
however. Instead, it wants to understand your preferences in general terms, so that it can apply
this knowledge to a wide variety of foods. For instance, given
the above, the recommender might conclude that you like beef,
salty things, and grilled dishes, dislike chicken and anything
fried, are neutral on vegetables, and so on. The number of
such taste attributes or dimensions would be much smaller
than the number of possible foods-there might be 50 or 100
dimensions in all. And by looking at those dimensions, a recommender could quickly determine whether you'd like a new
food-say, salt-crusted prime rib-by comparing its dimensions (salty, beef, not chicken, not fried, not vegetable, not
grilled) against your profile. This more general representation allows the recommender to spot users who prefer similar
yet distinct items. And it substantially compresses the matrix,
making the recommender more efficient.

It's a pretty cool solution.
But how do you find those taste
dimensions? Not by asking a
chef. Instead, these systems use
a mathematical technique called
singular value decomposition
to compute the dimensions.
The technique involves factoring the original giant matrix
into two "taste matrices"-one
that includes all the users and
the 100 taste dimensions and
another that includes all the
foods and the 100 taste dimensions-
plus a third matrix that, when multiplied by either of the other two, re-creates the original matrix.
Unlike the food example above, the dimensions that get
computed are neither describable nor intuitive; they are pure
abstract values, and try as you might, you'll never identify
one that represents, say, "salty." And that's okay, as long as
those values ultimately yield accurate recommendations.
The main drawback to this approach is that the time it takes
to factor the matrix grows quickly with the number of customers and products-a matrix of 250 million customers and
10 million products would take 1 billion times as long to factor as a matrix of 250 000 customers and 10 000 products.
And the process needs to be repeated frequently. The matrix
starts to grow stale as soon as new ratings are received;
at a company like Amazon, that happens every second.
Fortunately, even a slightly stale matrix works reasonably

Inspiring the Future

Donate and Enable the Impact of IEEE through IEEE Foundation

EducATIon * InnoVATIon * PrEsErVATIon
Your generous donations motivate students and young professionals,
enable innovators to make a difference, promulgate technology's influence
on the world and inspire the future.

IEEE Foundation
Dedicated to providing philanthropic services to support the core purpose
of IEEE-Advancing Technology For Humanity.
Visit ieeefoundation.org to learn more.

Be an inspiration. donate Today. ieee.org/donate
58

NA * Ieee Spectrum * october 2012

spectrum.ieee.org


http://www.ieeefoundation.org http://www.ieee.org/donate http://spectrum.ieee.org

Table of Contents for the Digital Edition of IEEE Spectrum October, 2012

IEEE Spectrum October, 2012 - Cover1
IEEE Spectrum October, 2012 - Cover2
IEEE Spectrum October, 2012 - 1
IEEE Spectrum October, 2012 - 2
IEEE Spectrum October, 2012 - 3
IEEE Spectrum October, 2012 - 4
IEEE Spectrum October, 2012 - 5
IEEE Spectrum October, 2012 - 6
IEEE Spectrum October, 2012 - 7
IEEE Spectrum October, 2012 - 8
IEEE Spectrum October, 2012 - 9
IEEE Spectrum October, 2012 - 10
IEEE Spectrum October, 2012 - 11
IEEE Spectrum October, 2012 - 12
IEEE Spectrum October, 2012 - 13
IEEE Spectrum October, 2012 - 14
IEEE Spectrum October, 2012 - 15
IEEE Spectrum October, 2012 - 16
IEEE Spectrum October, 2012 - 17
IEEE Spectrum October, 2012 - 18
IEEE Spectrum October, 2012 - 19
IEEE Spectrum October, 2012 - 20
IEEE Spectrum October, 2012 - 21
IEEE Spectrum October, 2012 - 22
IEEE Spectrum October, 2012 - 23
IEEE Spectrum October, 2012 - 24
IEEE Spectrum October, 2012 - 25
IEEE Spectrum October, 2012 - 26
IEEE Spectrum October, 2012 - 27
IEEE Spectrum October, 2012 - 28
IEEE Spectrum October, 2012 - 29
IEEE Spectrum October, 2012 - 30
IEEE Spectrum October, 2012 - 31
IEEE Spectrum October, 2012 - 32
IEEE Spectrum October, 2012 - 33
IEEE Spectrum October, 2012 - 34
IEEE Spectrum October, 2012 - 35
IEEE Spectrum October, 2012 - 36
IEEE Spectrum October, 2012 - 37
IEEE Spectrum October, 2012 - 38
IEEE Spectrum October, 2012 - 39
IEEE Spectrum October, 2012 - 40
IEEE Spectrum October, 2012 - 41
IEEE Spectrum October, 2012 - 42
IEEE Spectrum October, 2012 - 43
IEEE Spectrum October, 2012 - 44
IEEE Spectrum October, 2012 - 45
IEEE Spectrum October, 2012 - 46
IEEE Spectrum October, 2012 - 47
IEEE Spectrum October, 2012 - 48
IEEE Spectrum October, 2012 - 49
IEEE Spectrum October, 2012 - 50
IEEE Spectrum October, 2012 - 51
IEEE Spectrum October, 2012 - 52
IEEE Spectrum October, 2012 - 53
IEEE Spectrum October, 2012 - 54
IEEE Spectrum October, 2012 - 55
IEEE Spectrum October, 2012 - 56
IEEE Spectrum October, 2012 - 57
IEEE Spectrum October, 2012 - 58
IEEE Spectrum October, 2012 - 59
IEEE Spectrum October, 2012 - 60
IEEE Spectrum October, 2012 - 61
IEEE Spectrum October, 2012 - 62
IEEE Spectrum October, 2012 - 63
IEEE Spectrum October, 2012 - 64
IEEE Spectrum October, 2012 - 65
IEEE Spectrum October, 2012 - 66
IEEE Spectrum October, 2012 - 67
IEEE Spectrum October, 2012 - 68
IEEE Spectrum October, 2012 - 69
IEEE Spectrum October, 2012 - 70
IEEE Spectrum October, 2012 - 71
IEEE Spectrum October, 2012 - 72
IEEE Spectrum October, 2012 - 73
IEEE Spectrum October, 2012 - 74
IEEE Spectrum October, 2012 - 75
IEEE Spectrum October, 2012 - 76
IEEE Spectrum October, 2012 - 77
IEEE Spectrum October, 2012 - 78
IEEE Spectrum October, 2012 - 79
IEEE Spectrum October, 2012 - 80
IEEE Spectrum October, 2012 - Cover3
IEEE Spectrum October, 2012 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1217
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1117
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1017
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0917
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0817
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0717
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0617
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0517
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0417
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0317
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0217
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0117
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1216
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1116
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1016
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0916
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0816
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0716
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0616
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0516
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0416
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0316
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0216
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0116
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1215
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1115
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1015
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0915
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0815
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0715
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0615
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0515
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0415
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0315
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0215
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0115
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1214
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1114
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1014
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0914
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0814
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0714
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0614
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0514
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0414
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0314
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0214
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0114
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1213
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1113
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1013
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0913
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0813
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0713
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0613
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0513
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0413
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0313
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0213
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0113
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1212
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1112
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1012
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0912
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0812
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0712
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0612
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0512
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0412
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0312
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0212
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0112
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1211
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1111
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1011
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0911
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0811
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0711
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0611
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0511
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0411
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0311
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0211
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0111
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1210
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1110
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1010
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0910
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0810
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0710
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0610
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0510
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0410
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0310
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0210
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0110
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1209
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1109
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1009
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0909
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0809
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0709
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0609
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0509
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0409
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0309
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0209
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0109
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1208
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1108
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1008
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0908
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0808
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0708
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0608
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0508
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0408
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0308
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0208
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0108
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1207
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1107
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1007
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0907
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0807
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0707
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0607
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0507
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0407
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0307
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0207
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0107
https://www.nxtbookmedia.com