I have come across two distinct flavours of beginner behaviours on stack-exchange site related to data science. I believe they are symptoms representing what is the larger problem ailing field of data science. Let us go through the symptoms first. My tone in this article is extremely acerbic because I feel strongly for my field. Deep Learning Voodo Problem Someone will post a problem like, “I am trying to fit (some complex deep learning architecture) model on (a bad problem for starting with DL).
Click here for introduction to this series and motivation. Differential Equations An equation is about balancing two sides of a (weight) balance scale. The equations that we study in school (x + 4 = 9) are about finding the number which will balance the scale. But there could be equations for which solution which balances things is a function and not a number! Specifically, you could have equations which relate a change in certain quantity with respect to that quantity.
Click here for introduction to this series and motivation. Linear Algebra Basics There are two ways to look at matrices. One view is about a matrix representing some data (to be covered in later part of this series) Another view is: matrix encodes the operation of a linear system on its inputs. In this (3) view, a matrix represents a linear map. Matrix-vector multiplication is taking a vector represented in one coordinate system and transforming it to vector in another co-ordinate systems.
I had to study a lot of maths in higher secondary and engineering. There were 2 maths subjects for 2 years after secondary school and 3 maths subjects in the first two years of engineering. Despite studying so much maths, graduate school was a rude shock for me. I just couldn’t wrap my head around of a lot of lectures. The problem was the way maths was taught. Most of the teachers taught maths as an end in itself, mostly devoid of the most important question: “why”?
Throughout my school life I tried to stay away from biology studies. I specifically chose studying physics and maths instead of biology in higher secondary school. Even during secondary school, science 1 generally had physics and chemistry whereas science 2 contained protozoans and all other wiggling beasts. Guess who barely got over line in science 2. The logic for a high school students in India was simple. You chose biology if you wanted to be a doctor (or do a research in microbiology) which meant spending many years studying and daddy needs to have lot of money to get you into medical school.
I have been teaching machine learning to programmers since some time. I started this activity in 2013 and till date I have conducted 10+ hands on workshops. All these workshops were typically 3-3.5 hours long and covered some theory, coding examples through Python (ocassionally R) and interactive discussions. They were attended by 10-50 programmers. Here are some learnings from this teaching activity, in no particular order. Many of them were in fact goof-ups that I did at one point of time, so these are indeed lessons from trenches.
Well the title is intentionally exaggerating. May not the biggest but certainly one of the most important area of friction in taking machine learning to production. Scenario Imagine that you/your data scientist has written a functional machine learning pipeline in Python today. And by pipeline I mean data transformation as well as prediction code. For example, you could have a data which is mix of text and numeric features. You might do some text processing to generate n-gram features with some custom filters on the text.
In these posts I’m studying the book Practical Common Lisp by Peter Seibel and coding the examples in Clojure. Aim: studying clojure and reading this fantastic book can be accessed online here. In part 4 of this post, we saw the code from chapter 9 of the book about creating a test framework. In this post, we continue the code of chapter 9 and iron out few kinks in our unit test framework.
In these posts I’m studying the book Practical Common Lisp by Peter Seibel and coding the examples in Clojure. Aim: studying clojure and reading this fantastic book can be accessed online here. In part 3 of this post, we saw the code from chapter 3 of the book in which we implemented an in-memory documentish database with select, where and update. Now I am tackling the code from chapter 9, building a test framework.