Field of study that gives computers the ability to learn without being explicitly programmed
Artificial Intelligence > Machine Learning > Deep Learning
ML algorithm takes Input and Output to generate a Program/Model
Traditional programming takes Input and Program to generate an Output
Training set given to an Algorithm which generates a Model
Classic & Adaptive System
Multiclass Classification
One vs All
Generate test cases equal to the number of classes
Generate classifier/model
Use test cases to obtain responses
Discard all negative responses
Response with highest probability is selected
One vs One
If "N" classes then generate number of Classifier equal to N(N-1)/2
Classifier is generated for pair of Classes
Confusion Matrix
False Positive (FP) => Type 1 Error
False Negative (FN) => Type 2 Error
Accuracy
Not a good metric to evaluate
Precision
Recall
Precision Recall Tradeoff
If one increases then the other decreases
F1 Score
2 * Precision * Recall/Precision + Recall
Curse of Dimensionality
Dimension represents the number of Attributes/Features used to build the Model
Accuracy of Model keeps on increasing with increase in Dimension upto a certain Threshold after that accuracy starts decreasing as irrelevant attributes will get used
Recommendation System
Content Based
Item similarity
Collaborative Filtering
User similarity
Learning Types
Batch Learning (Offline Learning)
System only learns once
Uses all available data, Generally done offline
Trained before being deployed, After Deploying does not learns more
Online Learning
System learns incrementally, Generally done online
Continuous data flow
It is feeded with individual data or mini batches
Batch Size => Data considered to calculate Loss function
Mini Batch => Reduce batch size
Each learning step is fast, Keeps learning even after being deployed as new data arrives