K-Means and Hierarchical Clustering

Efficient clustering algorithms implementations in TensorFlow and NumPy. – Jun 11, 2021

Here, our goal is to apply unsupervised learning methods to solve clustering and dimensionality reduction in two distinct task. We implemented the K-Means and Hierarchical Clustering algorithms (and their evaluation metrics) from the ground up. Results are presented over three distinct datasets, including a bonus color quantization example.

ML Clustering TensorFlow

The 2D Fourier Transform

Applying the Fourier Transform over images using TensorFlow. – Jun 9, 2021

Similarly to my previous post, I decided to publish here an assignment that was submitted to a Computer Vision class. Its goal is to apply the Discrete Fourier Transform over images using Python programming language and assess its results. Firstly, I implement low, high and band-pass circular filters in the frequency domain for 2D signals. Secondly, I present two examples: (a) a visualization of the frequency spectrum the when the original signal is rotated; and (b) an image compression strategy based on Fourier Transform.

Computer Vision Fourier TensorFlow

A Vectorized Implementation of The Convolution Operation

Implementing a few numeric operations over images using Python programming language. – Jun 8, 2021

In this post, I thought I shared an assignment I have recently done on a Computer Vision class. Although results in Computer Vision are easily represented and interpreted, the implementation of even the most basic operations can be quite challenging. Even when the idea behind some code is trivial, implementations on GitHub and other websites can be quite difficult to understand. A few reasons come to mind, but I believe one to be of paramount importance: vectorization.

Computer Vision TensorFlow

Explaining Machine Learning Models

Explainability using tree decision visualization, weight composition, and gradient-based saliency maps. – Jan 15, 2021

Estimators that are hard to explain are also hard to trust, jeopardizing the adoption of these models by a broader audience. Research on explaining CNNs has gained traction in the past years. I'll show two related methods this post.

ML AI Explaining Scikit-Learn TensorFlow