My Machine Learning Scratchpad, Day 1

Machine learning on its own [Image by Toptal]

Hello everyone,

My name is Dhruv[a.k.a DK] and I am going to write a series of blogs and post my learnings/findings/queries here. I researched a lot about learning Machine Learning and I found that the course on Machine Learning by Andrew Ng is an excellent starting point to learn the core concepts before heading to actually implement the algorithms in practice. I will try and be concise in my writing so that it remains clear and to the point. I hope it becomes a useful trail of information for any ML enthusiast who wants to learn ML from scratch.

Course Name: Machine Learning by Andrew Ng on coursera.org

Introduction:

Q. Where is ML currently used ?
To mine data(user clicks, medical records, etc.), computer vision, self driving vehicles, Natural Language Processing, Handwriting Recognition, product recommendations at Amazon or tv series recommendation at Netflix and many more…

Q. What is Machine Learning ?
Machine learning is a method of data analysis that automates analytical model building. Using algorithms that iteratively learn from data, machine learning allows computers to find hidden insights without being explicitly programmed where to look. [by sas, one of the leaders in ML]

Q. What are the types of ML algorithms ?
Basically of 2 types:
i. Supervised Learning:
In supervised learning, we are given a data set and already know what our correct output should look like, having the idea that there is a relationship between the input and the output. 
Mainly of 2 types:
Regression Problem: We try to map input to a continuous function(either linear/non-linear) and predict continuous output.
[Predict Housing prices, Estimate unit sale of a product in say 3 months]
Classification Problem: We try to map input to a discreet function(by segregating inputs) and predict discreet output.
[Does patient have breast cancer based on tumor size- patient age, how many user account hacked]

ii. Unsupervised Learning:
Usually the data is not labeled or organized and the problem is to find some structure. One of the most widely used unsupervised algorithm type is clustering algorithm. 
Real world application: Google news/Facebook news where it groups a similar type of news from various sources, Social Network analysis, Market Segmentations.

Mathematics:
Its very important to have a good background of calculus and linear algebra to learn various algorithms at core. I had learned them quite earlier when I was in school like 6 years ago and always wondered when will I use these! Today, I will concentrate on 2 basic concepts:

i. Linear regression with one variable: Link
ii. Linear algebra: Link

My Take:
Phew, thats all for Day 1. So, I got to know about the applications of Machine Learning as well as types of ML(Supervised and Unsupervised). I am assuming Supervised will be comparatively easy to implement and understand against Unsupervised. Also, Andrew mentioned about Open Source tool called Octave which can be used to do a quick PoC while developing an algorithm and implementing it later in higher level programing languages like C++/Java. 
Since, I am just starting off I am pretty much excited about ML, hope I keep up with it.

Signing off, Day 1
-DK, Peace & Love !