Algorithm Test Engineering Part 2: Machine Learning

If we don’t exactly know what we are testing, how can we test? In my previous algorithm test engineering article, I discussed the testing and analysis of more classical algorithms, such as binary search. While the overall testing of algorithms can be complicated, most classical algorithms can be described as having quite clearly defined inputs, outputs, […]

Read More Algorithm Test Engineering Part 2: Machine Learning

Algorithm Test Engineering: Exploratory Job Analysis

Recently I had a discussion about what it means to test an algorithm, or what it means to do algorithm test engineering. I couldn’t quite come up with a convincing definition for myself. At a basic level, maybe you figure out some basic rules of the algorithm, give it some input and output. Check the results. But I believe there is more to it, and this is what I explore in this article.

Read More Algorithm Test Engineering: Exploratory Job Analysis

Metamorphic Testing of Machine-Learning Based Systems

aditional software. With traditional software, the specification and its relation to the implementation is typically quite explicit. With more complex machine learning-based system, this relation is harder to explicitly define. This makes testing them more complicated. In this article, I present an updated version of my earlier work on using metamorphic testing for ML based systems.

Read More Metamorphic Testing of Machine-Learning Based Systems

Understanding the Poisson Distribution

I find probability distributions would often be useful tools to know and understand, but the explanations are not always very intuitive. The Poisson distribution is one of the probability distributions that I have run into quite often. Most recently I ran into it when preparing for some AWS Machine Learning certification questions. Since this is […]

Read More Understanding the Poisson Distribution