This is a short post on dynamic programming. I go over the canonical coin change problem in computer science where we have to make change for some amount n given a set of uniquely denominated coins c and a infinite amount of any coin in c.
      This is a short post on some common NLP topic models. Speciically, I cover how Latent Dirichlet Allocation (LDA) works in generating topic distributions for a corpus of documents. I also cover word2vec (Mikolov et al., 2013), which uses neural networks to generate relational word vectors. And finally, I go over Latent Semantic Indexing (LSI) which is a straightforward application of principal components analysis on bag of word representations of text.
      This is a short post on how to setup a Vector Auto Regression model using the statsmodel package in Python. It goes through a general derivation of the maximum likelihood approach to parameter estimation for the VAR model. Further, we use weekly search Index numbers (sourced from Google Trends) to analyze the contemporaenous relationship amongst searches for different major energy companies as well as searches for the term oil price. Interestingly, I show that searches for certain companies lead others and some companies are invariant to changes in the search volume for oil price. sAll the data is made available within the post and covers the period 2012-2015.
      This is a short post on how to create a basic Convolutional Neural Network using Tensorflow. All training and test data is from the MNIST dataset (different numbers in grayscale) and is sourced from Yann Lecun's Website. All code has been adapated from tutorials available on the Tensorflow website, I've made modifications and added comments so that the code is a little more intuitive. At the bottom of the notebook is a more in-depth explanation of how Convolutional Neural Networks work and includes descriptions and explanations for Rectifier Functions, Pooling, and Backpropogation.
      This is a short post on how to compute Bayesian Average Star Ratings. Essentially, we're re-weighting Star Ratings based on the number of reviews. I'm expanding on work done by District Data Labs and Paul Masurel. I go into the math a little bit more, the trick is assuming a Dirichlet distribution for the star reviews. This is a specific case for the more general post by Evan Miller.
      This post takes a quick look at the Academic dataset provided by Yelp for 2017. I filter only for restaurants in the business data and only for reviews related to restaurants within the review data. I'm also only taking a subset of all the reviews. There's some nice visualizations in here for how users and restaurant ratings are distributed. I also do a preliminary analysis on potential NLP features.
      This post creates a submission for the Quora Question Pair contest active through June 2017 on Kaggle. We use a combined feature set using TF-IDF, Cosine Similarity, Levenshtein Difference, Word Lengths, and Average Shared Words. We use XGBoost as the machine learning algorithm. XGBoost is a fast classification system originally built in C and which uses the concept of Boosted Regression Trees.