### 你将学到什么

The mathematics (Statistics, Probability, Calculus, Linear Algebra and optimization) needed for designing machine learning algorithms

Common learning paradigms and how to implement foundational algorithms in statistical machine learning

The principles, processes, and core concepts involved in designing autonomous agents

How to design, train, and optimize deep neural networks

The foundations of knowledge representation and reasoning, and how to identify which techniques are appropriate for which tasks

### 课程概况

Learn the theories and techniques used by practitioners in the field of artificial intelligence and machine learning.

In this program, you will complete a real module from the online Master of Computer Science program that will help you understand artificial intelligence through a combination of both theory and practice. Through a series of interactive lectures and team-based projects, you will explore how machines learn in the form of learning paradigms, how to create autonomous agents that can reason, learn, and act on their own, and how to train and optimize deep neural networks.

You’ll also strengthen foundational skills in mathematics that will underpin your work in the field of artificial intelligence. Upon completion of these courses, you will have a strong understanding of the techniques used by practitioners in the field of AI, allowing you to advance your career in AI, work more effectively on machine learning projects, and identify opportunities for how you can apply AI to your current role or company.

By committing to online study for 4-6 months, you can earn the Artificial Intelligence and Machine Learning MasterTrack Certificate that will be a pathway to the online Master of Computer Science degree at Arizona State University.

### 包含课程

**Statistical Machine Learning**

Deriving generalizable models from training data is central to statistical machine learning. Statistical machine learning has found wide applications in many fields including artificial intelligence, computer vision, natural language processing, finance, bioinformatics, and more. This course provides a systematic introduction to common learning paradigms in statistical machine learning, accompanied by an exploration of a set of foundational algorithms.

Specific topics covered include:

Mathematical foundations for machine learning

Maximum likelihood estimation

Naive Bayes classification

Logistic regression

Support vector machines

Probabilistic graphical models

Mixture models

K-means clustering

Spectral clustering

Dimensionality reduction

Principal component analysis

Neural networks and deep learning

Convolutional neural networks

**Artificial Intelligence**

The field of artificial intelligence (AI) develops the principles and processes for designing autonomous agents. This course addresses the core concepts in designing autonomous agents that can reason, learn, and act to achieve user-given objectives and prepares you to address emerging technical and ethical challenges using a principled approach to the field.

Specific topics covered include:

Neural Networks

Classical Planning

Modeling & Reasoning

Reinforcement Learning

Markov Decision Processes (MDPs)

Partially Observable Markov Decision Processes (POMDPs)

Bayesian Networks

Sensors for Perception

Perception-based Recognition

Real-world Applications

Robotics

** Knowledge Representation and Reasoning**

Knowledge representation and reasoning (KRR) is one of the fundamental areas in artificial intelligence. It is concerned with how knowledge can be represented in formal languages and manipulated in an automated way so that computers can make intelligent decisions based on the encoded knowledge. KRR techniques are key drivers of innovation in computer science, and they have led to significant advances in practical applications in a wide range of areas from artificial intelligence to software engineering. In recent years, KRR has also derived challenges from new and emerging fields including the semantic web, computational biology, and the development of software agents. This course introduces fundamental concepts as well as surveys recent research and developments in the field of knowledge representation and reasoning.

Specific topics covered include:

Classical logic and knowledge representation

Answer set programming

Reasoning about actions and planning

Ontology, Semantic Web languages, and knowledge graph

Combining logic and probability

** Intro to Deep Learning in Visual Computing**

In recent years deep learning has revolutionized the field of artificial intelligence. Modern deep neural networks extract patterns in large amounts of data in order to solve very complex real world problems. In this course, you will learn the basic principles of designing and training deep neural networks with a focus on computer vision. You will learn the principles of convolutional neural networks, generative modeling for unsupervised learning, and much more.

Specific topics covered include:

Introduction to visual representation & fundamentals of machine learning

Neural networks and backpropagation

Optimization techniques for neural networks

Modern convolutional neural networks

Unsupervised learning and generative models

Transfer learning

### 面向人群

任何具有计算机科学本科教育或对计算机编程和编码有扎实基础知识的人。

### 课程项目

**Density Estimation and Classification**

In this project, you will systematically implement and examine the three major categories of machine learning techniques of this course, including supervised learning, unsupervised learning, and deep learning.

WHAT YOU WILL LEARN

How to extract features for both training set and testing set.

How to estimate/compute the parameters of the relevant distributions.

How to implement the Naïve Bayes Classifier and use it to produce a predicted label for each testing sample.

How to compute the classification accuracy.

How to write a short report summarizing the results, including the estimated parameters of the distributions, and the final classification accuracy.

**Unsupervised Learning (K-means)**

In this project, you will implement the k-means algorithm and apply your implementation on a given dataset which contains a set of 2-D points. You will use what you’ve learned to implement two different strategies for choosing the initial cluster centers.

WHAT YOU WILL LEARN

How to implement the k-means algorithm with Strategy 1.

How to use your code to do clustering on the given data; compute the objective function as a function of k (k = 2, 3, …, 10).

How to implement the k-means algorithm with Strategy 2.

How to use your code to do clustering on the given data; compute the objective function as a function of k (k = 2, 3, …, 10).

How to write a short report summarizing the results, including the plots for the objective function values under different settings.

**Classification Using Neural Networks and Deep Learning**

In this part, we will revisit the Handwritten Digits Recognition task in Part 1, using a convolutional neural network.

WHAT YOU WILL LEARN

How to run the baseline code (as provided) and report the accuracy.

How to change the kernel size to 5*5, redo the experiment, plot the learning errors along with the epoch, and report the testing error and accuracy on the test set.

How to change the number of the feature maps in the first and second convolutional layers, redo the experiment, plot the learning errors along with the epoch, and report the testing error and accuracy on the test set.

How to write a brief report summarizing the results.

**Bayesian Networks**

In this project, you will create Bayesian Networks and use them to perform inferences. This project gives you an excellent opportunity to gain further exposure to relevant topics and applications (including problem diagnosis and monitoring and filtering).

WHAT YOU WILL LEARN

How to create Bayesian Networks.

How to determine inferences from Bayesian Networks.

How to model real-world problems in Bayesian Networks.

**Neural Network for Collision Prediction**

In this project, you will become more familiar with neural networks and their applications. More specifically, you will learn to collect training data for a robotics task and, in turn, design a neural network that can process this data.

WHAT YOU WILL LEARN

How to collect and manage a dataset used to train and test a neural network.

How to define and use PyTorch DataLoaders to manage a PyTorch Datasets.

How to design your own neural network architecture in PyTorch.

How to evaluate and improve a neural network model and verify an application in simulation.

**Tools for Sequential Decision-Making: Extended Project**

In this project, you will learn how to effectively collaborate with project teams by using Planning Domain Definition Language (PDDL) to standardize representations of sequential decision-making problems. To complete the project, you will analyze a domain file and determine how to modify it to get the AI agent to achieve the desired goal.

WHAT YOU WILL LEARN

How to analyze domain files.

How to determine errors in faulty domain files.

How to determine solutions to achieve desired goals.

How to design a domain file.

How to design a problem file.

How to utilize digital tools and planners to solve sequential decision-making problems.

How to identify extensions required to model more general classes of sequential decision-making problems.

How to represent an environment to solve using Planning Domain Definition Language (PDDL).

How to execute steps in a sequential decision-making process to achieve specific goals.

How to modify code to achieve optimal outcomes.

**Insurance Referee Assignment Problem**

The overall task is to assign referees to insurance cases according to various hard and weak constraints using the clingo program to find the assignment satisfying the input constraints.

WHAT YOU WILL LEARN

How to demonstrate ways your team can represent various hard and weak constraints in knowledge and representation languages.

How to automate reasoning using knowledge and representation tools.

**Computer Vision Today**

In this project, you will implement a real-world application in computer vision. This project involves the concepts learned during the course and will include additional research from open-source files.

WHAT YOU WILL LEARN

How to build convolutional neural networks and generative models.

How to transfer learning and unsupervised learning with applications from object classification, segmentation, image translation, and more.

### 预备知识

具备以下基本知识：基本代数，线性代数，概率，统计量，演算以及算法设计和分析，Python，TOS和经典逻辑的编程知识。