Getting Started — from novice to somewhere in the middle

Osita Chibuike
A year of ML
Published in
4 min readJan 6, 2019
Image source, Digital ocean, just have to say its kinda rad.

Introduction

Late last year I decided to learn the 3 major development trends in modern day technology. I can’t remember the third, A decision which leads me to 2 major fields of computing technology which I felt would really change the future. These were Machine learning and Blockchain development. but they both had their constraints. One dealt with a lot of data and the other dealt with developing totally decentralized systems.

Machine learning gives computers the ability to understand patterns and relationship between a set of inputs and output data, for example between a set of Images representing handwritten numbers and a set of actual integers or numbers. While Blockchain development allowed us to build systems which do not run on a centralized server or service, therefore allowing applications to existing as their own entities without any need for central control.

These two technologies combined can create a future whereby we’d have software capable of initiating transactions out of their own will (will here meaning decision, I’m not implying Skynet). Machine learning is possibly the future of Artificial intelligence, but its such a crucial fields, such that one can’t sit on the sidelines while someone else develops sky-net. More people have to get involved because computers are going to get smarter and better, continually doing more and more of what man can do.

In this path, I decided to take on a personal process in learning Machine learning and I aim to share my process as I learn the ropes. therefore this is for the beginners in Machine learning, from one beginner to another, welcome.

I could go on about the history of Machine learning, but I’m quite certain you can google them and get to learn its history, but we are going to learn from the present. I’m a big advocate of sequential learning, and it’s important to follow a learning path, like a curriculum to help get the ideas and process down and right.

Our Learning path.

  • Regression and Regressions theories
  • R squared Theory, Best fit line, Best fit slope
  • Data representations.
  • Classification
  • Supervised learning
  • K nearest neighbors
  • Support vector machines
  • Deep learning
  • Unsupervised learning
  • Decision Trees.

For the first portions, we are going to have to find our roots in the basic math for machine learning and getting on with it. If you were a good student, I’m pretty sure you’d remember most of these, in minute versions though, but we are going to hone in our focus on the following fields of math.

  • Linear algebra
  • Multivariate Calculus
  • Principal Component Analysis
  • Baysean Theorems

here’s our curriculum.

Linear Algebra

Vectors

  • Vector operations
  • Dot products
  • Modulus and inner product
  • Projection
  • Basis, Vector space and linear independence.
  • Dot product of vectors.
  • Linear dependency of a set of Vectors

Matrices: Objects that operate on vectors.

  • Matrices vectors and solving simulataneous equations.
  • How matrices transform space
  • Matrix Transformation.
  • Composition or Combination of matrix transforms
  • gaussian elimination.
  • Determinants and inverse

Matrices making Linear Mappings.

  • Einstein Summation convention and symmetry of the dot product.
  • The Gram-Schmidt process.

Eigenvectors and Eigenvalues

  • What are eigenvalues and eigenvectors.
  • Eigenvalues and Eigenvectors in Page rank.

Multivariate Calculus.

Multivariate Calculus

  • Functions
  • Derivatives
  • Product rule
  • Chain rule
  • Variables, Constants and Context
  • Jacobian
  • Hessians

Multivariate chain rule and its application.

  • Multivariate chain rules.
  • Simple Neural networks

Taylor series and linearisation.

  • Introduction to Optimizations
  • newton-raphson
  • Langrange multipliers
  • Gradient descent.

Regression.

  • Simple linear regression.
  • General non-linear least squares.

PCA: Principle Component Analysis

Statistics of datasets

  • Mean of a dataset
  • Variance of a one dimensional datasets.
  • Variance on higher dimensional datasets.

Inner products.

  • Definition of Inner products.
  • Length of vectors
  • The distance between vectors.
  • Angles and orthogonality

Orthogonal Projections.

  • Projections on 1D subspace
  • Projections on higher-dimensional subspaces.

Principal Component Analysis.

  • Problem setting and PCA objective
  • Finding the coordinates of the projected data
  • Reformulation of the objective
  • Finding the basis vectors that span the principal subspace
  • Steps of PCA
  • PCA in high dimensions

Seems like a lot right, well each category is supposedly a week of study and writing, therefore, that would probably be about. 13 weeks of mathematical acclimatization. Before we get into the nitty-gritty of ML. Like I said earlier this is my learning experience.

These we’ll have to take into account clearly before we proceed into the machine learning path, laid above. Machine learning as a field is really broad and deep, therefore there a lot we can get lost in. This series aims to get us on a path, via which we can learn the ropes and not feel like a fish out of water when machine learning is mentioned.

In order to provide an adequate balance between math jargons and code, most of the code references in the series would be compiled into a jypyter note which would be provided on a GitHub link for running testing and checking shit out. The idea is to get up and running in as little time as possible and learning via doing.

Some theory here and there, rooted with practice and practical approach.

Conclusion.

Machine learning is a field that changes really fast, deeply rooted in mathematics and therefore requires a real good understanding of mathematical concepts around vectors, matrices, calculus, and statistics.

It’s a tough beast, but I believe I’ll be able to take it down.

--

--