machine learning algorithms probability statistics time series sequence modeling nlp speech recognition python