<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-1878415438972163529</id><updated>2009-10-01T10:10:41.976-04:00</updated><title type='text'>Pragmatic Theory</title><subtitle type='html'>This blog contains random thoughts about team &lt;a href="http://pragmatictheory.googlepages.com/"&gt;PragmaticTheory&lt;/a&gt;'s participation in the &lt;a href="http://www.netflixprize.com//index"&gt;netflix prize&lt;/a&gt;.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://pragmatictheory.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default'/><link rel='alternate' type='text/html' href='http://pragmatictheory.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>PragmaticTheory</name><uri>http://www.blogger.com/profile/03649152994150377282</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1878415438972163529.post-1014791598523549903</id><published>2009-10-01T09:51:00.004-04:00</published><updated>2009-10-01T10:10:41.985-04:00</updated><title type='text'>Netflix Grand Prize technical presentation</title><content type='html'>&lt;div&gt;The slides that we used for the Netflix Grand Prize technical presentation on September 21, 2009 are available &lt;a href="http://pragmatictheory.googlepages.com/NetflixPragmaticTheoryV6.pdf"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1878415438972163529-1014791598523549903?l=pragmatictheory.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pragmatictheory.blogspot.com/feeds/1014791598523549903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1878415438972163529&amp;postID=1014791598523549903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/1014791598523549903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/1014791598523549903'/><link rel='alternate' type='text/html' href='http://pragmatictheory.blogspot.com/2009/10/netflix-grand-prize-technical.html' title='Netflix Grand Prize technical presentation'/><author><name>PragmaticTheory</name><uri>http://www.blogger.com/profile/03649152994150377282</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09671624379744012532'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1878415438972163529.post-3532518089639338357</id><published>2009-07-28T10:25:00.001-04:00</published><updated>2009-07-28T10:28:54.350-04:00</updated><title type='text'>By a nose... or is it a hair...</title><content type='html'>&lt;div&gt;Wow. What a crazy 24 hours that was.&lt;br /&gt;&lt;br /&gt;After being quietly confident about our position but utterly nervous about the general silence on the leaderboard, we were struck by lightning when the newest coalition of coalitions, The Ensemble, submitted an entry just above ours, taking over first place merely 24 hours before the contest deadline. We were, of course, expecting the other parties to come to an agreement and join forces, but we were somehow hoping that they would come up short.&lt;br /&gt;&lt;br /&gt;Well, with 24 hours to go and at least 0.01% to come up with, we weren't going to go down without a fight. Many people offered their help (a big thanks to all that did). Predictors were blended in. New techniques were tried out. Code was written. Nothing seemed to be helping to tip the scale... In the end, with less than a half hour to go, Yehuda and Martin P. scraped up a few new predictors, Michael and Andreas worked some more blending magic and we barely made it to a 10.09% tie for first. We had accomplished the day's mission and were now hoping that our test set score would be good enough to edge out a win.&lt;br /&gt;&lt;br /&gt;Four short minutes before the end of the competition, another lightning bolt. The Ensemble had submitted at 10.10% and had appeared to have sealed the deal. We could now only pray that they had overfit the quiz set. We too had done our fair share of quiz set blending, but we had the advantage of having had a month's worth of experiments to tweak the regularization. Now, the contest was over anyway, it was out of our hands and all we could do was wait.&lt;br /&gt;&lt;br /&gt;The wait was excruciating. Without much enthusiasm emails were exchanged internally. Hope was slim. Then the word came out on twitter that the Ensemble had won. It was over. We had lost.&lt;br /&gt;&lt;br /&gt;All of a sudden, when we were no longer expecting it, an email from Netflix came in... &lt;em&gt;Subj: "Netflix Prize Grand Prize Verification"&lt;/em&gt;... &lt;em&gt;"Congratulations! The test subset performance of your team ”BellKor's Pragmatic Chaos” on the following submission makes your team the current top contender for the Grand Prize."&lt;/em&gt;... Sorrow turned into Joy... We had succeeded. We couldn't believe it. After having lost all hope, we had come out on top. Now the only thing standing between us and the Grand Prize was the verification process. Truly an amazing and unexpected finish.&lt;br /&gt;&lt;br /&gt;We won't know the details of the test set results for a little while, but it's possible that we actually finished with the same test score as The Ensemble. If that is the case, then the tie breaker would be the submission time of those tied entries, which are most likely both the ones from July 26th. That would mean that we have the lead only because we submitted our final result 20 minutes before theirs. Almost three years of competition may have come down to 20 short minutes. Again, amazing.&lt;br /&gt;&lt;br /&gt;As we enter the evaluation process, we would like to thank everyone for their participation in this contest. In the end, there can only be one winner, but it wouldn't have been such a great competition without everyone else out there that worked long and hard hours on this crazy project. We have met truly great and interesting people along the way. Walking this long and winding road with all of you was certainly the best part of this adventure.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1878415438972163529-3532518089639338357?l=pragmatictheory.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pragmatictheory.blogspot.com/feeds/3532518089639338357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1878415438972163529&amp;postID=3532518089639338357' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/3532518089639338357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/3532518089639338357'/><link rel='alternate' type='text/html' href='http://pragmatictheory.blogspot.com/2009/07/by-nose-or-is-it-hair_28.html' title='By a nose... or is it a hair...'/><author><name>PragmaticTheory</name><uri>http://www.blogger.com/profile/03649152994150377282</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09671624379744012532'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1878415438972163529.post-3319017491465619759</id><published>2009-06-23T21:19:00.001-04:00</published><updated>2009-06-26T15:07:07.029-04:00</updated><title type='text'>What's in a name?</title><content type='html'>As most of our readers must have already seen, we made a big splash today by forming a coalition with our closest competitors. There will be time to answer all of the burning questions about the joined team, but for now, I would like to start on a lighter note: the team name.&lt;br /&gt;&lt;br /&gt;While &lt;strong&gt;BellKor's Pragmatic Chaos&lt;/strong&gt; may not be the sexiest of names, in the end, it was chosen because we felt that it best served the main purpose which was to give credit to each joining team and to provide instant recognition of what the new team represented. Also, it had a better ring to it than some other combinations like &lt;em&gt;Pragmatic BellKor Chaos&lt;/em&gt; or &lt;em&gt;PT in BK in BT&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;This was a tough decision, because we came up with quite a few creative ideas. Here is a rundown of all the names that were discussed along the way. Credit goes out to all members of the coalition.&lt;br /&gt;&lt;br /&gt;First runner up:&lt;br /&gt;&lt;em&gt;The Usual Suspects&lt;/em&gt; - This idea stems from a quote in the movie Casablanca ("Round up the usual suspects"). While this is certainly a catchy name, we (PT) didn't feel that it included us entirely because we have not been recognized officially in the past, so are not immediate "usual suspects".&lt;br /&gt;&lt;br /&gt;Second runner up:&lt;br /&gt;&lt;em&gt;Million Dollar Baby&lt;/em&gt; - A most appropriate movie reference. This was the early favorite, but was eliminated because we felt that putting emphasis on the financial aspect didn't represent the spirit of the contest or of our coalition. This is also why we eliminated &lt;em&gt;Show Me The Money&lt;/em&gt; as a potential name.&lt;br /&gt;&lt;br /&gt;Category cocky:&lt;br /&gt;&lt;em&gt;Resistance is Futile&lt;/em&gt; - With the release of the new Star Trek movie, we thought that this quote was pretty cool... but perhaps a bit too aggresive.&lt;br /&gt;&lt;em&gt;The Dream Team&lt;/em&gt; - Again, a bit too arrogant, but this one is also a funny movie reference. Imagine a bunch of patients in a psychiatric ward working on the Netflix prize...&lt;br /&gt;&lt;em&gt;Catch Us If You Can&lt;/em&gt; - Another movie reference, but we didn't want to tempt people into actually catching us...&lt;br /&gt;&lt;br /&gt;Category movie quotes:&lt;br /&gt;&lt;em&gt;Gonna Need a Bigger Boat&lt;/em&gt; (Jaws) - I love this one... I can imagine 7 guys from around the globe, that don't know each other too much, piled into this small life raft trying to get away from this huge shark... "Yeah, hmmm, I think we're gonna need a bigger boat here..."&lt;br /&gt;&lt;br /&gt;Other suggested quotes:&lt;br /&gt;&lt;em&gt;Not in Kansas Anymore&lt;/em&gt;  (Wizard of Oz)&lt;br /&gt;&lt;em&gt;Go Ahead, Make My Day&lt;/em&gt; (Sudden Impact)&lt;br /&gt;&lt;em&gt;Like A Box of Chocolates&lt;/em&gt; (Forrest Gump )&lt;br /&gt;&lt;em&gt;Another Nice Mess&lt;/em&gt; (Laurel and Hardy)&lt;br /&gt;&lt;em&gt;The Kindness of Strangers&lt;/em&gt; (Streetcar Named Desire)&lt;br /&gt;&lt;br /&gt;Miscellaneous: &lt;br /&gt;&lt;em&gt;Going All In&lt;/em&gt; - I actually liked this poker reference a lot... how it indicated that this was the final hand, win or lose.&lt;br /&gt;&lt;em&gt;All Aboard&lt;/em&gt;&lt;br /&gt;&lt;em&gt;First and Ten&lt;/em&gt;&lt;br /&gt;&lt;em&gt;Mission accomplished&lt;/em&gt;&lt;br /&gt;&lt;em&gt;42&lt;/em&gt; - The answer to life, the universe and everything. &lt;br /&gt;&lt;em&gt;A small step for math&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;You see, us engineers, math wizes and scientists can also be creative... but in the end, we do make the most logical choice... that's just the way we are.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1878415438972163529-3319017491465619759?l=pragmatictheory.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pragmatictheory.blogspot.com/feeds/3319017491465619759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1878415438972163529&amp;postID=3319017491465619759' title='24 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/3319017491465619759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/3319017491465619759'/><link rel='alternate' type='text/html' href='http://pragmatictheory.blogspot.com/2009/06/whats-in-name.html' title='What&apos;s in a name?'/><author><name>PragmaticTheory</name><uri>http://www.blogger.com/profile/03649152994150377282</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09671624379744012532'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>24</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1878415438972163529.post-6011187542082874346</id><published>2009-05-03T20:37:00.000-04:00</published><updated>2009-05-03T21:33:15.341-04:00</updated><title type='text'>Netflix working on top secret project?</title><content type='html'>The people at Netflix are a clever bunch. Very clever indeed. All this time, they have led us to believe that the goal of this contest was to improve their movie recommendation engines. Well we, at Pragmatic Theory, have uncovered the truth behind this sham.&lt;br /&gt;&lt;br /&gt;The reality is that the goal of this contest is to keep the brightest minds in the world occupied, working on this futile project, so that their scientists can be the first to complete work on their real mission: time travel.&lt;br /&gt;&lt;br /&gt;This might sound a bit unrealistic, and you may ask us "Do you have any proof sir?"... oh but of course... yes, we have discovered hard evidence that, not only are they working on a time travel machine, but in fact, they have already found a breach in the space-time continuum...... on with the facts.&lt;br /&gt;&lt;br /&gt;By closely examining the Netflix dataset, one can find that 7 movies have a release year of NULL. While this is strange in itself, and puzzled us at first, we fortunately found help in the good old &lt;a href="http://www.netflixprize.com/community/viewtopic.php?id=212"&gt;Netflix prize forum&lt;/a&gt;. Some great people have corrected this obvious mistake by finding the proper DVD release years. But here's the kicker... upon examining the dataset closer, it seems that many customers have rated these movies two, three, even four years before their actual release date. To us, the only logical explanation is that Netflix has a working time portal and has allowed a select few customers the piviledge to use it. Of course, these movie buffs did the only logical thing when being propelled into the future... rent some new releases.&lt;br /&gt;&lt;br /&gt;What? This isn't enough proof? Ahh but there's more...&lt;br /&gt;&lt;br /&gt;In this other &lt;a href="http://www.netflixprize.com/community/viewtopic.php?id=943"&gt;post on the forum&lt;/a&gt;, the prizemaster indicates that it is OK to use the data published as part of the KDD cup 2006. This is an additional set of ratings of the same movies, by the same users, but in the year 2006. Great! More data is good. But wait a minute... close examination of the dataset shows that 6 customer-movie pairs are found both in the Netflix prize quiz set AND in the KDD cup set... how can these people have rated the same movie in 2005 AND in 2006... bingo. Time travel. &lt;br /&gt;&lt;br /&gt;Oh, I can hear you from here: "People are allowed to re-rate movies on the Netflix site"... ahhhh but why would someone re-rate a movie, only to give it the same rating? Impossible.&lt;br /&gt;&lt;br /&gt;Those Netflix chaps thought they had it all planned out... good thing that we have uncovered this little plot... now perhaps we can beat them to the punch... if I can just find a street long enough to get this DeLorean to hit 88 MPH...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1878415438972163529-6011187542082874346?l=pragmatictheory.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pragmatictheory.blogspot.com/feeds/6011187542082874346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1878415438972163529&amp;postID=6011187542082874346' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/6011187542082874346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/6011187542082874346'/><link rel='alternate' type='text/html' href='http://pragmatictheory.blogspot.com/2009/05/netflix-working-on-top-secret-project.html' title='Netflix working on top secret project?'/><author><name>PragmaticTheory</name><uri>http://www.blogger.com/profile/03649152994150377282</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09671624379744012532'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1878415438972163529.post-6922855810378439148</id><published>2009-03-13T20:59:00.000-04:00</published><updated>2009-03-13T22:21:56.243-04:00</updated><title type='text'>Friday The 13th</title><content type='html'>&lt;em&gt;[LP]Hey, I saw you finally made it to number one in that netflix contest. Did you implement that idea I gave you... you know, the one where you boost the ratings of horror films on Friday the 13th?&lt;br /&gt;[PT] (sigh)&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;No we didn't use movie metadata in our final push to number one. Instead, we relied on our original methodology... As the full moon sailed high, at midnight on Friday the 13th, we slaughtered a goat and offered its liver up to the gods...&lt;br /&gt;&lt;br /&gt;Seriously, we're very happy about our recent progress and achieving this milestone in a little over a year. Thanks to everyone who has supported our team in various ways. Since we don't know how long we'll be on top, we captured this moment for posterity: &lt;a href="http://pragmatictheory.googlepages.com/numberone"&gt;http://pragmatictheory.googlepages.com/numberone&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Now I'll go back to my BBQ. That goat will make a great roast.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1878415438972163529-6922855810378439148?l=pragmatictheory.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pragmatictheory.blogspot.com/feeds/6922855810378439148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1878415438972163529&amp;postID=6922855810378439148' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/6922855810378439148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/6922855810378439148'/><link rel='alternate' type='text/html' href='http://pragmatictheory.blogspot.com/2009/03/friday-13th.html' title='Friday The 13th'/><author><name>PragmaticTheory</name><uri>http://www.blogger.com/profile/03649152994150377282</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09671624379744012532'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1878415438972163529.post-947105085343993132</id><published>2009-03-03T20:46:00.000-05:00</published><updated>2009-03-04T12:45:03.696-05:00</updated><title type='text'>All the way around the sun...</title><content type='html'>&lt;em&gt;Thirty-one million five-hundred-thirty-six thousand seconds ago, we were two guys with an itch and a bit of spare time.&lt;br /&gt;Five-hundred-twenty-five thousand six hundred minutes ago, we read an article about an intersting contest.&lt;br /&gt;Eight thousand seven hundred sixty hours ago, we got a couple of ideas.&lt;br /&gt;Three-hundred and sixty-five days ago, we knew nothing about collaborative filtering or matrix factorization.&lt;br /&gt;Fifty-two weeks ago, we wondered how far engineering could take us in this world full of scholars, PhDs and other geniuses.&lt;br /&gt;Twelve months ago, we decided to give it a shot.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Today marks the one year anniversary of team Pragmatic Theory.&lt;br /&gt;&lt;br /&gt;Let's take to look back at some of the intersting milestones we achieved this year:&lt;br /&gt;- March 9th 2008 : First submission ever. Not very impressive: 0.9862 &lt;br /&gt;- May 10th 2008: Cracking the top 40. A little over 2 months in: 0.8822&lt;br /&gt;- June 1st 2008: Cracking the top 10. The hill is getting steeper: 0.8731&lt;br /&gt;- June 18th 2008: Above the Progress Prize 2007 line. Sixth place: 0.8707&lt;br /&gt;- June 20th 2008: Cracking the top 5. June was a good month: 0.8699&lt;br /&gt;- September 8th 2008: Second Place. Not for very long: 0.8655&lt;br /&gt;- November 21st 2008: New-York Times article revealing that we are, indeed, geeks.&lt;br /&gt;- December 26th 2008: Back in second place and top individual team. Merry Christmas: 0.8620&lt;br /&gt;- January 11th 2009: Breaking the Progress Prize 2008. Things are getting interesting: 0.8614&lt;br /&gt;- February 27th 2009: When you type "pragmatic the" in Google, it actually suggests "pragmatic theory netflix".&lt;br /&gt;&lt;br /&gt;To mark this wonderful anniversary, we decided to reveal some of our secrets. Follow this &lt;a href="http://pragmatictheory.googlepages.com/progress2"&gt;link&lt;/a&gt; to find out more.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1878415438972163529-947105085343993132?l=pragmatictheory.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pragmatictheory.blogspot.com/feeds/947105085343993132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1878415438972163529&amp;postID=947105085343993132' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/947105085343993132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/947105085343993132'/><link rel='alternate' type='text/html' href='http://pragmatictheory.blogspot.com/2009/03/all-way-around-sun.html' title='All the way around the sun...'/><author><name>PragmaticTheory</name><uri>http://www.blogger.com/profile/03649152994150377282</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09671624379744012532'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1878415438972163529.post-8146003965717815955</id><published>2009-02-12T22:04:00.000-05:00</published><updated>2009-02-12T22:20:36.073-05:00</updated><title type='text'>8756</title><content type='html'>We have been working recently on variants of BellKor's integrated model as described in their 2008 progress prize paper. We obtained results very similar from the published numbers: our implementation achieved 0.8790 RMSE on the Quiz Set (f=200), compared to the reported 0.8789.&lt;br /&gt;&lt;br /&gt;This model proved superior to our own flavor of integrated model. However, what is interesting is that we were able to leverage the best of both models and combine them together. This combined model achieved a Quiz set RMSE of 0.8756 (f=200). This is, to our knowledge, the best reported number for a model without blending. On today's leaderboard, this would achieve the 47th rank by itself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1878415438972163529-8146003965717815955?l=pragmatictheory.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pragmatictheory.blogspot.com/feeds/8146003965717815955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1878415438972163529&amp;postID=8146003965717815955' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/8146003965717815955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/8146003965717815955'/><link rel='alternate' type='text/html' href='http://pragmatictheory.blogspot.com/2009/02/8756.html' title='8756'/><author><name>PragmaticTheory</name><uri>http://www.blogger.com/profile/03649152994150377282</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09671624379744012532'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1878415438972163529.post-2970641994539321923</id><published>2008-12-10T19:59:00.000-05:00</published><updated>2008-12-10T21:02:55.167-05:00</updated><title type='text'>Progress Prize 2008</title><content type='html'>&lt;p&gt;The long awaited Progress Prize 2008 as finally been awarded. Of course, I immediately rushed to download the supporting papers and learn what is in the new super-accurate model discussed on BellKor’s web, and what other goodies are in BellKor’s and BigChaos’ solution. If you haven’t checked the papers yet, do it before continuing to read this (references can be found in the NetflixPrize forum).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;It appears that what’s new in 2008 is mostly about exploiting the dates. BellKor’s 2007 solution used the date in the global effects, but that was about it. It seems logical that 2008 brings more ways of making use of it. That’s not a surprise: much of PragmaticTheory’s recent improvement has been about using dates too. Still, there are differences, so we’ll see where that leads us. I know what I’ll be doing over the Christmas Holidays.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;What worries me is the approach using billions of parameters. My poor home PC can’t do that. Running Windows XP Home Edition, a process is limited to about 1.6 GB of memory (2GB application address space minus the address space lost due to DLL mapping). With about 400MB used for the training data (typically), that leaves about 150M double precision parameters, far from the required number. Going single precision raises the number to 300M, still far short.  Running from disk is my only option, but the poor disk is almost full!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;What’s funny is that 10 billion parameters is not only much larger than the training data size (roughly 100 million ratings), but it is even larger than the 17770 movies X 480189 users (approximately 8.5 billion) problem space. Still, the model introduces a third dimension (time) with 2243 different dates, resulting in a problem space of 2243 X 17770 X 480189 = 19139 billion (almost the cost of a bank bailout). Fair enough, but I still have to ask Santa for a new PC.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Enough rambling, I need to write some code. We’ve been falling behind…&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Martin for PragmaticTheory&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1878415438972163529-2970641994539321923?l=pragmatictheory.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pragmatictheory.blogspot.com/feeds/2970641994539321923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1878415438972163529&amp;postID=2970641994539321923' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/2970641994539321923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/2970641994539321923'/><link rel='alternate' type='text/html' href='http://pragmatictheory.blogspot.com/2008/12/progress-prize-2008.html' title='Progress Prize 2008'/><author><name>PragmaticTheory</name><uri>http://www.blogger.com/profile/03649152994150377282</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09671624379744012532'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1878415438972163529.post-7330003907436667748</id><published>2008-10-14T22:34:00.001-04:00</published><updated>2008-10-14T22:35:02.669-04:00</updated><title type='text'>There is evil there that does not sleep; the Great Eye is ever watchful.</title><content type='html'>Singular Value Decompostion. SVD. This is one of the most talked about and documented algorithms used in the Netflix challenge. It is one of great simplicity... but also of great power.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Applied to the Netflix data in it's most basic form, the SVD is a method which automatically assigns a number of factors to each movie and the corresponding factors to each user. Movie factors basically represents aspects of a movie which has influenced user ratings in the sample set. User factors reprensent how much each user is influenced by those specific aspects of the movies. And the magic comes from the fact that, by optimizing on the training data set, the aspects that most influence users are discovered automatically.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This algorithm is not only very good at predicting future user ratings, it also gets very interesting when you analyse its results. One way to look at the SVD results is to build movie lists by sorting them along the different factors and then taking the extremities (top and bottom movies for each factor). To support this blog, we ran an SVD with 8 factors and published such &lt;a href="http://pragmatictheory.googlepages.com/svd8movielists"&gt;movie lists&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Categorizing movies this way can be fun. Seeing some of my favorite movies &lt;em&gt;Fight Club&lt;/em&gt;, &lt;em&gt;Seven&lt;/em&gt;, &lt;em&gt;American Beauty&lt;/em&gt;, &lt;em&gt;Memento&lt;/em&gt; and &lt;em&gt;Jackass&lt;/em&gt; &lt;span style="font-size:78%;"&gt;(don't judge me for liking to watch idiots hurt themselves...)&lt;/span&gt;&lt;span style="font-size:100%;"&gt; bunched in a specific category (factor 3) is pretty cool. But for me, this analysis gets interesting when you think about what this can tell you about users. I'm sure people don't realize when they rate movies like this, that they're actually giving the site a lot of information about themselves (and not just their taste in movies).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For example, if someone has a very high value for factor 1, I would bet a lot of money that they wear skirts and makeup &lt;span style="font-size:78%;"&gt;(I would've said that they were women, but I didn't want to offend anyone)&lt;/span&gt;. Also, I'm pretty sure that churches, NRA meetings and republican conventions are litered with low raking factor 3s &lt;span style="font-size:78%;"&gt;(my arch nemesis)&lt;/span&gt;&lt;span style="font-size:100%;"&gt; and low ranking factor 6s. Conversly, I'm sure the democrats would find some supporters in low ranking factor 8s. This analysis is somewhat naive and simplistic, but with some additional work, I'm sure sex, age, race, income, etc. could be inferred with fairly high accuracy, simply by analysing people's movie ratings.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So next time you're registering on a web site and think you're going under-cover by not filling out the demographic information, think again... the Great Eye is ever watchful.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Perhaps this is why all these ad-placement companies keep sending us job offers. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1878415438972163529-7330003907436667748?l=pragmatictheory.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pragmatictheory.blogspot.com/feeds/7330003907436667748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1878415438972163529&amp;postID=7330003907436667748' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/7330003907436667748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/7330003907436667748'/><link rel='alternate' type='text/html' href='http://pragmatictheory.blogspot.com/2008/10/there-is-evil-there-that-does-not-sleep.html' title='There is evil there that does not sleep; the Great Eye is ever watchful.'/><author><name>PragmaticTheory</name><uri>http://www.blogger.com/profile/03649152994150377282</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09671624379744012532'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1878415438972163529.post-8746978239976900151</id><published>2008-09-08T20:10:00.000-04:00</published><updated>2008-09-08T20:16:37.895-04:00</updated><title type='text'>9%</title><content type='html'>Well, we finally reached the 9% improvement mark today. We have been trying to achieve this milestone for a while now. Surprisingly, it did not come out of a new algorithm. The final step was the result of a minor improvement to an algorithm we implemented last spring. Progress is slow, sometimes it seems like 10% is going to take forever, if at all possible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1878415438972163529-8746978239976900151?l=pragmatictheory.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pragmatictheory.blogspot.com/feeds/8746978239976900151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1878415438972163529&amp;postID=8746978239976900151' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/8746978239976900151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/8746978239976900151'/><link rel='alternate' type='text/html' href='http://pragmatictheory.blogspot.com/2008/09/9.html' title='9%'/><author><name>PragmaticTheory</name><uri>http://www.blogger.com/profile/03649152994150377282</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09671624379744012532'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1878415438972163529.post-222505117694449324</id><published>2008-08-03T21:20:00.000-04:00</published><updated>2008-08-04T21:47:16.444-04:00</updated><title type='text'>You want the truth, you can't HANDLE the truth!</title><content type='html'>Movie data. Most of the top teams competing in the netflix challenge must have had to answer a lot of questions about movie data. Here is an actual conversation I had with a friend a couple of weeks ago &lt;span style="font-size:78%;"&gt;(Note that I had had a few beers at the time, so don't go to court with any of these quotes)&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;"[Lay Person -&lt;span style="font-size:78%;"&gt; Not the actual name of the person&lt;/span&gt;]: Hey, so I heard you're competing in that netflix challenge thing. Pretty cool.&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[Pragmatic Theory]: Yeah.&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[LP]: So what kind of data do you get?&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[PT]: Movie titles and years, user identification number, rating and date of rating.&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[LP]: That's it? No information on movie genre or anything?&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[PT]: Nope.&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[LP]: That's strange... isn't it really important to predict user ratings? &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[PT]: (*having a sip, knowing where this is going*)&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[LP]: Hey! I have an idea! Did you guys think of mining this information on IMDB or something?&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[PT]: Well, actually, external movie data is not useful. The algorithms find the proper classifications automatically.&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[LP]: (*pause*) Huh?&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[PT]: For example, the movie genre on a site like Netflix, Amazon or IMDB is the opinion of one person on how movies should be categorized. The algorithms actually find categories that indicate how movies influence all users.&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[LP]: (*dumb look* - &lt;span style="font-size:78%;"&gt;LP has also had a few drinks&lt;/span&gt;) But wouldn't your algorithms just be better with more data?&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[PT]: Believe me, movie data is really not useful.&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[LP]: (*looking unconvinced*) OK... you're sure?... huh.... Really?&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[PT]: (*having a bigger sip*)&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[LP]: OK then... What about user information? Do you have any of that? I'm sure if you knew user's sex, age group and such, that would help to make predictions... and I'm sure netflix asks that when you register... men and women don't have the same tastes in movies, that's for sure (*unconfortable laugh*)&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[PT]: Nope, no user information either. And that wouldn't be useful anyway. The algorithms actually find these type of user classifications automatically too... &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[LP]: (*dumb struck*) Wha?&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[PT]: Movie or user data is just not helpful because the different algorithms are just too good at capturing the details and nuances that influence user ratings... Believe me, we tried!&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[LP]: (*stares in disbelief and walks away thinking that I don't understand this problem and that he would do better...*)&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;[PT]: (*chugging the rest of my beer*)"&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;A couple of months ago, that could have been me arguing with someone about the usefulness of external movie data. Team PragmaticTheory was actually founded with the belief that we could do better than other teams because we did not have this pre-conceived notion that movie data was useless. We would implement all the machine learning algorithms, then add some data from various sources... and we would surely beat out the top teams and win the million... Boy, were we wrong!&lt;br /&gt;&lt;br /&gt;One of the first things I did on this project was to mine a couple of sites &lt;span style="font-size:78%;"&gt;(talk to my lawyers to find out how and which ones)&lt;/span&gt; to see if we could get good coverage on the movies in the dataset. I actually did pretty well and we got a good set of movie data to play with. This data was actually useful in the first few weeks. The models using it did better than some of our early pure machine learning algorithms. Unfortunately, as soon as we started implementing some of the more common, documented algorithms, the movie-data-based models got pruned out of the mix. We tried to get a bit fancier and build some more complex algorithms around the movie data. Still, the pure machine learning ones are systematically better.&lt;br /&gt;&lt;br /&gt;Why? Well, my interpretation is that movie data is just too black and white. User tastes are infinite shades of grey &lt;span style="font-size:78%;"&gt;(think floating point shades of grey)&lt;/span&gt;. It's not true that someone likes all sci-fi movies. And no one can enjoy all the Tom Hanks movies equally. But the algorithms can figure out the subtle nuances that define user rating patterns. It can figure out that you really like sci-fi comedies that have a happy ending, but that you enjoy the sci-fi/horror genre, where one of the main characters dies, a bit less. It can also figure out that you're a huge fan of Tom Hanks, but that you hate sappy girly flicks... so even if your favorite man is there, there's no saving &lt;em&gt;Sleepless In Seattle&lt;/em&gt; and &lt;em&gt;You've Got Mail&lt;/em&gt; from being sent to the junk pile.&lt;br /&gt;&lt;br /&gt;My explanation is a bit simplistic, but honestly, to anyone out there that still has any doubts that extra movie data may be useful to predict user ratings, I say that you have to have faith in the machine. It's just smarter than we are.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1878415438972163529-222505117694449324?l=pragmatictheory.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pragmatictheory.blogspot.com/feeds/222505117694449324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1878415438972163529&amp;postID=222505117694449324' title='19 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/222505117694449324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/222505117694449324'/><link rel='alternate' type='text/html' href='http://pragmatictheory.blogspot.com/2008/08/you-want-truth-you-cant-handle-truth.html' title='You want the truth, you can&apos;t HANDLE the truth!'/><author><name>PragmaticTheory</name><uri>http://www.blogger.com/profile/03649152994150377282</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09671624379744012532'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>19</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1878415438972163529.post-8960635066106524178</id><published>2008-07-26T08:05:00.000-04:00</published><updated>2008-07-26T08:13:45.753-04:00</updated><title type='text'>Blending 101</title><content type='html'>&lt;em&gt; (a.k.a. why one submission a day is enough)&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Serious attempts at the Netflix challenge require blending results from many algorithms. Blending is an operation that transforms multiple estimates into a single higher accuracy estimate.  This is a brief tutorial of the steps involved. Experienced Netflix participants should not bother to read further.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 1: construct a reduced training set&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To blend the models, you need to construct a reduced training set by excluding from Netflix provided training set all ratings present in the probe set.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 2: train you different models on the reduced training set&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;For now we train each individual model on the reduced training set. Later we will re-train all the models on the full training set.   To re-train in a consistent way, it is critical to record carefully at this step all the parameters used, the number of training epoch, etc.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 3: predict the probe set&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;For each model trained on the reduced training set, predict the probe set.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 4: select you favorite blending recipe&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This step receives as input the predicted probe set results from each model, and the real probe set ratings. The output is a function that mixes the individual model predictions into a blended prediction, hopefully better than any individual result. A simple linear regression will get you a long way, but feel free to experiment with your favorite machine learning algorithm. What is key here, is that any unknown coefficient (for example the linear regression coefficients) can be selected to minimize the error between the blended prediction and the real probe set scores.&lt;br /&gt;&lt;br /&gt;N.B. If over fitting the blending function is an issue, partition the probe set in two. Use one part for training the function, and the other for cross-validation.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 5: re-train all models using the full training set&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;At this point, we are preparing for our final predictions. To get the best possible accuracy, we re-train all models using the full training set. The addition of the probe set data in the training data can result in an accuracy boost of 0.0060 or more.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 6: blend the re-trained models&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Here's the leap of fate. We assume that the blending function we computed at step 4 is still a valid function to blend the re-trained models. For this to work, the two sets of models must be computed with a rigorously equivalent methodology. Also, the selected function from step 4 must be a valid generalization and avoid over fitting. This is not an issue with a simple linear regression, but may become problematic for complex machine learning methods with many degrees of freedom.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 7: clamp the final predictions&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Here's a hint: clamping values between 1 and 5 is not optimal.&lt;br /&gt;&lt;br /&gt;If this well done, then improvements in the models can be measured after step 4 by comparing the accuracy on the probe set. Values on the qualifying set will be better by 0.0060 or more, but this offset should be very consistent from one submission to another.  Lately I have been getting 0.0068 +/- 0.0001.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1878415438972163529-8960635066106524178?l=pragmatictheory.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pragmatictheory.blogspot.com/feeds/8960635066106524178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1878415438972163529&amp;postID=8960635066106524178' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/8960635066106524178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/8960635066106524178'/><link rel='alternate' type='text/html' href='http://pragmatictheory.blogspot.com/2008/07/blending-101.html' title='Blending 101'/><author><name>PragmaticTheory</name><uri>http://www.blogger.com/profile/03649152994150377282</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09671624379744012532'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1878415438972163529.post-8620564632634847414</id><published>2008-07-22T13:34:00.000-04:00</published><updated>2008-07-24T17:43:26.393-04:00</updated><title type='text'>A little humor to start things off...</title><content type='html'>Here is the text from the web page we initially wanted to put up:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;PragmaticTheory : Solving the netflix challenge through divination...&lt;br /&gt;&lt;br /&gt;Following the concepts of numerology, team PragmaticTheory was formed on July 7th, 2007 (7/7/7) and started working on the netflix challenge 7 months, 7 weeks and 7 days later. The team consists of 2 human beings with respectively 2 eyes, 2 arms, 2 legs and, most importantly, 2 powerfully energized shakras.&lt;br /&gt;&lt;br /&gt;Our strategy is not to use un-proven techniques such as mathematics, matrixes and algorithms. Instead, we are tapping into the universe's hidden powers to uncover user's force fields in order to forecast their ratings with high accuracy. Skeptics will most likely dismiss our techniques as mere superstition, but we think that the progress that we've made so far on the netflix leaderboard speaks for itself.&lt;br /&gt;&lt;br /&gt;Here are some more details on the divination methods that our team uses:&lt;br /&gt;&lt;br /&gt;- Saggitarius Virgo Decomposition (SVD) : The astralogical signs of the users in the dataset are captured through astral vibration sensors and cross-referenced with star maps and tide charts to predict future movie ratings.&lt;br /&gt;&lt;br /&gt;- Asymmetrical Tea-Leaf Models : An array of tea kettles and cups were used to generate 50 million tea-leaf patterns which were individually digitally photographed. A pattern recognition software was implemented to detect assymetries and assign weights accordingly.&lt;br /&gt;&lt;br /&gt;- Red-King Black-Queen Machine (RBM) : Tarot spreads were simulated for each user in the dataset and their fate interpreted through an automated karma analyser. Sadly, thousands of users were declared dead at the time of their predicted rating, yielding major sparsness issues...&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1878415438972163529-8620564632634847414?l=pragmatictheory.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pragmatictheory.blogspot.com/feeds/8620564632634847414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1878415438972163529&amp;postID=8620564632634847414' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/8620564632634847414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1878415438972163529/posts/default/8620564632634847414'/><link rel='alternate' type='text/html' href='http://pragmatictheory.blogspot.com/2008/07/little-humor-to-start-things-off.html' title='A little humor to start things off...'/><author><name>PragmaticTheory</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry></feed>