Machine Learning

Neural Networks and Machine Learning

These are stories primarily aimed at beginners who want to get started with machine learning. They target the Julia programming language as there is little material online for Julia aimed at complete beginners.

I try to write articles as well about the kind mathematics which is important to learn to understand machine learning, such as various matrix operations.

Machine learning is basically a ton of matrix operations.

Flux Machine Learning Library

  • Gentle Introduction to Machine Learning. A story focused on understanding what machine learning is actually about in general. We cover important topics like:
    • Automatic Differentiation
    • What is a Gradient and why are they important to machine learning.
    • The Gradient Descent method.
  • Implementation of a Modern Machine Learning Library. We look under the hood of Flux, to see how it is implemented. Flux is a machine learning library based on automatic differentiation of any regular Julia function. This is the modern approach to ML.
  • Recognize Handwriting Using an Artificial Neural Network. Introduces standard neural network concepts such as perceptrons, layers and activation functions using the Flux ML library.
  • Working with and emulating References in Julia. How we can get reference like behavior from Ref, Tuple and Array types and how they work differently with map and broadcast.
  • Working with Data in Tables for Machine Learning. A lot of the data you are going to feed into your Machine Learning algorithms will come in the shape of tables or data frames. Hence to do machine learning it is useful to have a good handle on how to manipulate data in tables, as well as visualizing that data with a plotting library.
  • Flux vs TensorFlow Misconceptions People comming from TensorFlow and PyTorch often get the immediate impression that Flux is missing a lot of functionality. Here I try to explain how that is a misconception.

PyTorch and Flux

Mathematics Relevant to Machine Learning