Photo by McDobbie Hu on Unsplash

I have always been fascinated by how properties of any waveform are related to the way we perceive it. Especially the shape of waveforms and shapes from which waves originate. We know that sound is a mechanical wave and it needs a medium to travel. A source of vibration displaces air molecules in an oscillatory manner and these oscillations produce compressions and rarefactions (areas of high and low pressure). These pressure changes interact with our ear drum and we perceive sound. Now, if all kinds of vibrations are only causing air molecules to vibrate, there must be something very special…


When we are training machine learning algorithms for various classification tasks, accuracy seems to be a meaningful metric. For example, if we are training a classifier to predict whether a picture contains a cat or a dog, accuracy might be a good way to measure the performance of the trained model. Model accuracy is defined as the number of classifications a model correctly predicts divided by the total number of predictions made. So higher the model accuracy, the better the model.

But is this always true? Accuracy can be a good metric to look at for many scenarios, but for…


Most of research in speech recognition has relied on the availability of labelled data. Especially end to end automatic speech recognition (ASR) systems benefit from large quantities of labelled training data. Such networks need thousands of hours of data to reach an acceptable performance, which is not available for the majority of the spoken languages in the world.

Self supervised learning is a subset of unsupervised learning where instead of learning from labels, you can generate output labels intrinsically from the data object by exposing a relation between the parts of the object or different views of the object. This…


Clustering is an unsupervised learning technique in which we are trying to find groupings in the data set based on some known or unknown properties which might exist. Irrespective of which technique you may use these are the things we are trying to achieve:

  • Within a cluster the points should be similar to each other.
  • Between two clusters you need to have a dissimilarity.

Depending on how we define these similarities and dissimilarities there are a number of techniques which one can use. Let us make the problem more concrete.

Where d is the Eucledian distance between two points. We…


There are numerous posts about setting up your GPU on the internet. I tried to follow so many of them to set up my machine, but was somehow not able to do so. There are so many variables in this process which span from nvidia driver version, cuda tool kit version, CUDnn version, python version, tensorflow version etc. The list goes on. It is also a good idea to see if your GPU supports CUDA integration here.

Photo by Christian Erfurt on Unsplash

I assume the following:

  1. There are no previous nvidia drivers on the machine. If there are, I recommend to uninstall them first otherwise…

Bayesian decision theory is a fundamental statistical approach to solve classification problems. It relies on prior probabilities and class conditional densities to reach a decision. Often it is stated that Bayes classifier is the most optimum among all classifiers and it has the least error. In simple terms, it aims to minimize the probability of error in classification problems.

One should also think that if in fact Bayes’ classifier is the best classifier for any classification problem, why do we need other classification methods in the first place! Also, how do we define “best”? …

Anirudh Gupta

Data Scientist@ThoughtWorks

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