How does LDA algorithm work?