Intro To Deep Learning with Clojure

This is the code for a talk I gave to the Clojure PDX meetup group on Intro to Deep Learning w/ Clojure using ThinkTopic/cortex

The talk examined the question "Given that Python dominates ML/DL; Is there a valid use case for Clojure?" and came to the conclusion is that deep learning is not a silver bullet but a power tool that can

  • handle much of the feature engineering,
  • handles complex (non linear) problems
  • and has many interesting advancements coming quickly

So if you are interested in machine learning, and you should be, do not be intimidated by ANNs or the math. Of course the more math you know the better but a high level understanding of linear algebra and simple calculus is all you need to get started.

Also, as much as I love Clojure it might be easiest to start with Keras (and Tensorflow or Theano) as there are many tutorials, articles and books.

But if you use Clojure or have a JVM based system you don't have to change your deployment process to deploy Python. Its possible to build production grade systems using Cortex or DeepLearning4J.

The slides are available as a pdf and on slideshare.

The code is on github. The demo code is not meant to be a good deep neural net, good data science or even good clojure code. Just the simplest possible DNN example using cortex. It reads data from a csv file. The csv file has 11 feature columns followed by the target column we are trying to predict.

If you have any questions or want to discuss a machine learning project I'd love to hear from you and help.