Download Applied Machine Learning for Engineering and Design

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Quantum machine learning wikipedia , lookup

Neural modeling fields wikipedia , lookup

Existential risk from artificial general intelligence wikipedia , lookup

AI winter wikipedia , lookup

Time series wikipedia , lookup

History of artificial intelligence wikipedia , lookup

Reinforcement learning wikipedia , lookup

Human-Computer Interaction Institute wikipedia , lookup

Concept learning wikipedia , lookup

Pattern recognition wikipedia , lookup

Machine learning wikipedia , lookup

Transcript
Applied Machine Learning for
Engineering and Design
Fall 2015 TuTh 2:00-3:15pm CHE 2136
Catalog Description
Applied Machine Learning for Engineering and Design; (3 credits) Grade Method: REG/P-F/AUD.
Prerequisite: Undergraduate-level Statistics (ENME392 or equivalent) or Instructor Permission. Cross-listed
at both the undergraduate (440) and graduate level (808E).
Learn how to apply techniques from Artificial Intelligence and Machine Learning to solve engineering
problems and design new products or systems. Design and build a personal or research project that
demonstrates how computational learning algorithms can solve difficult tasks in areas you are interested in.
Master how to interpret and transfer state-of-the-art techniques from computer science to practical
engineering situations and make smart implementation decisions.
Contact
Dr. Mark Fuge ([email protected]) – 2172 Martin Hall
Course Overview
New products and systems are no longer stand-alone devices. They produce and consume data with humans
and other machines at alarming rates, for tasks such as robotic control, design mass-customization, health
monitoring, and even recognizing and adapting to our personal behaviors. Artificial Intelligence (AI) and
Machine Learning (ML) link these devices to the data they generate through a dizzying array of models and
computing architectures. This course helps you make sense of these techniques and understand when and
how they can be used for new products, systems, or research directions in engineering.
This course will introduce you to the basic principles of AI and ML, and equip you with the necessary skills to
apply those principles to solving various engineering and design problems. To do this, the course helps you
build up your abilities in eight key areas:
Fundamental Mathematical Knowledge
How to discern between various AI/ML algorithms and appreciate how their fundamental mathematical
structure creates those differences. How to read state-of-the-art literature in technical fields and
understand how to apply it to problems you are interested in.
Analyzing Model Assumptions
How to understand when particular AI/ML models are appropriate and how different aspects of an
engineering or design problem might affect a particular model.
System Implementation
How to deploy AI/ML techniques in real-world scenarios. What kinds of computing architectures exist
and how do you decide which one to use for your specific application.
Data-Wrangling
How to take heterogeneous information from a variety of sources and sensors and represent it
computationally in a way that is amenable to AI/ML algorithms.
Page 1 of 6
Trade-Offs
How to determine appropriate tradeoffs (accuracy, speed, cost, etc.) when deploying an AI/ML system
for various engineering or design applications.
Communication
How to communicate the results of your work to technical and non-technical audiences, in written and
oral form. How to take complex data analysis and make it easily digestible to those in your field.
Self-Assessment
How to analyze your own skills and gaps in knowledge and locate appropriate resources that help you
learn and overcome future challenges.
The course will involve a substantial term project where you can apply the techniques you learn in class to a
personal or research project of your choice. You will demo and present these projects in an end-of-semester
exposition open to the public.
Examples of things you will be able to do after completing the course include:
•
•
•
•
•
•
•
Devise control algorithms for robotics or other systems that learn from experience.
Design search strategies for complex planning problems, such as manufacturing scheduling or path
finding.
Detect anomalous events from data (e.g., sensor readings) and use them to prevent failures.
Embed intelligence into products so that they adapt to how you use them (e.g., the Nest Thermostat)
Locate patterns or clusters in system or human behaviors to identify areas for deeper research.
Fit any of the above onto a computing system of your choice (PC, cell phone, Arduino, “The
Cloud”) and understand the costs and limitations of that choice.
Further a research frontier in your field, design new “smart products” for modern markets, or apply
for jobs involving data science or applied machine learning within engineering organizations.
Grading/Assessment
This class is cross-listed at both the Undergraduate (ENME 440) and Graduate (ENME 808E) level. Those
enrolled in the graduate section will be expected to perform the following additional assessments:
1. Write a conference-length paper on their final project in addition to the demo and poster
presentation at the end of the semester.
2. Solve additional problem sets questions beyond what those in ENME 440 are required to solve.
The weight of various assessments in the course are as follows:
Assessment
Unit Problem Sets
Participation—Class and Online
Comprehension Quizzes
Self-Assessments/Reflections
Semester Project Deliverables
Final Project Paper
Total
ENME
440 808E
25%
25%
15%
5%
30%
100%
25%
25%
15%
5%
20%
10%
100%
Page 2 of 6
Course Content
The course will be divided into four main units each covering how to apply major techniques from Artificial
Intelligence and Machine Learning to various engineering problems.
Week
1
2-4
5-7
8-10
11-13
14-15
Topic
Review of Fundamental Mathematics and Statistics needed for AI/ML
AI: Search and Planning
AI: Markov Decision Processes and Reinforcement Learning
ML: Supervised Learning
ML: Unsupervised Learning
Special Topics and Final Project Exposition
Some examples of specific topics, algorithms, or systems we may cover include:
Topics:
•
•
•
•
•
•
•
•
•
•
•
•
Effects of Function Regularization, Smoothness, and Sparsity
Evaluating AI/ML models (e.g., cross-validation, accuracy vs ROC)
Effects of Statistical Assumptions (e.g., heteroscedasticity, exchangeability, class imbalance)
Online vs Offline models and inference (e.g., streaming data, stochastic gradient descent)
Pros and Cons of different inference techniques (e.g., MCMC vs Variational vs Exact)
Structured prediction
Outlier Detection
Dealing with Dimensionality Concerns (e.g., projections, hashing)
Dealing with Human Input and Interaction
Active vs Passive Learning
Ethical considerations for data-driven products and systems
Emerging research directions intersecting AI/ML and Engineering
Algorithms:
• Optimal and Heuristic search (e.g., A*-search)
• Constraint Satisfaction Problems
• State-Space Estimation (e.g., Particle Filtering, Temporal Difference Learning)
• Kernel Machines (e.g., Support Vector Machines)
• Parametric Function Approximations (e.g., Generalized Linear Models)
• Non-Parametric Function Approximations (e.g., Gaussian Processes, Neural Networks)
• Boosting and Bagging (e.g., Random Forests, Ensembles)
• Matrix Factorization (e.g., Principal Components, Non-negative matrix factorization)
• Manifold Learning (e.g., Isomaps, Local Linear Embedding, Spectral Embedding)
• Mixture Models (e.g., Gaussian Mixtures, Dirichlet Process Mixtures)
Systems:
• Single- vs Multi-Threaded vs Network-Distributed Computation Architectures (e.g., Map-Reduce)
• Data structures for improving inference and computation (e.g., KD-Trees, Hashing)
Page 3 of 6
Course Schedule
Module
Wk Topic
Examples of Techniques Covered
Review
1
Probability; Comp.
Architectures
Decision Trees and K-Nearest Neighbors. CPUs vs
GPUs vs Distributed Computation.
2
Graph Theory, Data
Structures, Visualization
Graph Laplacians and Spectral Theory. Singular Value
Decomposition
3
A*-Search
Depth-, Breadth-, and Best-First Search. A*-Search.
Admissibility.
4
Constraint Satisfaction
Constrain Propagation. Local Search. Stochastic
Gradient Descent. Convexity. Simulated Annealing.
5
Probabilistic Models and
Inference
Directed Acyclic Graphs. Bayes Ball Algorithm.
Maximum Likelihood Estimation. EM Algorithm.
Approximate Inference: Variational + MCMC.
6
Reinforcement Learning
Value/Policy Iteration. Q-Learning. Explore/Exploit
Tradeoff. Deep-Q Learning.
7
State Space Estimation
HMMs. Particle Filters. System Identification.
8
Generalized Linear
Models
Exponential Families. GLMs. Loss Functions &
Empirical Risk Minimization. Regularization. Sparsity.
9
Non-Parametric Models
Kernels. Representer Theorem. RKHS
Regularization. Support Vector Machines. Gaussian
Processes. Kernel Approximation. Feature Hashing.
10
Ensembles
Bagging (Random Forests). Boosting (Gradient
Boosting). Cross-Validation. Hyper-parameter
Optimization. Multi-Class Algorithms. Stacking.
Clustering, Mixture
Models, EM Algorithm
EM Algorithm for GMMs. K-Means++. NonParametric Bayesian Clustering (Dirichlet Processes).
Spectral Clustering.
12
Manifold Learning
PCA and Matrix Factorizations. Dictionary Learning.
Spectral Embedding. t-SNE. Isomap.
13
Outlier Detection;
Thanksgiving
One-class SVMs. Kernel Density Estimation.
14
Active Learning; SemiSupervised Learning
Multi- and Infinite-Armed Bandits. UpperConfidence Bound Algorithms. Variance Reduction
Algorithms. Label Propagation.
15
Deep/Structured
Learning; Final Expo
Neural Networks and Deep Learning. Final Project
Demo Day.
AI: Search
AI: MDPs
ML:
Supervised
ML:
11
Unsupervised
Special
Topics
Page 4 of 6
Course Format
The course will meet two times a week (TuTh 2:00-3:15pm CHE 2136). Each meeting involves a subset of
the following activities:
•
•
•
Discussions around in-class demonstration of various AI/ML algorithms applied to real and
synthetic data.
Group analysis of datasets from a variety of engineering domains, with class discussions around
different modeling choices and assumptions.
Discussions of case studies or research papers applicable to the course content.
Programming
This course will require a significant amount of programming on a weekly basis and for the final project. Inclass examples will be done in Python, though you are free to use whatever language you want for the
assignments or project. You should be comfortable writing programs of a few hundred lines in an interpreted
language (e.g., MATLAB, Python, etc.) to get the most out of the course discussions and problem sets.
Course Polices
Readings/Textbook
There is no single textbook that covers all of the topics we will discuss in this course. As such, there is no
required textbook for the class. The vast majority of course content will be freely available via course lecture
notes, website content, or academic papers accessible through the UMD network. The optional
recommended texts below may be useful for a deeper understanding of the course subjects and are available
through the UMD library or online:
1.
2.
3.
4.
5.
Kevin Murphy, Machine Learning: A Probabilistic Perspective, MIT Press
Stuart Russell, Peter Norvig, Artificial Intelligence: A Modern Approach, Prentice Hall
Christopher Bishop, Pattern Recognition and Machine Learning, Springer
Richard Sutton and Andrew Barto, Reinforcement Learning: An Introduction, MIT Press
Tom Mitchell, Machine Learning, McGraw Hill
Attendance
A large portion of your grade will be determined by participation in class discussions and activities, so
attendance is necessary.
University policy excuses the absences of students for illness (self or dependent), religious observances
(http://www.president.umd.edu/policies/iii510a.html), participation in University activities at the request of
University authorities, and compelling circumstances beyond the student's control. Students must submit the
request in writing and supply appropriate documentation, e.g. medical documentation. Students with written,
excused absences are entitled to a makeup exam (or assignments if applicable) at a time mutually convenient
for the instructor and student. For more information, see UMD's policy on medically necessitated absences from
class
Course Website
The course will be using the UMD Canvas infrastructure to facilitate most course issues:
http://umd.instructure.com. For online Q&A, we will use Piazza (https://piazza.com), embedded in the
Canvas site.
Page 5 of 6
Late Assignments
Reading Comprehension Quizzes and Self-Reflections are due at their designated time on Canvas, at which
time Canvas will prevent further submissions and you would get zero credit for that assignment. For Problem
Sets, Project Deliverables, and the Final Paper, the policy for late submissions will be set in the first week of
class according to the results of the Pre-Course survey.
Exceptions will be made in accordance with University policy regarding major grading events. All
submissions should be done via Canvas; no assignments will be accepted via email.
Plagiarism and Group Work
I encourage group work for discussing Unit Problem Sets, however all of your work should be your own (i.e.,
any write up and code you submit should be done without conferring with your peers). For the
Comprehension quizzes, no collaboration of any kind if allowed. For the Final Project, you are allowed to
work in groups, however, the amount of work should scale by the number of team members.
Please review the university policy on academic integrity and academic dishonesty at
http://www.jpo.umd.edu/ and http://www.studenthonorcouncil.umd.edu/code.html. Also note that no
form of plagiarism will be tolerated. All work presented to the instructor is assumed to be the original work
of the course participant(s). Words, diagrams, figures, or original contributions of anyone other than a student
must be referenced when included in a student’s work. The course instructor may use plagiarism checking
software and/or request evidence of references for any submitted work. A useful website on avoiding
plagiarism is found at the Purdue Online Writing Lab
(http://owl.english.purdue.edu/owl/resource/589/01/).
Note: All homework assignments are assumed to be original work of each individual course participant.
Copying work done by another is considered an act of academic dishonesty and will be reported according to
University policy. All other assignments are collaborative, group work. It is critical that teams use formal
referencing practices in all reports and presentations. Failure to do so will be treated in accordance with
University policy.
Page 6 of 6