title: CBOW v.s. skip-gram: why invert context and target words?
body: <p>In <a href="https://www.tensorflow.org/versions/r0.9/tutorials/word2vec/index.html#vector-representations-of-words" rel="noreferrer">this</a> page, it is said that: </p>
  
  <blockquote>
    <p>[...] skip-gram inverts contexts and targets, and tries to predict each context word from its target word [...]</p>
  </blockquote>
  
  <p>However, looking at the training dataset it produces, the content of the X and Y pair seems to be interexchangeable, as those two pairs of (X, Y): </p>
  
  <blockquote>
    <p><code>(quick, brown), (brown, quick)</code></p>
  </blockquote>
  
  <p>So, why distinguish that much between context and targets if it is the same thing in the end? </p>
  
  <p>Also, doing <a href="https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/udacity/5_word2vec.ipynb" rel="noreferrer">Udacity's Deep Learning course exercise on word2vec</a>, I wonder why they seem to do the difference between those two approaches that much in this problem: </p>
  
  <blockquote>
    <p>An alternative to skip-gram is another Word2Vec model called CBOW (Continuous Bag of Words). In the CBOW model, instead of predicting a context word from a word vector, you predict a word from the sum of all the word vectors in its context. Implement and evaluate a CBOW model trained on the text8 dataset.</p>
  </blockquote>
  
  <p>Would not this yields the same results?</p>