### The Value of Data

Although, there is not a simple answer for what came first - Chicken or Egg?, in Machine Learning, there is an easy answer. Data came first before any function. Machine learning is all about learning from data. The learning algorithm tries to learn a function that can either classify the data into different categories, or learn the function itself that plots the data.

There are two popular ways in which a Machine Learning algorithm can be taught to learn a function, but in both cases it needs data.

• Supervised Learning: We give the algorithm a lot of data with both input and output, and it learns the function. In case of regression problems, the function approximately plots the function that understands the data. In case of classification problems, the function tries to classify the data.

• Unsupervised Learning: We give the algorithm a lot of input data with no output, and it tries to find patterns in the data. The algorithm classifies the data based on the similarities of the data points. This method is called clustering.

In both the cases, enough data is needed for the algorithm to learn the function. Most of the machine learning algorithms are provided with three kinds of data -

• Training Data: This data is used by the algorithm to learn the function, based on which it tries to generalize.

• Validation Data: There is a high chance that the algorithm might overfit the training data, and will fail on any other data. To protect it from doing so, validation data is used. Validation data helps the algorithm to correlate how accurate it works on both known and unknown data.

• Test Data: Once the function is learnt, it is tested on the test data. Here the algorithm checks whether it is also able to generalize on the test data, and thus able to stand a better chance in generalizing future data it has to do inference on.

Two interesting questions emerge, both having elegant answers.

Question. What are the parameters to decide on the amount of data needed for the algorithm to learn a function?
Answer. This might come with experience, but the more the merrier. Today’s Machine Learning algorithms such as Neural Networks are so powerful that if not enough data is given, they overfit easily. Also once your model is fine tuned and no more optimization is possible, it will only do better with more data.

Question. What if there are outliers in the data?
Answer. To get better performance, such outliers should be filtered from the data, otherwise the algorithm might get confused, and thus create a function that tries to learn the outlier too. It also depends on how sensitive some algorithms are to such outliers.

In today’s generation where companies having more data are richer than companies with less data, it seems data will decide the future.

P.S: You don’t get any spam emails in your inbox, thanks to billions of email that your spam filter has been trained on.

### GPU - The brain of Artificial Intelligence

Machine Learning algorithms require tens and thousands of CPU based servers to train a model, which turns out to be an expensive activity. Machine Learning researchers and engineers are often faced with the problem of running their algorithms fast. Although initially invented for processing graphics in computer games, GPUs today are used in machine learning to perform feature detection from vast amount of unlabeled data. Compared to CPUs, GPUs take far less time to train models that perform classification and prediction. Characteristics of GPUs that make them ideal for machine learning Handle large datasets Needs far less data centre infrastructure Can be specialized for specific machine learning needs Perform vector computations faster than any known processor Designed to perform data parallel computation NVIDIA CUDA GPUs today are used to build deep learning image processing tools for  Adobe Creative Cloud. According to NVIDIA blog future Adobe applicati

### Understanding Projection Pursuit Regression

The following article gives an overview of the paper "Projection Pursuit Regression” published by Friedman J. H and Stuetzle W. You will need basic background of Machine Learning and Regression before understanding this article. The algorithms and images are taken from the paper. ( http://www.stat.washington.edu/courses/stat527/s13/readings/FriedmanStuetzle_JASA_1981.pdf )  What is Regression? Regression is a machine learning technology used to predict a response variable given multiple predictor variables or features. The main distinction is that the response to be predicted is any real value and not just any class or cluster name. Hence though similar to Classification in terms of making a prediction, it is largely different given what it’s predicting.  A simple to understand real world problem of regression would be predicting the sale price of a particular house based on it’s square footage, given that we have data of similar houses sold in that area in the past. T

### Understanding Generative Adverserial Networks - Part 1

This is a two part series on understanding Generative Adversarial Networks (GANs). This part deals with the conceptual understanding of GANs. In the second part we will try to understand the mathematics behind GANs. Generative networks have been in use for quite a while now. And so have discriminative networks. But only in 2014 did someone get the brilliant idea of using them together. These are the generative adversarial networks. This kind of deep learning model was invented by Ian Goodfellow . When we work with data already labelled, it’s called supervised learning. It’s much easier compared to unsupervised learning, which has no predefined labels, making the task more vague.  "Generative Adversarial Networks is the most interesting idea in the last ten years in Machine Learning." - Yann LeCun In this post, we’ll discuss what GANs are and how they work, at a higher , more abstract level. Since 2014, many variations of the traditional GAN have co