IPN CIC

    Welcome
    IPN-Dharma AI Lab

    This is an IPN CIC - DHARMA initiative to provide an Artificial Intelligence Laboratory to motivate researchers, professors and students to take advantage of the courses, resources and tools of the main technology platforms of the industry in the areas of Machine Learning, Data Science, Cloud Computing, Artificial Intelligence and Internet of Things with the purpose of generating a practical experience through a learning model between peers and by objectives.

    Level 3: Building Solutions

    Machine Learning Professional

    Develop working skills in the main types of Machine Learning: Supervised Learning, Unsupervised Learning, Deep Learning, and Reinforcement Learning. Also gain practice in specialized topics such as Time Series Analysis and Survival Analysis.

    This program consists of 6 courses providing you with solid theoretical understanding and considerable practice of the main algorithms, uses, and best practices related to Machine Learning. You will follow along and code your own projects using some of the most relevant open source frameworks and libraries.

    Although it is recommended that you have some background in Python programming, statistics, and linear algebra, this series is suitable for anyone who has some computer skills, interest in leveraging data, and a passion for self-learning. We start small, provide a solid theoretical background and code-along labs and demos, and build up to more complex topics.

    All the courses include a series of hands-on labs and final projects that help you focus on a specific project that interests you. Also, you will gain exposure to a series of tools, libraries, cloud services, datasets, algorithms, assignments and projects that will provide you with practical skills. These skills include:

    • Tools: Jupyter Notebooks and Watson Studio.
    • Libraries: Pandas, NumPy, Matplotlib, Seaborn, ipython-sql, Scikit-learn, ScipPy, Keras, and TensorFlow.

    Courses in this program

    1) Exploratory Data Analysis for Machine Learning

    In this course you will realize the importance of good, quality data. You will learn common techniques to retrieve your data, clean it, apply feature engineering, and have it ready for preliminary analysis and hypothesis testing.

    By the end of this course you should be able to:

    • Retrieve data from multiple data sources: SQL, NoSQL databases, APIs, Cloud.
    • Describe and use common feature selection and feature engineering techniques.
    • Handle categorical and ordinal features, as well as missing values.
    • Use a variety of techniques for detecting and dealing with outliers.
    • Articulate why feature scaling is important and use a variety of scaling techniques.

    To make the most out of this course, you should have familiarity with programming on a Python development environment, as well as fundamental understanding of Calculus, Linear Algebra, Probability, and Statistics.

    Esfuerzo  Estimated effort 8 hours

    Idioma  English language

    Link  Coursera

    2) Supervised Machine Learning: Regression

    This course introduces you to one of the main types of modelling families of supervised Machine Learning: Regression. You will learn how to train regression models to predict continuous outcomes and how to use error metrics to compare across different models. This course also walks you through best practices, including train and test splits, and regularization techniques.

    By the end of this course you should be able to:

    • Differentiate uses and applications of classification and regression in the context of supervised machine learning.
    • Describe and use linear regression models.
    • Use a variety of error metrics to compare and select a linear regression model that best suits your data.
    • Articulate why regularization may help prevent overfitting.
    • Use regularization regressions: Ridge, LASSO, and Elastic net.

    To make the most out of this course, you should have familiarity with programming on a Python development environment, as well as fundamental understanding of Data Cleaning, Exploratory Data Analysis, Calculus, Linear Algebra, Probability, and Statistics.

    Esfuerzo  Estimated effort 11 hours

    Idioma  English language

    Link  Coursera

    3) Supervised Machine Learning: Classification

    This course introduces you to one of the main types of modeling families of supervised Machine Learning: Classification. You will learn how to train predictive models to classify categorical outcomes and how to use error metrics to compare across different models. The hands-on section of this course focuses on using best practices for classification, including train and test splits, and handling data sets with unbalanced classes.

    By the end of this course you should be able to:

    • Differentiate uses and applications of classification and classification ensembles.
    • Describe and use logistic regression models.
    • Describe and use decision tree and tree-ensemble models.
    • Describe and use other ensemble methods for classification.
    • Use a variety of error metrics to compare and select the classification model that best suits your data.
    • Use oversampling and undersampling as techniques to handle unbalanced classes in a data set.

    To make the most out of this course, you should have familiarity with programming on a Python development environment, as well as fundamental understanding of Data Cleaning, Exploratory Data Analysis, Calculus, Linear Algebra, Probability, and Statistics.

    Esfuerzo  Estimated effort 11 hours

    Idioma  English language

    Link  Coursera

    4) Unsupervised Machine Learning

    You will learn how to find insights from data sets that do not have a target or labeled variable. You will learn several clustering and dimension reduction algorithms for unsupervised learning as well as how to select the algorithm that best suits your data. The hands-on section of this course focuses on using best practices for unsupervised learning.

    By the end of this course you should be able to:

    • Explain the kinds of problems suitable for Unsupervised Learning approaches.
    • Explain the curse of dimensionality, and how it makes clustering difficult with many features.
    • Describe and use common clustering and dimensionality-reduction algorithms.
    • Try clustering points where appropriate; compare the performance of per-cluster models.
    • Understand metrics relevant for characterizing clusters.

    To make the most out of this course, you should have familiarity with programming on a Python development environment, as well as fundamental understanding of Data Cleaning, Exploratory Data Analysis, Calculus, Linear Algebra, Probability, and Statistics.

    Esfuerzo  Estimated effort 9 hours

    Idioma  English language

    Link  Coursera

    5) Deep Learning and Reinforcement Learning

    This course introduces you to two of the most sought-after disciplines in Machine Learning: Deep Learning and Reinforcement Learning. Deep Learning is a subset of Machine Learning that has applications in both Supervised and Unsupervised Learning, and is frequently used to power most of the AI applications that we use on a daily basis. First you will learn about the theory behind Neural Networks, which are the basis of Deep Learning, as well as several modern architectures of Deep Learning. Once you have developed a few Deep Learning models, the course will focus on Reinforcement Learning, a type of Machine Learning that has caught up more attention recently. Although currently Reinforcement Learning has only a few practical applications, it is a promising area of research in AI that might become relevant in the near future.

    To make the most out of this course, you should have familiarity with programming on a Python development environment, as well as fundamental understanding of Data Cleaning, Exploratory Data Analysis, Unsupervised Learning, Supervised Learning, Calculus, Linear Algebra, Probability, and Statistics.

    Esfuerzo  Estimated effort 4 hours

    Idioma  English language

    Link  Coursera

    6) Specialized Models: Time Series and Survival Analysis

    This course introduces you to additional topics in Machine Learning that complement essential tasks, including forecasting and analyzing censored data. You will learn how to find analyze data with a time component and censored data that needs outcome inference. You will learn a few techniques for Time Series Analysis and Survival Analysis. The hands-on section of this course focuses on using best practices and verifying assumptions derived from Statistical Learning.

    By the end of this course you should be able to:

    • Identify common modeling challenges with time series data.
    • Explain how to decompose Time Series data: trend, seasonality, and residuals.
    • Explain how autoregressive, moving average, and ARIMA models work.
    • Understand how to select and implement various Time Series models.
    • Describe hazard and survival modeling approaches.
    • Identify types of problems suitable for survival analysis.

    To make the most out of this course, you should have familiarity with programming on a Python development environment, as well as fundamental understanding of Data Cleaning, Exploratory Data Analysis, Calculus, Linear Algebra, Supervised Machine Learning, Unsupervised Machine Learning, Probability, and Statistics.

    Esfuerzo  Estimated effort 11 hours

    Idioma  English language

    Link  Coursera

    © 2015 |Laboratorio de Microtecnología y Sistemas Embebidos | Centro de Investigación en Computación | Instituto Politécnico Nacional