Machine Learning
In the current era, this term has become so common and popular that almost every person who is involved in technical work knows this. It has become so fascinating to students that everyone tries to work somewhere in this so that this word can come at least on their CV under professional experience. I am working in Automotive field since 3 years and have met many students and also guided some. I have observed almost every student is fascinated about the field and also its sub field deep learning. Many of them know what exactly it is and why and where it is used and many of them still trying to find and learn more.
Machine learning is a method of data analysis that automates analytical model building. It is a branch of artificial intelligence based on the idea that systems can learn from data, identify patterns and make decisions with minimal human intervention. It has found applications in various fields like Finance, Marketing, Robotics, Autonomous driving, Image processing, Web based applications, E-commerce, etc. If I put it in very simple and common man language then, Machine learning is a black box (one or more computer algorithms) which can take data as input and provide decisions as output. Every Machine learning application development has 2 phases. First phase is training phase where network is trained or algorithm parameters are tuned as per input data and the second phase is to use this trained network (also known as model) to get decisions (as output) from machine based on new input data.
In broad sense, Machine learning algorithms can be classified as:
- Supervised Learning
- Unsupervised Learning
- Semi-supervised Learning
- Reinforcement Learning
As mentioned above, it is branch of (or rather part of) Artificial Intelligence. What makes machine learning and other similar algorithms in the category different from other computer software is that these algorithms have ability to learn by themselves with time and with more data and adapt themselves to improve their decision making process in form of expected and more accurate outputs.
As per my experience, machine learning can be adapted by two step process. At first understand the concepts, terminologies and mathematics behind the algorithms. At second stage, implement one or more algorithms on real data to develop models and then use them. For implementation, one can use any programming languages. I personally prefer to work in Python and Matlab for rapid development and then the developed model can be exported into C/C++ for production code generation.
If we search the courses on machine learning, then internet is full of many courses and hence I am not going to re-invent the wheel. Hence I am just listing the references below which are used by me during my learning and project development. In future I will add more references as and when I refer and find something good.
References
1. Online course on Machine Learning from Coursera by Prof. Andrew Ng (Stanford University)
This video course is very well designed and provided a good start for beginners who either new to the field or working at intermediate level. It covers basics, mathematical foundation, terminologies used in this field and algorithms (not programming) required to understand the underlying of Machine learning. Same course (old videos) are also available on YouTube. Please click here.
- Linear regression and logistic regression with one and more variables
- Regularization
- Neural Networks
- Machine learning system design
- Support Vector Machines
- Unsupervised Learning
- Dimensional Reduction
- Anomaly detection
- Large scale Machine learning
2. Book: Master Machine Learning Algorithm With Python by Jason Brownlee
This book provides very good practical oriented step by step process to develop predictive models using machine learning algorithms. Short and handy to use
- Python Ecosystem for Machine Learning.
- Python and SciPy Crash Course.
- Load Datasets from CSV
- Understand Data With Descriptive Statistics.
- Understand Data With Visualization
- Pre-Process Data
- Feature Selection
- Resampling Methods.
- Algorithm Evaluation Metrics.
- Spot-Check Classification & regression Algorithms.
- Model Selection.
- Pipelines and Ensemble Methods
- Model Finalization.