title: Why Sklearn LDA topic model always suggest (choose) topic model with least topics?
body: <p>I am doing topic modeling on text data (around 4000 news articles). For that, I am using the Sklearn LDA model. While doing this, I use GridSearchCV to choose the best model. However, in almost all cases, GridSearchCV suggests the least topic as the best model. </p>
  
  <p>For example 1:</p>
  
  <pre><code># Define Search Param
  search_params = {'n_components': [5, 7, 10, 12, 15, 18, 20], 'learning_decay': [.5, .7, .9]}
  
  # Init the Model
  lda = LatentDirichletAllocation()
  
  # Init Grid Search Class
  model = GridSearchCV(lda, param_grid=search_params)
  
  # Do the Grid Search
  model.fit(data_vectorized)
  </code></pre>
  
  <p>The best model is suggested: 5</p>
  
  <p>Example 2: </p>
  
  <pre><code># Define Search Param
  search_params = {'n_components': [3, 5, 7, 10, 12, 15, 18], 'learning_decay': [.5, .7, .9]}
  
  # Init the Model
  lda = LatentDirichletAllocation()
  
  # Init Grid Search Class
  model = GridSearchCV(lda, param_grid=search_params)
  
  # Do the Grid Search
  model.fit(data_vectorized)
  </code></pre>
  
  <p>The best model is suggested: 3 </p>
  
  <p>Is this normal or it is happening only to me? </p>
  
  <p>What can be the possible reason for this?</p>
  
  <p>Full Code is long that is why I am not giving it here but if required I can provide it.</p>
  
  <p>Thanks in Advance.</p>