Machine Learning: For the Foreseeable Future
What is Machine Learning?
There are various problems and tasks in the world that are very hard to solve through just programming computers or through traditional methods and explicit instructions making computer games, phone apps or desktop applications are very doable through normal means whereas making a machine that can beat the best human in the computer game or making a car that can drive itself where having a computer recognize objects are not so simple, these are not things that you can easily just tell a computer to do. One way around this is time the computer how to learn and having a figure out how to get better through lots of practice or in computers case lots of data. This is machine learning.
Have you ever thought about how? • Facebook recommends you a friend • Bookmyshow recommends you a movie • Makemytrip recommends you a hotel when you book an air ticket • Amazon recommends you a product • Mails are categorized as spam in your mailbox • and … many others
They all use Machine Learning
Machine Learning is the computer equivalent of how humans learn from experience/data.
https://giphy.com/embed/xT8qB2PQF93mUbGvle
In Order to make this Possible we need to come to a lot of Mathematics with lots of programming.
“Machine Learning algorithms enable the computers to learn from data, and even improve themselves, without being explicitly programmed” — Arthur Samuel
Machine learning (ML) is a category of algorithm that allows software applications to become more accurate in predicting outcomes without being explicitly programmed.
The basic premise of machine learning is to build algorithms that can receive input data and use statistical analysis to predict an output while updating outputs as new data becomes available.
1. What will you all make if you learned machine learning?
History of Machine Learning
Just fifty years ago, machine learning was still the stuff of science fiction. Today it’s an integral part of our lives, helping us do everything from finding photos to driving cars. We’ve come very far, very fast, thanks to countless philosophers, filmmakers, mathematicians, and computer scientists who fueled the dream of learning machines.
Three Types of Machine Learning
Supervised Learning
Types of Supervised learning
• Classification: A classification problem is when the output variable is a category, such as “red” or “blue” or “disease” and “no disease”.
• Regression: A regression problem is when the output variable is a real value, such as “dollars” or “weight”
Unsupervised Learning
Types of Unsupervised learning
• Clustering: A clustering problem is where you want to discover the inherent groupings in the data, such as grouping customers by purchasing behavior.
• Association: An association rule learning problem is where you want to discover rules that describe large portions of your data, such as people that buy X also tend to buy Y.
Reinforced Learning
Machine Learning Process
Uber
Uber usage machine learning as a major part of its operation
management • Differential pricing based on • Demand • Number of cars available • Weather condition • Rush hours • And … a SURGE price recommendation appears
Application Areas of Machine Learning
- Prediction: Machine learning can also be used in prediction systems. Considering the loan example, to compute the probability of a fault, the system will need to classify the available data into groups.
- Image recognition: Machine learning can be used for face detection in an image as well. There is a separate category for each person in a database of several people.
- Speech Recognition: It is the translation of spoken words into the text. It is used in voice searches and more. Voice user interfaces include voice dialing, call routing, and appliance control. It can also be used as a simple data entry and the preparation of structured documents.
- Medical diagnoses: ML is trained to recognize cancerous tissues.
- The financial industry and trading: companies use ML in fraud investigations and credit checks.
- Examples: Wearable fitness tracker like Fitbit, or intelligent home assistant like Google Home.
Why Machine Learning is Important?
- Few real-life instances where ML is applied: • Google search • Spam mail filter • Self-driving Google car • Cyber fraud detection • Recommendation engines from Facebook, Netflix, Amazon, Flipkart, Makemytrip, etc
- ML enables filtering useful pieces of information and piecing them together based on patterns to get accurate results.
- The rapid evolution of ML has enabled a large number of use cases and demands in modern life.
- Big Data has better sophistication due to ML • Enables the analysis of large chunks of Big Data. • Automating generic methods/algorithms for data extraction and interpretation to replace traditional statistical techniques
Design a Learning System
- Choose the training experience
- Choose the target function
- Choose the representation for the target function
- Choose a function approximation algorithm • Estimating training values • Adjusting weights
- Final design
Choose Training Experience
- Direct training feedback • Individual action status and result feedback • Easier
- Indirect training feedback • Result as an outcome of a sequence of actions • Credit assignment for an individual action (good or bad)
- Degree of control of training experience by the learner
- Distribution of training examples impacting final system performance
- Training examples should have the same distribution as future real data
Choose Target Function
- What knowledge needs to be learned and how this will be used
- Learn to choose among the best of the legal actions
- Use of evaluation function to evaluate successive states to determine the best move
Representation of Target Function
- Representation to describe the target function
- How learning program will use target function
- Could be a collection of rules which match the features of the action state etc.
- Generalized equation:
Notations: y = output x = feature, attribute, dimension β = weight factor
Function Approximation Algorithm
- Choose a function approximation algorithm • Estimating training values • Adjusting weights
Final Design
Consists of four program modules • Performance system • Critique • Generalizer • Experiment generator
Designing a Checkers Learning Program
- Consists of four program modules • Performance system • Critique • Generalizer • Experiment generator
Machine Learning Technologies
- Keras: This is an open-source software library that focuses on simplifying the creation of deep learning. Written in Python, it can also be deployed on top of many other AI technologies such as Theano and TensorFlow.
- Torch: One of the oldest such technologies released all the way back in 2002, it is a machine learning library that has a variety of algorithms to offer for deep learning.
- Caffe: Being one of the more recent options, the best part about Caffe is that it inspires a degree of innovation with an expressive architecture along with the provision of a vibrant community. This machine learning framework primarily focuses on speed, expressiveness, and modularity.
- TensorFlow: With the initial release of this open-source machine learning framework being 2015, it has been deployed across many different platforms and is easy to use. Created by Google at first, now all the top tech giants such as eBay, Dropbox, Intel, and Uber use it extensively.
- Theano: This is basically an open-source Python library that you can use to fashion various machine learning models. Being one of the oldest libraries, it is regarded as an industry standard. It simplifies the process of optimizing, defining, and assessing mathematical expressions.
- Microsoft Cognitive Toolkit: Initially released about three years back, this is an AI solution that you can use to take your machine learning projects to the next level in every way.
Common Machine Learning Terms
- Accuracy: Percentage of correct predictions made by the model.
- Algorithm: A method, function, or series of instructions used to generate a machine learning model. Examples include linear regression, decision trees, support vector machines, and neural networks. Also known as ‘Hypothesis’.
- Attribute: A quality describing an observation (e.g. color, size, weight). In Excel terms, these are column headers. Also called ‘Dimension’.
- Bias: Allow models to represent patterns that do not pass through the origin.
- Convergence: A state reached during the training of a model when the error changes very little between each iteration.
- Instance: A data point, row, or sample in a dataset. Also called ‘observation’
- Label: The answer to supervised learning
- Loss = True Value — Predicted Value. Also called ‘Error’
- Model: A data structure that stores a representation of a dataset (weights and biases). Models are created/learned when you train an algorithm on a dataset.
- Learning Rate: Size of the update steps to take during optimization loops like gradient descent
Issues arise in Machine Learning
Algorithms Related:
- What algorithms exist for learning general target functions from specific training examples?
- In what settings will particular algorithms converge to the desired function, given sufficient training data?
- Which algorithms perform best for which types of problems and representations?
Training Data Related:
- How much training data is sufficient?
- What general bounds can be found to relate the confidence in learned hypotheses to the amount of training experience and the character of the learner’s hypothesis space?
Prior Knowledge Related:
• When and how can prior knowledge held by the learner guide the process of generalizing from examples?
• Can prior knowledge be helpful even when it is only approximately correct?
Learning Related:
• What is the best strategy for choosing a useful next training experience?
• How does the choice of strategy alter the complexity of the learning problem?
• What is the best way to reduce the learning task to one or more function approximation problems?
• What specific functions should the system attempt to learn?
• Can the learning process itself be automated?
• How can the learner automatically alter its representation to improve its ability to represent and learn the target function?
Bibliography
- The Mathematics of Machine Learning
- Machine Learning Tom M. Mitchell The McGraw-Hill Companies, Inc. International Edition 1997