<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en">
<head>
  <title>the all-thing</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <link rel="stylesheet" href="/static/style.css" type="text/css" />
  <link rel="alternate" type="application/rss+xml" title="the all-thing RSS feed" href="/index.rss" />
  <link rel="alternate" type="text/plain" title="the all-thing in plain text" href="/index.txt" />
  <script type="text/javascript" src="/static/mootools.js"></script>
  <script type="text/javascript" src="http://music.masanjin.net:9292/waxiest.js"></script>
</head>
<body>

<div id="main">
  <div id="header">
    <h1><a  href="/">the all-thing</a></h1>
    
  </div>
  <div id="sidebar">
    <h3>Recent comments</h3>

    <ul class="sidebar-list">
    
    <li><b><a  href="/whisper-0.5#58174069c046a78e55f02ef81da81e74">Dominique Julia</a></b>
        <i><a  href="/whisper-0.5">Whisper 0.5 released</a></i>
           one week ago
    </li>
    
    <li><b><a  href="/ruby-ncurses-and-thread-blocking#8fa2a0f392d7c0562d630e4936407c11">William Morgan</a></b>
        <i><a  href="/ruby-ncurses-and-thread-blocking">Ruby, Ncurses and blocked threads</a></i>
           three months ago
    </li>
    
    <li><b><a  href="/git-wtf-bf06ab7-released#533654a7a229569e27a6d0afd716c444">William Morgan</a></b>
        <i><a  href="/git-wtf-bf06ab7-released">git wtf bf06ab7 released</a></i>
           three months ago
    </li>
    
    <li><b><a  href="/git-wtf-bf06ab7-released#b7b7a905477674eb6985b34a964a0dca">Joao Nelas</a></b>
        <i><a  href="/git-wtf-bf06ab7-released">git wtf bf06ab7 released</a></i>
           three months ago
    </li>
    
    <li><b><a  href="/ruby-ncurses-and-thread-blocking#b00001114360ac152f87d4ac2a6e0c5b">Ollivier Robert</a></b>
        <i><a  href="/ruby-ncurses-and-thread-blocking">Ruby, Ncurses and blocked threads</a></i>
           three months ago
    </li>
    
    </ul>

    <h3>Authors</h3>
    <ul class="sidebar-list">
    
      <li><a class="author" href="/by/William+Morgan/">William&nbsp;Morgan</a>&nbsp;(65) </li>
    
    </ul>

    <h3>Tags</h3>
    <ul class="sidebar-list">
    
      <li><a class="label" href="/label/releases/">releases</a>&nbsp;(15) </li>
    
      <li><a class="label" href="/label/whisper/">whisper</a>&nbsp;(13) </li>
    
      <li><a class="label" href="/label/git/">git</a>&nbsp;(9) </li>
    
      <li><a class="label" href="/label/stats/">stats</a>&nbsp;(8) </li>
    
      <li><a class="label" href="/label/trollop/">trollop</a>&nbsp;(6) </li>
    
      <li><a class="label" href="/label/ruby/">ruby</a>&nbsp;(6) </li>
    
      <li><a class="label" href="/label/sup/">sup</a>&nbsp;(6) </li>
    
      <li><a class="label" href="/label/git-wtf/">git-wtf</a>&nbsp;(4) </li>
    
      <li><a class="label" href="/label/vm/">vm</a>&nbsp;(4) </li>
    
      <li><a class="label" href="/label/mathml/">mathml</a>&nbsp;(3) </li>
    
      <li><a class="label" href="/label/continuations/">continuations</a>&nbsp;(3) </li>
    
      <li><a class="label" href="/label/ditz/">ditz</a>&nbsp;(3) </li>
    
      <li><a class="label" href="/label/proglang/">proglang</a>&nbsp;(2) </li>
    
      <li><a class="label" href="/label/optimization/">optimization</a>&nbsp;(2) </li>
    
      <li><a class="label" href="/label/benchmarks/">benchmarks</a>&nbsp;(2) </li>
    
      <li><a class="label" href="/label/rubinius/">rubinius</a>&nbsp;(2) </li>
    
      <li><a class="label" href="/label/inlining/">inlining</a>&nbsp;(2) </li>
    
      <li><a class="label" href="/label/ubuntu/">ubuntu</a>&nbsp;(2) </li>
    
      <li><a class="label" href="/label/fibers/">fibers</a>&nbsp;(2) </li>
    
      <li><a class="label" href="/label/ritex/">ritex</a>&nbsp;(2) </li>
    
      <li><a class="label" href="/label/ruby1.9/">ruby1.9</a>&nbsp;(2) </li>
    
      <li><a class="label" href="/label/ncurses/">ncurses</a>&nbsp;(1) </li>
    
      <li><a class="label" href="/label/javascript/">javascript</a>&nbsp;(1) </li>
    
      <li><a class="label" href="/label/media/">media</a>&nbsp;(1) </li>
    
      <li><a class="label" href="/label/vim/">vim</a>&nbsp;(1) </li>
    
      <li><a class="label" href="/label/classification/">classification</a>&nbsp;(1) </li>
    
      <li><a class="label" href="/label/massachusetts/">massachusetts</a>&nbsp;(1) </li>
    
      <li><a class="label" href="/label/greasemonkey/">greasemonkey</a>&nbsp;(1) </li>
    
      <li><a class="label" href="/label/wine/">wine</a>&nbsp;(1) </li>
    
      <li><a class="label" href="/label/readme/">readme</a>&nbsp;(1) </li>
    
      <li><a class="label" href="/label/ancient-greek/">ancient-greek</a>&nbsp;(1) </li>
    
      <li><a class="label" href="/label/web/">web</a>&nbsp;(1) </li>
    
      <li><a class="label" href="/label/current+events/">current&nbsp;events</a>&nbsp;(1) </li>
    
    </ul>

    <h3>Other formats</h3>
    <ul class="sidebar-list">
    <li><a href="/index.rss"><img src="/static/rss-badge.png"/></a></li>
    <li><a href="/index.txt">plain text version</a></li>
    </ul>

    <h3 class="waxiest.author.original">Who is this man?</h3>
    <h3 class="waxiest.author.beautiful" style="display:none">I must find out more about this beautiful creature</h3>
    <h3 class="waxiest.author.beautifulbig" style="display:none">I MUST FIND OUT MORE ABOUT THIS BEAUTIFUL CREATURE</h3>
    <h3 class="waxiest.author.originalbig" style="display:none">WHO IS THIS MAN?</h3>

    <script type="text/javascript">
      var w = waxiest();
      w.optimizeHTMLSection("author", ["original", "beautiful", "beautifulbig", "originalbig"]);
    </script>

    <a href="http://masanjin.net" onClick="w.goalReached('greeting')">William Morgan</a>
  </div>
  <div id="content">
    <h2><a  href="/bayesian-average">Understanding the &#8220;Bayesian Average&#8221;</a></h2>

<div class="byline">
  <a  href="/by/William+Morgan/">William Morgan</a>,
  <span title="12 months ago">March 12, 2009 12:07pm</span>
</div>

  <div class="labels"><span class='label'><a  href="/label/stats/">stats</a></span> </div>


<p class='first'><span class="caps">IMDB</span> rates movies using a score they call the <a href="http://www.imdb.com/chart/top">true
Bayesian estimate</a> (bottom of the page).  I&#8217;m
pretty sure that&#8217;s a made-up term. A couple other sites, like BoardGameGeek,
use the same thing and call it a &#8220;Bayesian average&#8221;. I think that&#8217;s a made-up
term, too, even through there&#8217;s a <a href="http://en.wikipedia.org/wiki/Bayesian_average">Wikipedia article on
it</a>.</p>
<p>Nonetheless, the formula is simple, and it has a nice interpretation. Here it
is:</p>
<p><div class='blockmath' title='\frac{Cm + Rv}{m+v}'><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mfrac><mrow><mi>C</mi><mi>m</mi><mo>+</mo><mi>R</mi><mi>v</mi></mrow><mrow><mi>m</mi><mo>+</mo><mi>v</mi></mrow></mfrac></math></div></p>
<p>where <span title='C' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>C</mi></math></span> is the mean vote across all movies, <span title='v' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>v</mi></math></span> is the number of votes,
<span title='R' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>R</mi></math></span> is the mean rating for the movie, and <span title='m' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>m</mi></math></span> is the &#8220;minimum number of
votes required to be listed in the top 250 (currently 1300)&#8221;.</p>
<p>The nice interpretation is this: pretend that, in addition to the <span title='v' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>v</mi></math></span> votes
that users give a movie, you&#8217;re also throwing in <span title='m' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>m</mi></math></span> votes of score <span title='C' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>C</mi></math></span>
each. In effect you&#8217;re pushing the scores towards the global average, by <span title='m' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>m</mi></math></span>
votes.</p>
<p>Is this arbitarary? Actually, no. It&#8217;s the mean (i.e. <span class="caps">MLE</span>) of the posterior
distribution you get when you have a Normal prior with mean <span title='C' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>C</mi></math></span> and precision
<span title='m' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>m</mi></math></span>, and a Normal conditional with variance 1.0.</p>
<p>In other words, you&#8217;re starting with a belief that, in the absense of votes, a
movie/boardgame should be ranked as average, and you&#8217;re assuming that user
votes are normally-distributed around the &#8220;true&#8221; score with variance 1.0.  Then
you&#8217;re looking at the posterior distribution (i.e. the probability distribution
that arises as a result of those assumptions), and you&#8217;re picking the most
likely value from that, which in the case of Gaussians is the mean.</p>
<p>Let&#8217;s see how that works.</p>
<p>To find the posterior distribution, we could work through the math, or we could
just look at the <a href="http://en.wikipedia.org/wiki/Conjugate_prior">Wikipedia article on conjugate
priors</a>. We&#8217;ll see that the
posterior distribution of a Normal, when the prior is also a Normal, is a
Normal with mean</p>
<p><div class='blockmath' title='\frac{\tau_0 \mu_0 + \tau \sum_{i=1}^{n} x_i}{\tau_0 + n\tau}'><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mfrac><mrow><msub><mi>&tau;</mi><mn>0</mn></msub><msub><mi>&mu;</mi><mn>0</mn></msub><mo>+</mo><mi>&tau;</mi><msubsup><mo lspace="thinmathspace" rspace="thinmathspace">&Sum;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>n</mi></mrow></msubsup><msub><mi>x</mi><mi>i</mi></msub></mrow><mrow><msub><mi>&tau;</mi><mn>0</mn></msub><mo>+</mo><mi>n</mi><mi>&tau;</mi></mrow></mfrac></math></div></p>
<p>where <span title='\mu_0' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><msub><mi>&mu;</mi><mn>0</mn></msub></math></span> and <span title='\tau_0' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><msub><mi>&tau;</mi><mn>0</mn></msub></math></span> are the mean and precision of the prior,
respectively, <span title='\tau' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>&tau;</mi></math></span> is the precision of the vote distribution, and <span title='n' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>n</mi></math></span> is
the number of votes. In the case of <span class="caps">IMDB</span>, we assumed above that <span title='\tau=1' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>&tau;</mi><mo>=</mo><mn>1</mn></math></span>, so
we have</p>
<p><div class='blockmath' title='\frac{\tau_0 \mu_0 + \sum_{i=1}^{n} x_i}{\tau_0 + n}'><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mfrac><mrow><msub><mi>&tau;</mi><mn>0</mn></msub><msub><mi>&mu;</mi><mn>0</mn></msub><mo>+</mo><msubsup><mo lspace="thinmathspace" rspace="thinmathspace">&Sum;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>n</mi></mrow></msubsup><msub><mi>x</mi><mi>i</mi></msub></mrow><mrow><msub><mi>&tau;</mi><mn>0</mn></msub><mo>+</mo><mi>n</mi></mrow></mfrac></math></div></p>
<p>Comparing the <span class="caps">IMDB</span> equation to this, we can see that <span title='v' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>v</mi></math></span> above is <span title='n' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>n</mi></math></span> here,
<span title='C' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>C</mi></math></span> above is <span title='\mu_0' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><msub><mi>&mu;</mi><mn>0</mn></msub></math></span> here, <span title='Rv=\frac{1}{v}\left(\sum_{i=1}^v v_i\right)\ v = \sum_{i=1}^v
v_i' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>R</mi><mi>v</mi><mo>=</mo><mfrac><mrow><mn>1</mn></mrow><mrow><mi>v</mi></mrow></mfrac><mrow><mo>(</mo><msubsup><mo lspace="thinmathspace" rspace="thinmathspace">&Sum;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>v</mi></msubsup><msub><mi>v</mi><mi>i</mi></msub><mo>)</mo></mrow><mspace width="mediummathspace"/><mi>v</mi><mo>=</mo><msubsup><mo lspace="thinmathspace" rspace="thinmathspace">&Sum;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>v</mi></msubsup><msub><mi>v</mi><mi>i</mi></msub></math></span> above is <span title='\sum_{i=1}^{n} x_i' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><msubsup><mo lspace="thinmathspace" rspace="thinmathspace">&Sum;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>n</mi></mrow></msubsup><msub><mi>x</mi><mi>i</mi></msub></math></span> here, and <span title='m' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>m</mi></math></span> above is the hyperparameter
<span title='\tau_0' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><msub><mi>&tau;</mi><mn>0</mn></msub></math></span>. So we know that even though <span class="caps">IMDB</span> says <span title='m' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>m</mi></math></span> is the &#8220;minimum number
of votes required to be listed in the top 250 list&#8221;, that&#8217;s an arbitrary
decision on their part: it can be anything and the formula still works. <span title='m' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>m</mi></math></span>
is the precision of the prior distribution; as it gets bigger, the prior
distribution gets &#8220;sharper&#8221;, and thus has more of an effect on the posterior
distribution.</p>
<p>Now the assumptions we made to get to this point are almost laughable. If
nothing else, we know that Gaussians are unbounded and continuous, and user
votes on <span class="caps">IMBD</span> are integers in the range of 1-10. The interesting take-away
message here is that even though we made a lot of assumptions above that were
laughably wrong, the end result is a reasonable formula with an nice, intuitive
meaning.</p>

<h4>Discussion</h4>
<a name="comments"></a>

<ul class="comment-tree">

  <li>
  
  <a name="f1c6a10718d3618e99375e3fb71fded8"></a>
  <div class="comment-body">
    <table class="comment-byline">
      <tr><td class="comment-author">John Henderson</td>
          <td class="comment-date" title="12 months ago"><a href="#f1c6a10718d3618e99375e3fb71fded8">March 13, 2009  8:26pm</a></td>
    </tr></table>
    <p class='first'>Here&#8217;s my old school wanker interpretation: <span title='C' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>C</mi></math></span> is one estimate of the
thing we want. <span title='R' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>R</mi></math></span> is the other estimate.  We can smooth between them with
a good old <span title='\lambda' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>&lambda;</mi></math></span>.  Our estimate will then look like</p>
<p><div class='blockmath' title='\lambda R + (1-\lambda)C'><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mi>&lambda;</mi><mi>R</mi><mo>+</mo><mo stretchy='false'>(</mo><mn>1</mn><mo>&minus;</mo><mi>&lambda;</mi><mo stretchy='false'>)</mo><mi>C</mi></math></div></p>
<p>(Boy I hope my latex works at all.)</p>
<p>But what <span title='\lambda' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>&lambda;</mi></math></span> do we want?  Eh. Let&#8217;s just pick something.  Let&#8217;s
compare the number of datapoints we have to the least popular thing in the
top-250.  Yeah, that&#8217;s the ticket:</p>
<p><div class='blockmath' title='\lambda=\frac{v}{m+v}'><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mi>&lambda;</mi><mo>=</mo><mfrac><mrow><mi>v</mi></mrow><mrow><mi>m</mi><mo>+</mo><mi>v</mi></mrow></mfrac></math></div></p>
<p>So, if we&#8217;ve had as many votes as the thing in the bottom of the top-250,
then we should be half way between them.  And if we&#8217;ve had an infinite
number of votes, then we better be on <span title='R' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>R</mi></math></span>.  And if we&#8217;ve had zero votes,
then <span title='C' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>C</mi></math></span>.  That&#8217;s nice.  Oh, and let&#8217;s make it linear so it&#8217;s easy and
doesn&#8217;t piss people off by sliding down when a vote goes up.  Or
incrementing less or more at different places.</p>
<p>You really think the <span class="caps">IMDB</span> guys went beyond this in their thinking?  Could
be.  And if not, they sure should claim it.</p>
    <div class="reply-to-outer">
      <div class="reply-to-header"><a href="#" class="reply-to-link">reply</a></div>
      <div class="reply-to-box" id="reply-to-bayesian-average-f1c6a10718d3618e99375e3fb71fded8" >
        <span class="comment-instructions">To reply, enter your email address. A copy of the comment will be sent to you via email.</span>
        <form id='comment-form-bayesian-average-f1c6a10718d3618e99375e3fb71fded8' action='/comment/bayesian-average' method='post' class='comment-form'>
          <input type='text' name='email' id='textfield-email'/>
          <input type='submit' value='email me' id='submit-email me'/>
        <input type='hidden' name='comment-id' value='f1c6a10718d3618e99375e3fb71fded8'/>
  <span class="form-result" id="form-result-bayesian-average-f1c6a10718d3618e99375e3fb71fded8"><!-- spanna --></span>
</form>

      </div>
    </div>
  </div>

  <ul><li>
  
  <a name="d6a1515ba7581fb4c7f7e34a76ca6b8e"></a>
  <div class="comment-body">
    <table class="comment-byline">
      <tr><td class="comment-author"><a href="http://masanjin.net/">William Morgan</a></td>
          <td class="comment-date" title="12 months ago"><a href="#d6a1515ba7581fb4c7f7e34a76ca6b8e">March 13, 2009  8:49pm</a></td>
    </tr></table>
    <div class='comment-quote' title="Reformatted excerpts from John Henderson's message of 2009-03-13:">
<p>You really think the <span class="caps">IMDB</span> guys went beyond this in their thinking?
Could be.  And if not, they sure should claim it.</p>
</div><p class='first'>I don&#8217;t know. They use the word &#8220;Bayesian&#8221; to describe it, which seems
like a non-sequitur if all that&#8217;s happened is that they&#8217;v read a book
on linear interpolation.</p>
<p>It&#8217;s certainly possible that I&#8217;m just backfitting a model.</p>
    <div class="reply-to-outer">
      <div class="reply-to-header"><a href="#" class="reply-to-link">reply</a></div>
      <div class="reply-to-box" id="reply-to-bayesian-average-d6a1515ba7581fb4c7f7e34a76ca6b8e" >
        <span class="comment-instructions">To reply, enter your email address. A copy of the comment will be sent to you via email.</span>
        <form id='comment-form-bayesian-average-d6a1515ba7581fb4c7f7e34a76ca6b8e' action='/comment/bayesian-average' method='post' class='comment-form'>
          <input type='text' name='email' id='textfield-email'/>
          <input type='submit' value='email me' id='submit-email me'/>
        <input type='hidden' name='comment-id' value='d6a1515ba7581fb4c7f7e34a76ca6b8e'/>
  <span class="form-result" id="form-result-bayesian-average-d6a1515ba7581fb4c7f7e34a76ca6b8e"><!-- spanna --></span>
</form>

      </div>
    </div>
  </div>

  <ul><li>
  
  <a name="63d6ac985eababb140d3057bcd9d84f2"></a>
  <div class="comment-body">
    <table class="comment-byline">
      <tr><td class="comment-author">John Henderson</td>
          <td class="comment-date" title="12 months ago"><a href="#63d6ac985eababb140d3057bcd9d84f2">March 13, 2009 10:20pm</a></td>
    </tr></table>
    <p class='first'>A better question from me should be, can Bayesian Averaging be
interpreted as <span class="caps">MLE</span> without the Gaussian modeling assumption on the
estimators?  I suspect the answer is yes because there are many ways
to arrive at the linear interpolation form.  It seems over-constrained
at first glance from subsets of the things I point out in the
interpolation post.  But I&#8217;m too dumb to know better.</p>
<p>Maybe the only weak assumption needed is that the model for the
estimator have conjugate priors.</p>
<p>-John</p>
    <div class="reply-to-outer">
      <div class="reply-to-header"><a href="#" class="reply-to-link">reply</a></div>
      <div class="reply-to-box" id="reply-to-bayesian-average-63d6ac985eababb140d3057bcd9d84f2" >
        <span class="comment-instructions">To reply, enter your email address. A copy of the comment will be sent to you via email.</span>
        <form id='comment-form-bayesian-average-63d6ac985eababb140d3057bcd9d84f2' action='/comment/bayesian-average' method='post' class='comment-form'>
          <input type='text' name='email' id='textfield-email'/>
          <input type='submit' value='email me' id='submit-email me'/>
        <input type='hidden' name='comment-id' value='63d6ac985eababb140d3057bcd9d84f2'/>
  <span class="form-result" id="form-result-bayesian-average-63d6ac985eababb140d3057bcd9d84f2"><!-- spanna --></span>
</form>

      </div>
    </div>
  </div>

  </li></ul></li></ul></li><li>
  
  <a name="47bc62f9a712bf8d2ea2d8623265ffc8"></a>
  <div class="comment-body">
    <table class="comment-byline">
      <tr><td class="comment-author">Brendan O'Connor</td>
          <td class="comment-date" title="12 months ago"><a href="#47bc62f9a712bf8d2ea2d8623265ffc8">March 17, 2009  3:03am</a></td>
    </tr></table>
    <p>Nice writeup.</p><div class='comment-quote'>
<p>To find the posterior distribution, we could work through the math, or we could
just look at the <a href="http://en.wikipedia.org/wiki/Conjugate_prior">Wikipedia article on conjugate
priors</a>.</p>
</div><p>Handy!</p><div class='comment-quote'>
<p class='first'>The nice interpretation is this: pretend that, in addition to the <span title='v' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>v</mi></math></span> votes
that users give a movie, you&#8217;re also throwing in <span title='m' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>m</mi></math></span> votes of score <span title='C' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>C</mi></math></span>
each. In effect you&#8217;re pushing the scores towards the global average, by <span title='m' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>m</mi></math></span>
votes.</p>
</div><p>I will point out another non-bayesian interpretation: it&#8217;s L2
regularization for the mean estimation :)</p>
<p>Brendan</p>
    <div class="reply-to-outer">
      <div class="reply-to-header"><a href="#" class="reply-to-link">reply</a></div>
      <div class="reply-to-box" id="reply-to-bayesian-average-47bc62f9a712bf8d2ea2d8623265ffc8" >
        <span class="comment-instructions">To reply, enter your email address. A copy of the comment will be sent to you via email.</span>
        <form id='comment-form-bayesian-average-47bc62f9a712bf8d2ea2d8623265ffc8' action='/comment/bayesian-average' method='post' class='comment-form'>
          <input type='text' name='email' id='textfield-email'/>
          <input type='submit' value='email me' id='submit-email me'/>
        <input type='hidden' name='comment-id' value='47bc62f9a712bf8d2ea2d8623265ffc8'/>
  <span class="form-result" id="form-result-bayesian-average-47bc62f9a712bf8d2ea2d8623265ffc8"><!-- spanna --></span>
</form>

      </div>
    </div>
  </div>

  </li><li>
  
  <a name="129c9c13cfc60887992b3d759b0aa3d6"></a>
  <div class="comment-body">
    <table class="comment-byline">
      <tr><td class="comment-author">Gustavo Lacerda</td>
          <td class="comment-date" title="9 months ago"><a href="#129c9c13cfc60887992b3d759b0aa3d6">May 18, 2009  6:27pm</a></td>
    </tr></table>
    <div class='comment-quote' title="On Mon, May 18, 2009 at 11:22 AM, William Morgan &lt;comments@all-thing.net&gt; wrote:">
<p class='first'>Is this arbitarary? Actually, no. It&#8217;s the mean (i.e. <span class="caps">MLE</span>) of the posterior
distribution you get when you have a Normal prior with mean <span title='C' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>C</mi></math></span> and precision
<span title='m' style='white-space: nowrap'><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>m</mi></math></span>, and a Normal conditional with variance 1.0.</p>
</div><p>I think you mean the mode of the posterior distribution, (a.k.a. <span class="caps">MAP</span>, not <span class="caps">MLE</span>).</p>
    <div class="reply-to-outer">
      <div class="reply-to-header"><a href="#" class="reply-to-link">reply</a></div>
      <div class="reply-to-box" id="reply-to-bayesian-average-129c9c13cfc60887992b3d759b0aa3d6" >
        <span class="comment-instructions">To reply, enter your email address. A copy of the comment will be sent to you via email.</span>
        <form id='comment-form-bayesian-average-129c9c13cfc60887992b3d759b0aa3d6' action='/comment/bayesian-average' method='post' class='comment-form'>
          <input type='text' name='email' id='textfield-email'/>
          <input type='submit' value='email me' id='submit-email me'/>
        <input type='hidden' name='comment-id' value='129c9c13cfc60887992b3d759b0aa3d6'/>
  <span class="form-result" id="form-result-bayesian-average-129c9c13cfc60887992b3d759b0aa3d6"><!-- spanna --></span>
</form>

      </div>
    </div>
  </div>

  <ul><li>
  
  <a name="d927415a2c379d32a58d90e3e574a711"></a>
  <div class="comment-body">
    <table class="comment-byline">
      <tr><td class="comment-author"><a href="http://masanjin.net/">William Morgan</a></td>
          <td class="comment-date" title="9 months ago"><a href="#d927415a2c379d32a58d90e3e574a711">May 18, 2009  6:41pm</a></td>
    </tr></table>
    <div class='comment-quote' title="Reformatted excerpts from Gustavo Lacerda's message of 2009-05-18:">
<p>I think you mean the mode of the posterior distribution, (a.k.a. <span class="caps">MAP</span>,
not <span class="caps">MLE</span>).</p>
</div><p>Yeah, that probably would&#8217;ve been more clear, especially since I go on
to talk about &#8220;picking the most likely value&#8221;. But in my defense they&#8217;re
the same value here.</p>
    <div class="reply-to-outer">
      <div class="reply-to-header"><a href="#" class="reply-to-link">reply</a></div>
      <div class="reply-to-box" id="reply-to-bayesian-average-d927415a2c379d32a58d90e3e574a711" >
        <span class="comment-instructions">To reply, enter your email address. A copy of the comment will be sent to you via email.</span>
        <form id='comment-form-bayesian-average-d927415a2c379d32a58d90e3e574a711' action='/comment/bayesian-average' method='post' class='comment-form'>
          <input type='text' name='email' id='textfield-email'/>
          <input type='submit' value='email me' id='submit-email me'/>
        <input type='hidden' name='comment-id' value='d927415a2c379d32a58d90e3e574a711'/>
  <span class="form-result" id="form-result-bayesian-average-d927415a2c379d32a58d90e3e574a711"><!-- spanna --></span>
</form>

      </div>
    </div>
  </div>

  <ul><li>
  
  <a name="3e7e13baccfdf39bdd4cceb5bf06c0ec"></a>
  <div class="comment-body">
    <table class="comment-byline">
      <tr><td class="comment-author">Gustavo Lacerda</td>
          <td class="comment-date" title="9 months ago"><a href="#3e7e13baccfdf39bdd4cceb5bf06c0ec">May 18, 2009  7:03pm</a></td>
    </tr></table>
    <div class='comment-quote' title="On Mon, May 18, 2009 at 11:42 AM, William Morgan &lt;comments@all-thing.net&gt; wrote:">
<div class='comment-quote' title="Reformatted excerpts from Gustavo Lacerda's message of 2009-05-18:">
<p>I think you mean the mode of the posterior distribution, (a.k.a. <span class="caps">MAP</span>,
not <span class="caps">MLE</span>).</p>
</div><p>Yeah, that probably would&#8217;ve been more clear, especially since I go on
to talk about &#8220;picking the most likely value&#8221;. But in my defense they&#8217;re
the same value here.</p>
</div><p class='first'><span class="caps">MAP</span> and <span class="caps">MLE</span> in general only coincide when you have a uniform
(improper) prior over the whole space.</p>
<p>You have an interesting email interface here. But I get the illusion
that I&#8217;m writing a private email (which should go away if I&#8217;m not
replying to &#8220;William Morgan&#8221; &lt;comments@&#8230;&gt;).</p>
    <div class="reply-to-outer">
      <div class="reply-to-header"><a href="#" class="reply-to-link">reply</a></div>
      <div class="reply-to-box" id="reply-to-bayesian-average-3e7e13baccfdf39bdd4cceb5bf06c0ec" >
        <span class="comment-instructions">To reply, enter your email address. A copy of the comment will be sent to you via email.</span>
        <form id='comment-form-bayesian-average-3e7e13baccfdf39bdd4cceb5bf06c0ec' action='/comment/bayesian-average' method='post' class='comment-form'>
          <input type='text' name='email' id='textfield-email'/>
          <input type='submit' value='email me' id='submit-email me'/>
        <input type='hidden' name='comment-id' value='3e7e13baccfdf39bdd4cceb5bf06c0ec'/>
  <span class="form-result" id="form-result-bayesian-average-3e7e13baccfdf39bdd4cceb5bf06c0ec"><!-- spanna --></span>
</form>

      </div>
    </div>
  </div>

  <ul><li>
  
  <a name="8173751aba04c2481f9028d643f0b3fa"></a>
  <div class="comment-body">
    <table class="comment-byline">
      <tr><td class="comment-author"><a href="http://masanjin.net/">William Morgan</a></td>
          <td class="comment-date" title="9 months ago"><a href="#8173751aba04c2481f9028d643f0b3fa">May 18, 2009  7:29pm</a></td>
    </tr></table>
    <div class='comment-quote' title="Reformatted excerpts from Gustavo Lacerda's message of 2009-05-18:">
<p><span class="caps">MAP</span> and <span class="caps">MLE</span> in general only coincide when you have a uniform
(improper) prior over the whole space.</p>
</div><p>The mode and the mean of a normal distribution are the same. That&#8217;s all
I&#8217;m saying.</p><div class='comment-quote'>
<p>You have an interesting email interface here.</p>
</div><p>Thanks! But what client are you using? It&#8217;s quoting stuff in a weird
way.</p><div class='comment-quote'>
<p>But I get the illusion that I&#8217;m writing a private email (which should
go away if I&#8217;m not replying to &#8220;William Morgan&#8221; &lt;comments@&#8230;&gt;).</p>
</div><p class='first'>Do you mean that because the From: field has my name in it, you get the
illusion that you&#8217;re sending a private email? This is the same approach
used by most automated systems that relay email between participants.
Evite and <span class="caps">JIRA</span>, to name a few.</p>
    <div class="reply-to-outer">
      <div class="reply-to-header"><a href="#" class="reply-to-link">reply</a></div>
      <div class="reply-to-box" id="reply-to-bayesian-average-8173751aba04c2481f9028d643f0b3fa" >
        <span class="comment-instructions">To reply, enter your email address. A copy of the comment will be sent to you via email.</span>
        <form id='comment-form-bayesian-average-8173751aba04c2481f9028d643f0b3fa' action='/comment/bayesian-average' method='post' class='comment-form'>
          <input type='text' name='email' id='textfield-email'/>
          <input type='submit' value='email me' id='submit-email me'/>
        <input type='hidden' name='comment-id' value='8173751aba04c2481f9028d643f0b3fa'/>
  <span class="form-result" id="form-result-bayesian-average-8173751aba04c2481f9028d643f0b3fa"><!-- spanna --></span>
</form>

      </div>
    </div>
  </div>

  <ul><li>
  
  <a name="ba57dbed8a293aa4d10c4c5c8c707e31"></a>
  <div class="comment-body">
    <table class="comment-byline">
      <tr><td class="comment-author">Gustavo Lacerda</td>
          <td class="comment-date" title="9 months ago"><a href="#ba57dbed8a293aa4d10c4c5c8c707e31">May 18, 2009  7:59pm</a></td>
    </tr></table>
    <div class='comment-quote' title="On Mon, May 18, 2009 at 12:29 PM, William Morgan &lt;comments@all-thing.net&gt; wrote:">
<div class='comment-quote' title="Reformatted excerpts from Gustavo Lacerda's message of 2009-05-18:">
<p><span class="caps">MAP</span> and <span class="caps">MLE</span> in general only coincide when you have a uniform
(improper) prior over the whole space.</p>
</div><p>The mode and the mean of a normal distribution are the same. That&#8217;s all
I&#8217;m saying.</p><div class='comment-quote'>
<p>You have an interesting email interface here.</p>
</div><p>Thanks! But what client are you using? It&#8217;s quoting stuff in a weird
way.</p>
</div><p>GMail.</p><div class='comment-quote'>
<div class='comment-quote'>
<p>But I get the illusion that I&#8217;m writing a private email (which should
go away if I&#8217;m not replying to &#8220;William Morgan&#8221; &lt;comments@&#8230;&gt;).</p>
</div><p class='first'>Do you mean that because the From: field has my name in it, you get the
illusion that you&#8217;re sending a private email? This is the same approach
used by most automated systems that relay email between participants.
Evite and <span class="caps">JIRA</span>, to name a few.</p>
</div><p>yes.
I&#8217;d prefer if it said &#8220;William Morgan&#8217;s blog&#8221; or something.</p>
    <div class="reply-to-outer">
      <div class="reply-to-header"><a href="#" class="reply-to-link">reply</a></div>
      <div class="reply-to-box" id="reply-to-bayesian-average-ba57dbed8a293aa4d10c4c5c8c707e31" >
        <span class="comment-instructions">To reply, enter your email address. A copy of the comment will be sent to you via email.</span>
        <form id='comment-form-bayesian-average-ba57dbed8a293aa4d10c4c5c8c707e31' action='/comment/bayesian-average' method='post' class='comment-form'>
          <input type='text' name='email' id='textfield-email'/>
          <input type='submit' value='email me' id='submit-email me'/>
        <input type='hidden' name='comment-id' value='ba57dbed8a293aa4d10c4c5c8c707e31'/>
  <span class="form-result" id="form-result-bayesian-average-ba57dbed8a293aa4d10c4c5c8c707e31"><!-- spanna --></span>
</form>

      </div>
    </div>
  </div>

  <ul><li>
  
  <a name="e7297a05f2003e197eb3550abf230bba"></a>
  <div class="comment-body">
    <table class="comment-byline">
      <tr><td class="comment-author"><a href="http://masanjin.net/">William Morgan</a></td>
          <td class="comment-date" title="9 months ago"><a href="#e7297a05f2003e197eb3550abf230bba">May 18, 2009  9:06pm</a></td>
    </tr></table>
    <div class='comment-quote' title="Reformatted excerpts from Gustavo Lacerda's message of 2009-05-18:">
<p>GMail.</p>
</div><p>Whoops, looks like it&#8217;s my fault. Your quoting looks fine; Whisper is
just doing something weird with it.</p><div class='comment-quote'>
<p>yes.
I&#8217;d prefer if it said &#8220;William Morgan&#8217;s blog&#8221; or something.</p>
</div><p>It could say something like &#8220;William Morgan (via The All-Thing)&#8221;.</p>
    <div class="reply-to-outer">
      <div class="reply-to-header"><a href="#" class="reply-to-link">reply</a></div>
      <div class="reply-to-box" id="reply-to-bayesian-average-e7297a05f2003e197eb3550abf230bba" >
        <span class="comment-instructions">To reply, enter your email address. A copy of the comment will be sent to you via email.</span>
        <form id='comment-form-bayesian-average-e7297a05f2003e197eb3550abf230bba' action='/comment/bayesian-average' method='post' class='comment-form'>
          <input type='text' name='email' id='textfield-email'/>
          <input type='submit' value='email me' id='submit-email me'/>
        <input type='hidden' name='comment-id' value='e7297a05f2003e197eb3550abf230bba'/>
  <span class="form-result" id="form-result-bayesian-average-e7297a05f2003e197eb3550abf230bba"><!-- spanna --></span>
</form>

      </div>
    </div>
  </div>

  <ul><li>
  
  <a name="a629d8b2a1ba0cf7f4482eb3148457ed"></a>
  <div class="comment-body">
    <table class="comment-byline">
      <tr><td class="comment-author"><a href="http://masanjin.net/">William Morgan</a></td>
          <td class="comment-date" title="9 months ago"><a href="#a629d8b2a1ba0cf7f4482eb3148457ed">May 19, 2009 11:17pm</a></td>
    </tr></table>
    <div class='comment-quote' title="Reformatted excerpts from William Morgan's message of 2009-05-18:">
<p>Whoops, looks like it&#8217;s my fault. Your quoting looks fine; Whisper is
just doing something weird with it.</p>
</div><p>I think I&#8217;ve fixed this.</p>
    <div class="reply-to-outer">
      <div class="reply-to-header"><a href="#" class="reply-to-link">reply</a></div>
      <div class="reply-to-box" id="reply-to-bayesian-average-a629d8b2a1ba0cf7f4482eb3148457ed" >
        <span class="comment-instructions">To reply, enter your email address. A copy of the comment will be sent to you via email.</span>
        <form id='comment-form-bayesian-average-a629d8b2a1ba0cf7f4482eb3148457ed' action='/comment/bayesian-average' method='post' class='comment-form'>
          <input type='text' name='email' id='textfield-email'/>
          <input type='submit' value='email me' id='submit-email me'/>
        <input type='hidden' name='comment-id' value='a629d8b2a1ba0cf7f4482eb3148457ed'/>
  <span class="form-result" id="form-result-bayesian-average-a629d8b2a1ba0cf7f4482eb3148457ed"><!-- spanna --></span>
</form>

      </div>
    </div>
  </div>

  </li></ul></li></ul></li><li>
  
  <a name="e38fab2e216c94f274b492106492d195"></a>
  <div class="comment-body">
    <table class="comment-byline">
      <tr><td class="comment-author">John Henderson</td>
          <td class="comment-date" title="9 months ago"><a href="#e38fab2e216c94f274b492106492d195">May 18, 2009  9:26pm</a></td>
    </tr></table>
    <p>On May 18, 2009, at 12:29 PM, William Morgan &lt;comments@all-thing.net&gt;  
wrote:</p><div class='comment-quote'>
<div class='comment-quote' title="Reformatted excerpts from Gustavo Lacerda's message of 2009-05-18:">
<p><span class="caps">MAP</span> and <span class="caps">MLE</span> in general only coincide when you have a uniform
(improper) prior over the whole space.</p>
</div><p>The mode and the mean of a normal distribution are the same. That&#8217;s  
all
I&#8217;m saying.</p><div class='comment-quote'>
<p>You have an interesting email interface here.</p>
</div><p>Thanks! But what client are you using? It&#8217;s quoting stuff in a weird
way.</p><div class='comment-quote'>
<p>But I get the illusion that I&#8217;m writing a private email (which should
go away if I&#8217;m not replying to &#8220;William Morgan&#8221; &lt;comments@&#8230;&gt;).</p>
</div><p class='first'>Do you mean that because the From: field has my name in it, you get  
the
illusion that you&#8217;re sending a private email? This is the same  
approach
used by most automated systems that relay email between participants.
Evite and <span class="caps">JIRA</span>, to name a few.</p>
</div><p>If you do a goog search on &#8220;map mle estimate&#8221; right now this comes up  
#3. Just saying. Fame. Ok now I&#8217;ll shut up and do my homework. So long  
since I&#8217;ve been in a discussion about this.</p>
<p>-John</p>
    <div class="reply-to-outer">
      <div class="reply-to-header"><a href="#" class="reply-to-link">reply</a></div>
      <div class="reply-to-box" id="reply-to-bayesian-average-e38fab2e216c94f274b492106492d195" >
        <span class="comment-instructions">To reply, enter your email address. A copy of the comment will be sent to you via email.</span>
        <form id='comment-form-bayesian-average-e38fab2e216c94f274b492106492d195' action='/comment/bayesian-average' method='post' class='comment-form'>
          <input type='text' name='email' id='textfield-email'/>
          <input type='submit' value='email me' id='submit-email me'/>
        <input type='hidden' name='comment-id' value='e38fab2e216c94f274b492106492d195'/>
  <span class="form-result" id="form-result-bayesian-average-e38fab2e216c94f274b492106492d195"><!-- spanna --></span>
</form>

      </div>
    </div>
  </div>

  <ul><li>
  
  <a name="9b5d37814476c10f28a6c18301260e98"></a>
  <div class="comment-body">
    <table class="comment-byline">
      <tr><td class="comment-author">Gustavo Lacerda</td>
          <td class="comment-date" title="9 months ago"><a href="#9b5d37814476c10f28a6c18301260e98">May 18, 2009  9:41pm</a></td>
    </tr></table>
    <p>&#8212;
Gustavo Lacerda
<a href='http://www.optimizelife.com'>http://www.optimizelife.com</a></p><div class='comment-quote' title="On Mon, May 18, 2009 at 2:26 PM, John Henderson &lt;comments@all-thing.net&gt; wrote:">
<p>On May 18, 2009, at 12:29 PM, William Morgan &lt;comments@all-thing.net&gt;</p><div class='comment-quote' title="wrote:">
<div class='comment-quote' title="Reformatted excerpts from Gustavo Lacerda's message of 2009-05-18:">
<p><span class="caps">MAP</span> and <span class="caps">MLE</span> in general only coincide when you have a uniform
(improper) prior over the whole space.</p>
</div>
</div><p>The mode and the mean of a normal distribution are the same. That&#8217;s
all
I&#8217;m saying.</p><div class='comment-quote'>
<p>You have an interesting email interface here.</p>
</div><p>Thanks! But what client are you using? It&#8217;s quoting stuff in a weird
way.</p><div class='comment-quote'>
<p>But I get the illusion that I&#8217;m writing a private email (which should
go away if I&#8217;m not replying to &#8220;William Morgan&#8221; &lt;comments@&#8230;&gt;).</p>
</div><p class='first'>Do you mean that because the From: field has my name in it, you get
the
illusion that you&#8217;re sending a private email? This is the same
approach
used by most automated systems that relay email between participants.
Evite and <span class="caps">JIRA</span>, to name a few.</p>
<p>If you do a goog search on &#8220;map mle estimate&#8221; right now this comes up
#3. Just saying. Fame. Ok now I&#8217;ll shut up and do my homework. So long
since I&#8217;ve been in a discussion about this.</p>
</div><p>for me it&#8217;s #9.</p>
<p>My #1 is a recitation by my friend Mary:
<a href='http://www.cs.cmu.edu/~tom/10601_sp08/slides/recitation-mle-nb.pdf'>http://www.cs.cmu.edu/~tom/10601_sp08/slides/recitation-mle-nb.pdf</a></p>
    <div class="reply-to-outer">
      <div class="reply-to-header"><a href="#" class="reply-to-link">reply</a></div>
      <div class="reply-to-box" id="reply-to-bayesian-average-9b5d37814476c10f28a6c18301260e98" >
        <span class="comment-instructions">To reply, enter your email address. A copy of the comment will be sent to you via email.</span>
        <form id='comment-form-bayesian-average-9b5d37814476c10f28a6c18301260e98' action='/comment/bayesian-average' method='post' class='comment-form'>
          <input type='text' name='email' id='textfield-email'/>
          <input type='submit' value='email me' id='submit-email me'/>
        <input type='hidden' name='comment-id' value='9b5d37814476c10f28a6c18301260e98'/>
  <span class="form-result" id="form-result-bayesian-average-9b5d37814476c10f28a6c18301260e98"><!-- spanna --></span>
</form>

      </div>
    </div>
  </div>

  </li></ul></li></ul></li></ul></li></ul></li></ul></li>
  
</ul>

<p class="comment-instructions">To leave a new comment, enter your email
address. A copy of the article will be sent to you via email.</p>
<form id='comment-form-bayesian-average' action='/comment/bayesian-average' method='post' class='comment-form'>
  <input type='text' name='email' id='textfield-email'/>
  <input type='submit' value='email me' id='submit-email me'/>
  <span class="form-result" id="form-result-bayesian-average"><!-- spanna --></span>
</form>


<script type="text/javascript">
/* <![CDATA[ */
$$('.comment-form').addEvent('submit', function(e) {
  e.stop();
  var el = this.getElement('.form-result');
  var result = el.empty().addClass('ajax-loading');
  this.set('send', {
    method: 'post',
    onComplete: function(response) { 
      result.removeClass('ajax-loading');
      result.set('html', response);
    },
  });
  this.send();
});
/* ]]> */
</script>


<script type="text/javascript">
/* <![CDATA[ */
$$('.reply-to-link').each(function(link, i) {
  var box = link.getParent().getParent().getElement('.reply-to-box');
  var oldHeight = box.getStyle("height");
  box.setStyle("height", 0);
  box.setStyle("opacity", 0);
  link.addEvent('click', function(e) {
    e.stop();
    box.setStyle("opacity", 1);
    box.setStyle("height", oldHeight);
    box.getElement("input").focus();
  });
});
/* ]]> */
</script>

  </div>

  <div id="footer" style="margin: 0px;">
    Served up by <a href="http://masanjin.net/whisper/">Whisper</a>. Yes!
  </div>
</div>
</body>
</html>
