I love machine learning algorithms. I've taught classes and seminars and given talks on ML. The subject is fascinating to me, but like all skills fascination simply isn't enough. To get good at something, you need to practice!
Whenever I say that Tidal Labs' ML algorithms are in PHP, they look at me funny and ask me how it's possible. Simple: it's possible to write ML algorithms in just about any language. Most people just don't care to learn the fundamentals strongly enough that they can write an algorithm from scratch. Instead, they rely on Python libraries to do the work for them, and end up not truly grasping what's happening inside the black box. Other people only know ML academically, using Octave or Matlab.
- If you're a web developer you probably already know JS, regardless of your backend expertise.
- Several people asked me to stick to just one language.
Keep in mind that most of the algorithms we'll look at can be solved both with and without matrix math. We'll use iterative or functional approaches here, but most of these algorithms can be done with linear algebra as well. There's more than one way to skin a cat! I encourage you to also go and learn (or figure out) the linear algebra approaches, but since that's not my strong suit I'll use other approaches.
Here are some of the algorithms I intend to cover. I'll update this list with links to the relevant articles as they're published:
- k-nearest-neighbor (Introduction)
- k-means clustering (Part 1)
- Genetic algorithms (Part 1, Part 2)
- Naive Bayes classifier (Part 1: Document Classification)
- Sentiment Analysis (Part 1)
- Full-text Search (Part 1: Relevance Scoring)
- Neural network