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 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 some…

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.

I assume the following:

- 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”? …

Data Scientist@ThoughtWorks