Course Syllabus for Machine Learning
Chapter 1. Definition of learning systems. Goals and applications of machine learning. Aspects of developing a learning system: training data, concept representation, function approximation.
Chapter 2. The concept learning task. Concept learning as search through a hypothesis space. General-to-specific ordering of hypotheses. Finding maximally specific hypotheses. Version spaces and the candidate elimination algorithm. Learning conjunctive concepts. The importance of inductive bias.
Decision Tree Learning
Chapter 3. Representing concepts as decision trees. Recursive induction of decision trees. Picking the best splitting attribute: entropy and information gain. Searching for simple trees and computational complexity. Occam’s razor. Overfitting, noisy data, and pruning.
(read this paper) Using committees of multiple hypotheses. Bagging, boosting, and DECORATE. Active learning with ensembles.
Experimental Evaluation of Learning Algorithms
Chapter 5. Measuring the accuracy of learned hypotheses. Comparing learning algorithms: cross-validation, learning curves, and statistical hypothesis testing.
Computational Learning Theory
Chapter 7. Models of learnability: learning in the limit; probably approximately correct (PAC) learning. Sample complexity: quantifying the number of examples needed to PAC learn. Computational complexity of training. Sample complexity for finite hypothesis spaces. PAC results for learning conjunctions, kDNF, and kCNF. Sample complexity for infinite hypothesis spaces, Vapnik-Chervonenkis dimension.
Rule Learning: Propositional and First-Order
Chapter 10. Translating decision trees into rules. Heuristic rule induction using separate and conquer and information gain. First-order Horn-clause induction (Inductive Logic Programming) and Foil. Learning recursive rules. Inverse resolution, Golem, and Progol.
Artificial Neural Networks
Chapter 4. Neurons and biological motivation. Linear threshold units. Perceptrons: representational limitation and gradient descent training. Multilayer networks and backpropagation. Hidden layers and constructing intermediate, distributed representations. Overfitting, learning network structure, recurrent networks.
Support Vector Machines
(Paper handouts) Maximum margin linear separators. Quadractic programming solution to finding maximum margin separators. Kernels for learning non-linear functions.
Chapter 6 and new on-line chapter. Probability theory and Bayes rule. Naive Bayes learning algorithm. Parameter smoothing. Generative vs. discriminative training. Logisitic regression. Bayes nets and Markov nets for representing dependencies.
Chapter 8. Constructing explicit generalizations versus comparing to past specific examples. k-Nearest-neighbor algorithm. Case-based learning.
Bag of words representation. Vector space model and cosine similarity. Relevance feedback and Rocchio algorithm. Versions of nearest neighbor and Naive Bayes for text.
Clustering and Unsupervised Learning
(Chapter 14 from Manning and Schutze text) Learning from unclassified data. Clustering. Hierarchical Aglomerative Clustering. k-means partitional clustering. Expectation maximization (EM) for soft clustering. Semi-supervised learning with EM using labeled and unlabled data.
(paper handouts) Classification problems in language: word-sense disambiguation, sequence labeling. Hidden Markov models (HMM’s). Veterbi algorithm for determining most-probable state sequences. Forward-backward EM algorithm for training the parameters of HMM’s. Use of HMM’s for speech recognition, part-of-speech tagging, and information extraction. Conditional random fields (CRF’s). Probabilistic context-free grammars (PCFG). Parsing and learning with PCFGs. Lexicalized PCFGs.
What is the best programming language for machine learning?
Five Best Languages for Machine Learning
Python Programming Language. With over 8.2 million developers across the world using Python for coding, Python ranks first in the latest annual ranking of popular programming languages by IEEE Spectrum with a score of 100. …
R Programming Langauge. …
What can machine learning be used for?
Machine learning algorithms find natural patterns in data that generate insight and help you make better decisions and predictions. They are used every day to make critical decisions in medical diagnosis, stock trading, energy load forecasting, and more.
What is machine learning examples?
But what is machine learning? … For example, medical diagnosis, image processing, prediction, classification, learning association, regression etc. The intelligent systems built on machine learning algorithms have the capability to learn from past experience or historical data.
How difficult is machine learning?
However, machine learning remains a relatively ‘hard’ problem. There is no doubt the science of advancing machine learning algorithms through research is difficult. … Machine learning remains a hard problem when implementing existing algorithms and models to work well for your new application.
What is machine learning for beginners?
Machine Learning is a system that can learn from example through self-improvement and without being explicitly coded by programmer. The breakthrough comes with the idea that a machine can singularly learn from the data (i.e., example) to produce accurate results.
Intricacies of Machine Learning in Data Science
Machine learning served as APIs
Machine learning is no longer just for geeks. Nowadays, any programmer can call some APIs and include it as part of their work. With Amazon cloud, with Google Cloud Platforms (GCP) and many more such platforms, in the coming days and years we can easily see that machine learning models will now be offered to you in API forms. So, all you have to do is work on your data, clean it and make it in a format that can finally be fed into a machine learning algorithm that is nothing more than an API. So, it becomes plug and play. You plug the data into an API call, the API goes back into the computing machines, it comes back with the predictive results, and then you take an action based on that.
Machine learning – some use cases
Things like face recognition, speech recognition, identifying a file being a virus, or to predict what is going to be the weather today and tomorrow, all of these uses are possible in this mechanism. But obviously, there is somebody who has done a lot of work to make sure these APIs are made available. If we, for instance, take face recognition, there has been a plenty of work in the area of image processing that wherein you take an image, train your model on the image, and then finally being able to come out with a very generalized model which can work on some new sort of data which is going to come in the future and which you have not used for training your model. And that typically is how machine learning models are built.
The case of antivirus software
All your antivirus software, typically the case of identifying a file to be malicious or good, benign or safe files out there and most of the anti viruses have now moved from a static signature based identification of viruses to a dynamic machine learning based detection to identify viruses. So, increasingly when you use antivirus software you know that most of the antivirus software gives you updates and these updates in the earlier days used to be on signature of the viruses. But nowadays these signatures are converted into machine learning models. And when there is an update for a new virus, you need to retrain completely the model which you had already had. You need to retrain your mode to learn that this is a new virus in the market and your machine. How machine learning is able to do that is that every single malware or virus file has certain traits associated with it. For instance, a trojan might come to your machine, the first thing it does is create a hidden folder. The second thing it does is copy some dlls. The moment a malicious program starts to take some action on your machine, it leaves its traces and this helps in getting to them.
Machine Learning is a new trending field these days and is an application of artificial intelligence. It uses certain statistical algorithms to make computers work in a certain way without being explicitly programmed. The algorithms receive an input value and predict an output for this by the use of certain statistical methods. The main aim of machine learning is to create intelligent machines which can think and work like human beings.
Requirements of creating good machine learning systems
So what is required for creating such intelligent systems? Following are the things required in creating such machine learning systems:
Data – Input data is required for predicting the output.
Algorithms – Machine Learning is dependent on certain statistical algorithms to determine data patterns.
Automation – It is the ability to make systems operate automatically.
Iteration – The complete process is an iterative i.e. repetition of the process.
Scalability – The capacity of the machine can be increased or decreased in size and scale.
Modeling – The models are created according to the demand by the process of modeling.
Methods of Machine Learning
The methods are classified into certain categories. These are:
Supervised Learning – In this method, input and output is provided to the computer along with feedback during the training. The accuracy of predictions by the computer during training is also analyzed. The main goal of this training is to make computers learn how to map input to the output.
Unsupervised Learning – In this case, no such training is provided leaving computers to find the output on its own. Unsupervised learning is mostly applied on transactional data. It is used in more complex tasks. It uses another approach of iteration known as deep learning to arrive at some conclusions.
Reinforcement Learning – This type of learning uses three components namely – agent, environment, action. An agent is the one that perceives its surroundings, an environment is the one with which an agent interacts and acts in that environment. The main goal in reinforcement learning is to find the best possible policy.
How does machine learning work?
Machine learning makes use of processes similar to that of data mining. The algorithms are described in terms of target function(f) that maps input variable (x) to an output variable (y). This can be represented as:
There is also an error e which is the independent of the input variable x. Thus the more generalized form of the equation is:
y=f(x) + e
The common type of machine learning is to learn the mapping of x to y for predictions. This method is known as predictive modeling to make most accurate predictions. There are various assumptions for this function.
Applications of Machine Learning
Following are some of the applications:
Benefits of Machine Learning
Everything is dependent on these systems. Find out what are the benefits of this.
Decision making is faster – It provides the best possible outcomes by prioritizing the routine decision-making processes.
Adaptability – It provides the ability to adapt to new changing environment rapidly. The environment changes rapidly due to the fact that data is being constantly updated.
Innovation – It uses advanced algorithms that improve the overall decision-making capacity. This helps in developing innovative business services and models.
Insight – It helps in understanding unique data patterns and based on which specific actions can be taken.
Business growth – With machine learning overall business process and workflow will be faster and hence this would contribute to the overall business growth and acceleration.
Outcome will be good – With this the quality of the outcome will be improved with lesser chances of error.
Deep Learning is a part of the broader field machine learning and is based on data representation learning. It is based on the interpretation of artificial neural network. Deep Learning algorithm uses many layers of processing. Each layer uses the output of previous layer as an input to itself. The algorithm used can be supervised algorithm or unsupervised algorithm.
Deep Neural Network
Deep Neural Network is a type of Artificial Neural Network with multiple layers which are hidden between the input layer and the output layer. This concept is known as feature hierarchy and it tends to increase the complexity and abstraction of data. This gives network the ability to handle very large, high-dimensional data sets having millions of parameters.