title: Keras embedding layers: how do they work?
body: <p>I am starting using Keras to build neural networks models.</p>
  
  <p>I have a classification problem, where the features are discrete. 
  To manage this case, the standard procedure consists in converting the discrete features in binary arrays, with a one-hot encoding.</p>
  
  <p>However it seems that with Keras this step is not necessary, as one can simply use an Embedding layer to create a feature-vector representation of these discrete features. </p>
  
  <p>How these <a href="https://keras.io/layers/embeddings/" rel="noreferrer">embeddings</a> are performed? </p>
  
  <p>My understanding is that, if the discrete feature <code>f</code> can assume <code>k</code> values, then an embedding layer creates a matrix with <code>k</code> columns. Every time I receive a value for that feature, say <code>i</code>, during the training phase, only the <code>i</code> column of the matrix will be updated. </p>
  
  <p>Is my understanding correct?</p>