My learning goal for 2018 is to look at a wide variety of machine learning tools/packages, create my own mini project, collect designated data and try to implement them. Click on project titles to look at source code.

01/03 Painting Style Classification with Convolutional Neural Network


Thanks to Turi Create, CNN can be easily implemented on a tiny dataset I collected with ~200 images of pop/classical art paintings. Probably also due to the small size of the dataset, I even set the train-test split down to 0.5 and used 5-fold cross-validation but was still getting 98%+ accuracy score without tuning the parameters. Next step: add in more styles of paintings, try tuning the parameters and try out other classification models available in graphlab. Meanwhile, I’ll look into writing a better scraper that can download batches of original sized images from Google.

Also some interesting reads: 1. this 2015 paperA Neural Algorithm of Artistic Style explains how to use CNN to reconstruct artistic styles; 2.this blog post by Cameron Mence about drawing with artistic styles with CNN (Tensorflow implementation); 3. and ai-painter are applications of neural network on painting styles that let you turn photos into Van Gogh style.

example of pop art

example of classical art

example of “pop” being predicted as “classical”






The billboard-style painting President Elect(1960) by pop artist James Rosenquist was able to fool the algorithms.



01/07 Building a Business Intelligence/Visualization Platform with Superset

Superset, an open-source BI platform built by Airbnb, is a more cost-effective alternative to Tableau. Since Superset is written in python, supporting tools like pandas and SQLAlchemy makes it a convenient visualization platform for ML and data mining applications.

01/16 Deep Learning with Keras

To start off, I did a simple digit recognition project on the MNIST database (which is rather convenient since MNIST is already in Keras dataset). Using Theano, the model was able to achieve 99% accuracy on digit recognition.

02/03 Exploring OpenCV



Satya Mallick has an amazing blog about learning OpenCV.

More contents coming soon…

02/16 Group Competition: 2018 Data Science Bowl