### Supervised Learning Models and Groups: - In supervised learning, models are trained on labeled data, which means you have input data with corresponding output labels. - The goal is to learn the mapping between input features and target labels. - Supervised models are used for tasks where you want to make predictions or classify data into predefined categories. 1. **Classification Models:** - Purpose: Classification models are designed to assign a category or label to input data. - Common Use Cases: These models are used for tasks like spam detection, image classification, sentiment analysis, and disease diagnosis. - Key Models: 1. Logistic Regression: - Logistic regression is used for binary or multi-class classification tasks. It models the probability that a given input belongs to a particular class. - Scikit-learn [Logitic Regression Note](https://hackmd.io/vMHC5WKIQ3i-v7mdW4-R5g?view) 2. Decision Trees: - Decision trees split data into branches based on feature values to make decisions. They are interpretable and can be used for classification and regression tasks. - Scikit-learn [Decision Tree Note](https://hackmd.io/2HA0P0brQ7CJ0yZO9J96iw?view) 3. Random Forest: - Random forests are ensembles of decision trees. They combine multiple decision trees to improve accuracy and reduce overfitting in classification and regression problems. - Scikit-learn [Random Forest Note](https://hackmd.io/3cDfTgiaTfqCdLN8YSaXhA?view) 4. Support Vector Machines (SVM): - SVMs are used for binary classification. They find the best hyperplane that separates data into two classes while maximizing the margin between them. - Scikit-learn [SVM Note](https://hackmd.io/37aZxZGmQ6CrDtPPy_QIKg?view) 5. K-Nearest Neighbors (KNN): - KNN classifies data points by considering the class of their nearest neighbors. It’s simple and effective for classification tasks. - Scikit-learn [K-Nearest Neighbors Note](https://hackmd.io/wpYUQSi8TJGysu95ajklzg?view) 6. Naive Bayes: - Naive Bayes is a probabilistic classifier based on Bayes’ theorem. It’s particularly effective for text classification tasks like spam detection. - Scikit-learn [Naive Bayes](https://hackmd.io/aXGuCwnoTyiOkeYHxZOCHA) 2. **Regression Models:** * Purpose: Regression models predict continuous numeric values based on input features. * Common Use Cases: They are used for tasks like house price prediction, stock price forecasting, and demand forecasting. * Key Models: 1. Linear Regression: - Linear regression models the relationship between a dependent variable and one or more independent variables by fitting a linear equation to the data. - Scikit-learn [Linear Regression Note](https://hackmd.io/nHVdB5x3Q4-ABZtIPK2z0g?view=) ### Unsupervised Learning Models and Groups: - In unsupervised learning, models are trained on unlabeled data, which means there are no predefined output labels. - The goal is to discover patterns, structures, or relationships within the data. - Unsupervised models are used for tasks like clustering similar data points, reducing dimensionality, or learning representations. 3. **Clustering Models:** * Purpose: Clustering models group data points into clusters based on similarity or proximity. * Common Use Cases: Clustering is used for customer segmentation, anomaly detection, and image segmentation. * Key Models: 1. K-Means Clustering: - K-Means clusters data into groups based on similarity, aiming to minimize the distance between data points within each cluster. - Scikit-learn [K-Means Clustering Note](https://hackmd.io/Psm6gLSVTcuIjuN0sTru5w?view) 4. **Ensemble Models:** * Purpose: Ensemble models combine multiple individual models to improve predictive performance and reduce overfitting. * Common Use Cases: Ensemble methods are used for a wide range of classification and regression problems. * Key Models: 1. Gradient Boosting (e.g., XGBoost, LightGBM): - Gradient boosting combines multiple weak learners (usually decision trees) to create a strong predictive model. It’s versatile and performs well in various tasks. - Scikit-learn [Gradient Boosting Note](https://hackmd.io/eSLQW1CQT5-szAZAZ0FtZg?view) 5. **Deep Learning Models:** * Purpose: Deep learning models, inspired by the human brain, are used for complex tasks involving large datasets. * Common Use Cases: They are employed in image recognition, natural language processing, speech recognition, and autonomous driving. * Key Models: - Neural Networks (Deep Learning): * This model consist of layers of interconnected nodes (neurons) inspired by the human brain. They are used for complex tasks like image classification, natural language processing, and more. * Keras (TensorFlow) 1. Convolutional Neural Networks (CNNs): - CNNs are specialized for image-related tasks. They use convolutional layers to extract features from images. - Keras (TensorFlow) [CNN Note](https://hackmd.io/z3Sz8Pc3SoeB_oYNSRZg7A) 2. Recurrent Neural Networks (RNNs): - RNNs are designed for sequential data, making them suitable for tasks like text generation, language translation, and time series forecasting. - Keras (TensorFlow) [RNN Note](https://hackmd.io/jD7sl-cdQHKlLmNrMwnMqg) 3. Transformers: - Transformers are state-of-the-art models for natural language processing. They’ve revolutionized tasks like language understanding, question answering, and language generation. - Keras (TensorFlow) [Transformers Note](https://hackmd.io/1W1UYUsBSHeOXs96aSssBg) 4. Autoencoders: - Autoencoders are used for unsupervised learning and dimensionality reduction. They aim to reconstruct their input and are often employed for anomaly detection. - Keras (TensorFlow) [Autoencoders Note](https://hackmd.io/9eSJ87UISBCW7e4QGWTaHA) 5. Long Short-Term Memory (LSTM): - LSTMs are specialized RNNs with memory cells, making them effective for long sequences and time series data. - Keras (TensorFlow) [LSTM Note](https://hackmd.io/BvFHVXzXQxOYMQxcmaH45A) 6. Generative Adversarial Networks (GANs): - GANs consist of a generator and a discriminator that compete in a game. They are used for image generation and data augmentation. - Keras (TensorFlow) [GANs Note](https://hackmd.io/8SGy-yB1S4iB-QMBn1DUKg) 7. Siamese Networks: - Siamese networks are designed to measure similarity or dissimilarity between pairs of data points. They find applications in face recognition and similarity-based tasks. - Keras (TensorFlow) [Siamese Network Note](https://hackmd.io/vAYj5OX3TDWpEc_yr6J5uw) 6. **Reinforcement Learning Models:** * Purpose: Reinforcement learning models focus on training agents to take actions in an environment to maximize a reward signal. * Common Use Cases: They are used in robotics, game playing (e.g., chess, Go), and autonomous systems. * Key Models: 1. Reinforcement Learning (e.g., Deep Q-Networks): - Reinforcement learning focuses on training agents to take actions in an environment to maximize a reward signal. Deep Q-Networks (DQNs) are a deep learning approach to reinforcement learning. - Typically implemented using specialized reinforcement learning libraries (e.g., TensorFlow’s Reinforcement Learning or OpenAI Gym). [Reinforcement Learning Note](https://hackmd.io/iglErJ06SHmzjxZLgpN3SA) 7. **Dimensionality Reduction Models:** * Purpose: Dimensionality reduction models reduce the number of features while preserving important information. * Common Use Cases: They are used for data visualization, feature selection, and reducing computational complexity. * Key Models: 1. Principal Component Analysis (PCA): - PCA reduces the dimensionality of data while preserving as much variance as possible. It’s often used for data visualization and speeding up machine learning algorithms. - Scikit-learn [PCA Note](https://hackmd.io/UoUAj6RkRv2tN3StOrW2fA)