Sign in

AI Engineer; Masters in AI; Closet n3rd, Avid investor; Connect with me at→ https://www.linkedin.com/in/davidcjw

Do you know what the resizing factor for lists is in Python?

I’m only kidding. You don’t need to know Python’s list resizing factor to understand it well. But if you’d like to find out more, read here!

Coming from a non-computer science (CS) and non-technical background, I suffered from the lack of CS fundamentals when I first started my journey and career in Machine Learning (ML). This included things like understanding asymptotic runtime, memory usage, data structures, algorithms and much more. What made matters worse was that I jumped straight into ML without engineering fundamentals — I didn’t even know what the self in a class meant (in the Python context)…


Create your own personal stock updates slave

The telegram bot I will be referring to in this article is Stock Updates Slave and source code can be found here on this GitHub repository).

You might be thinking, why do we even need a service to update us of our portfolio holdings? Truth is, most of us are too busy with our daily lives and brokerage platforms that we are subscribed to provide such services but their push notifications come in the form of emails or mobile-app alerts that we are almost never inclined to click on or open. …


What you should know when using Docker to deploy AI/ML solutions

One of my main motivations for writing this article stems from a particular client’s refusal to adopt the usage of Docker due to concerns related to Docker security and potential user permission escalation within the container itself. As a relatively naïve and green AI engineer doing ML deployment with Docker, I found myself unequipped with the knowledge to address this issue.

A Quick Overview

What is Docker and why is it so popular?

Since its release in 2013, Docker has gained massive traction amongst software companies as it made deployment of containerized microservices extremely convenient and easy. …


Doing more with less

Bash aliases, Vim, and useful VSCode extensions

As an AI/ML Engineer (this applies to Software Engineers as well), the faster one can crunch out code, the greater our efficiency. Engineers are often good at their craft, but few try to squeeze out efficiencies in their day-to-day to maximize those gains.

These efficiencies or life hacks as I’d like to call them, may seem so insignificant to some but over time, really do add up to a lot. …


A step-by-step and end-to-end guide to building a durian classifier (code included)

So, I decided to build a web application to classify durians because hey, why not? Check it out here.

To all my international readers, if you don’t know what a durian is, it is a fruit (in Singapore we call it the King of Fruits) that has a creamy texture, a pungent smell (see image below) and a spiky exterior. This said pungent smell makes people either hate it or absolutely LOVE it (I fall into the latter category, obviously). If you think it smells good, then it probably tastes even better.


An afterthought to Lee Kai-Fu’s ‘AI Superpowers’

How far are we from complete AI coexistence?

Note: This article is largely inspired by Lee Kai-Fu’s ‘AI Superpowers’, along with some of my personal thoughts. Many ideas are abstracted from his book and any similarities found are intentional.

As a student, practitioner and advocate of AI, I’m fortunate to get a glimpse into how the AI technology works beneath the surface, and to a certain extent also allows me to imagine what kind of possibilities we have with AI not only in the present but also in the future.

To the man on the street, AI is seen as a technology that has the possibility to replace…


Introduction to SciPy’s Sparse Module

In recommender systems, we typically work with very sparse matrices as the item universe is very large while a single user typically interacts with a very small subset of the item universe. Take YouTube for example — a user typically watches hundreds if not thousands of videos, compared to the millions of videos YouTube has in its corpus, resulting in sparsity of >99%.

This means that when we represent the users (as rows) and items (as columns) in a matrix, the result is an extremely sparse matrix consisting of many zero values (see below).


From LM to Poly2 to MF to FM to FFM

In the context of recommender systems, Field Aware Factorization Machines (FFM) are particularly useful because they are able to handle large, sparse datasets with many categorical features.

To understand how FFM came about, let’s nail down some basics and understand why FFM are good and what they’re good for.

Linear Regression

The simplest model we can think of when we try to model the relationship between a dependent variable and one or more independent variables is a linear regression model.

For example, to predict what ratings a user might give a particular movie, we could use many different features as predictors. …


How Netflix achieved 80% stream time through personalization

Netflix is synonymous to most people in this day and age as the go-to streaming service for movies and tv shows. What most people do not know, however, is that Netflix started out in the late 1990s with a subscription-based model, posting DVDs to people’s homes in the US.

The Netflix Prize

In 2000, Netflix introduced personalised movie recommendations and in 2006, launched Netflix Prize, a machine learning and data mining competition with a $1 million dollar prize money. Back then, Netflix used Cinematch, its proprietary recommender system which had a root mean squared error (RMSE) of 0.9525 and challenged people to beat…


First of a three-part series to Unsupervised Learning

This is the first of a three-part series to clustering, where I will cover some of the most popular clustering algorithms including K-Means, Agglomerative clustering and Gaussian Mixture Models. These are different clustering methods based on partition/distance, hierarchy and density respectively.

This article specifically covers K-Means clustering.

“The unsupervised learning is the way most people will learn in the future. You have this model of how the world works in your head and you’re refining it to predict what you think is going to happen in the future.” — Mark Zuckerberg

Unsupervised learning forms a very niche part of Machine…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store