<h2>tl;dr</h2>
<p>The optimization criterion is the same, the difference is how the model gets the word vector.</p>
<h2>Using formulas</h2>
<p>Fasttext optimizes the same criterion as the standard skipgram model (using the formula from the <a href="https://arxiv.org/pdf/1607.04606.pdf" rel="nofollow noreferrer">FastText paper</a>):</p>
<p><a href="https://i.stack.imgur.com/wOWs3.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/wOWs3.png" alt="enter image description here" /></a></p>
<p>with all the approximation tricks that make the optimization computationally efficient. In the end, they get this:</p>
<p><a href="https://i.stack.imgur.com/yvirs.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/yvirs.png" alt="enter image description here" /></a></p>
<p>There is a sum over all words <em>w<sub>c</sub></em> and approximate the denominator using some negative samples <em>n</em>. The crucial difference is in the function <em>s</em>. In the original skip-gram model, it is a dot product of the two word embeddings.</p>
<p>However, in the FastText case, the function <em>s</em> is redefined:</p>
<p><a href="https://i.stack.imgur.com/kI2uB.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/kI2uB.png" alt="enter image description here" /></a></p>
<p>Word <em>w<sub>t</sub></em> is represented as a sum of all n-grams <em>z<sub>g</sub></em> the word consist of plus a vector for the word itself. You basically want to make no only the word, but also all its substrings probable in the given context window.</p>
What's the different between fasttext skipgram and word2vec skipgram?
<p>Given a sentence 'hello world', the vocabulary is </p>

<p>{hello, world} + {&lt;hel, hell, ello, llo>, &lt;wor, worl, orld, rld>}, </p>

<p>for convenience, just list all 4-gram.</p>

<p>In my comprehension, the word2vec skipgram will maximize</p>

<p><img src="https://latex.codecogs.com/gif.latex?%5Cdpi%7B200%7D&space;P(hello%5Cvert&space;world)&space;&plus;&space;P(world%5Cvert&space;hello)" title="P(hello\vert world) + P(world\vert hello)" /></p>

<p>What will fasttext skipgram do?</p>