Python Deep Learning Basics Machine Learning
Python Deep Learning Basics: Machine Learning
Artificial intelligence (AI) is any code, algorithm, or technique that enables computers to mimic human cognitive behavior or intelligence. Machine learning (ML) is a subset of AI that uses statistical methods to enable machines to learn and improve with experience. Deep learning is a subset of machine learning that makes multi-layer neural networks computationally feasible. Machine learning is considered shallow learning, while deep learning is considered layered learning with abstraction.
Machine learning involves a broad range of concepts. These concepts are listed below.
- Supervised
- Unsupervised
- Reinforcement learning
- Linear regression
- Cost function
- Overfitting
- Underfitting
- Hyperparameters, etc.
In supervised learning, we learn to predict values from labeled data. One ML technique that can help with this is classification, where the target value is a discrete value; for example, cats and dogs. Another potentially helpful technique in machine learning is regression. Regression works on a target value that is continuous; for example, stock market data can be analyzed using regression.
In unsupervised learning, we infer from unlabeled or unstructured input data. If we have one million medical records and need to understand them, find underlying structure, outliers, or detect abnormalities, we use clustering techniques to divide the data into broad clusters.
The dataset is divided into training, test, and validation sets.
A breakthrough in 2012 brought the concept of deep learning to prominence. Using two GPUs and the latest technologies like big data, an algorithm successfully classified one million images into 1,000 categories.
The Relationship Between Deep Learning and Traditional Machine Learning
One of the main challenges with traditional machine learning models is a process called feature extraction. Programmers need to specifically tell the computer what features to look for. These features will help it make decisions.
Simply feeding raw data into an algorithm rarely works, so feature extraction is a key part of the traditional machine learning workflow.
This places a huge responsibility on the programmer, whose efficiency relies heavily on their creativity. This is a significant problem for complex problems like object recognition or handwriting recognition.
Deep learning, with its ability to learn multiple layers of representations, is one of the few methods that helps us automate feature extraction. The lower layers can be thought of as automatically extracting features, requiring little to no guidance from the programmer.