Bienvenidos
IPN-Dharma IA Lab
Es una iniciativa de Laboratorio de Inteligencia Artificial del CIC del IPN con la colaboración de DHARMA para motivar a investigadores, profesores y estudiantes a aprovechar los cursos, recursos y herramientas de las principales plataformas tecnológicas de la industria en las áreas de Aprendizaje Automático, Ciencia de Datos, Computación en la Nube, Inteligencia Artificial e Internet de las Cosas con el propósito de generar una experiencia práctica a través de un modelo de aprendizaje entre pares y por objetivos.
Nivel 1: Alfabetización y Fundamentos
Foundations of Data Science for Machine Learning
From the most basic classical machine learning models, to exploratory data analysis and customizing architectures, you’ll be guided by easy to digest conceptual content and interactive Jupyter notebooks, all without leaving your browser.
Foundations of Data Science for Machine Learning is the complete learning path and the recommended option for most people. It has all the same modules as the learning paths Understand Data Science for Machine Learning and Create Machine Learning Models with a custom flow that maximizes reinforcement of concepts.
If you want to learn about both the underlying concepts as well as how to get into building models with the most common machine learning tools this is the path for you. It's also the best path if you plan to move beyond classic machine learning, and get an education in deep learning and neural networks, which we only introduce here.
Foundations of Data Science for Machine Learning is the complete learning path and the recommended option for most people. It has all the same modules as the learning paths Understand Data Science for Machine Learning and Create Machine Learning Models with a custom flow that maximizes reinforcement of concepts.
If you want to learn about both the underlying concepts as well as how to get into building models with the most common machine learning tools this is the path for you. It's also the best path if you plan to move beyond classic machine learning, and get an education in deep learning and neural networks, which we only introduce here.
Cursos en este programa
1) Introduction to Machine Learning
A high-level overview of machine learning for people with little or no knowledge of computer science and statistics. You’ll be introduced to some essential concepts, explore data, and interactively go through the machine learning life-cycle - using Python to train, save, and use a machine learning model like we would in the real world.
In this module, you will:
In this module, you will:
- Explore how machine learning differs from traditional software.
- Create and test a machine learning model.
- Load a model and use it with new data.
2) Build Classical Machine Learning Models with Supervised Learning
Supervised learning is a form of machine learning where an algorithm learns from examples of data. We progressively paint a picture of how supervised learning automatically generates a model that can make predictions about the real world. We also touch on how these models are tested, and difficulties that can arise in training them.
In this module, you will:
In this module, you will:
- Define supervised and unsupervised learning.
- Explore how cost functions affect the learning process.
- Discover how models are optimized by gradient descent.
- Experiment with learning rates, and see how they can affect training.
3) Introduction to Data for Machine Learning
The power of machine learning models comes from the data that is used to train them. Through content and exercises, we explore how to understand your data, how to encode it so that the computer can interpret it properly, how to clean it of errors, and tips that will help you create models that perform well.
In this module, you will:
In this module, you will:
- Visualize large datasets with Exploratory Data Analysis (EDA).
- Clean a dataset of errors.
- Predict unknown values using numeric and categorical data.
4) Explore and Analyze Data with Python
Data exploration and analysis is at the core of data science. Data scientists require skills in languages like Python to explore, visualize, and manipulate data.
In this module, you will learn:
In this module, you will learn:
- Common data exploration and analysis tasks.
- How to use Python packages like NumPy, Pandas, and Matplotlib to analyze data.
5) Train and Understand Regression Models in Machine Learning
Regression is arguably the most widely used machine learning technique, commonly underlying scientific discoveries, business planning, and stock market analytics. This learning material takes a dive into some common regression analyses, both simple and more complex, and provides some insight on how to assess model performance.
In this module, you will:
In this module, you will:
- Understand how regression works.
- Work with new algorithms: Linear regression, multiple linear regression, and polynomial regression.
- Understand the strengths and limitations of regression models.
- Visualize error and cost functions in linear regression.
- Understand basic evaluation metrics for regression.
6) Refine and Test Machine Learning Models
When we think of machine learning, we often focus on the training process. A small amount of preparation before this process can not only speed up and improve learning but also give us some confidence about how well our models will work when faced with data we have never seen before.
In this module, you will:
In this module, you will:
- Define feature scaling.
- Create and work with test datasets.
- Articulate how testing models can both improve and harm training.
7) Train and Evaluate Regression Models
Regression is a commonly used kind of machine learning for predicting numeric values.
In this module, you'll learn:
In this module, you'll learn:
- When to use regression models.
- How to train and evaluate regression models using the Scikit-Learn framework.
8) Create and Understand Classification Models in Machine Learning
Classification means assigning items into categories, or can also be thought of automated decision making. Here we introduce classification models through logistic regression, providing you with a stepping-stone toward more complex and exciting classification methods.
In this module, you will:
In this module, you will:
- Discover how classification differs from classical regression.
- Build models that can perform classification tasks.
- Explore how to assess and improve classification models.
9) Select and Customize Architectures and Hyperparameters Using Random Forest
More complex models often can be manually customized to improve how effective they're. Through exercises and explanatory content, we explore how altering the architecture of more complex models can bring about more effective results.
In this module, you will:
In this module, you will:
- Discover new model types– decision trees and random forests.
- Learn how model architecture can affect performance.
- Practice working with hyperparameters to improve training effectiveness.
10) Confusion Matrix and Data Imbalances
How do we know if a model is good or bad at classifying our data? The way that computers assess model performance sometimes can be difficult for us to comprehend or can over-simplify how the model will behave in the real world. To build models that work in a satisfactory way, we need to find intuitive ways to assess them, and understand how these metrics can bias our view.
In this module, you will:
In this module, you will:
- Assess performance of classification models.
- Review metrics to improve classification models.
- Mitigate performance issues from data imbalances.
11) Measure and Optimize Model Performance with ROC and AUC
Receiver operator characteristic curves are a powerful way to assess and fine-tune trained classification models. We introduce and explain the utility of these curves through learning content and practical exercises.
In this module, you will:
In this module, you will:
- Understand how to create ROC curves.
- Explore how to assess and compare models using these curves.
- Practice fine-tuning a model using characteristics plotted on ROC curves.
12) Train and Evaluate Classification Models
Classification is a kind of machine learning used to categorize items into classes.
In this module, you'll learn:
In this module, you'll learn:
- When to use classification.
- How to train and evaluate a classification model using the Scikit-Learn framework.
13) Train and Evaluate Clustering Models
Clustering is a kind of machine learning that is used to group similar items into clusters.
In this module, you'll learn:
In this module, you'll learn:
- When to use clustering.
- How to train and evaluate a clustering model using the scikit-learn framework.
14) Train and Evaluate Deep Learning Models
Deep learning is an advanced form of machine learning that emulates the way the human brain learns through networks of connected neurons.
In this module, you will learn:
In this module, you will learn:
- Basic principles of deep learning.
- How to train a deep neural network (DNN) using PyTorch or Tensorflow.
- How to train a convolutional neural network (CNN) using PyTorch or Tensorflow.
- How to use transfer learning to train a convolutional neural network (CNN) with PyTorch or Tensorflow.