Numerical modeling is the skill of reducing a messy engineering or computational problem to a mathematical form that can be solved by using standard algorithms and techniques. By recognizing mathematical patterns “in the wild,” participants will develop an intuition for which problems are solvable using standard numerical modeling techniques and gain the knowledge and skills to then solve them.
Computer science is experiencing a fundamental shift in its approach to modeling and problem solving. Early computer scientists primarily studied discrete mathematics, focusing on structures like databases and arrays composed of distinct pieces. With the introduction of modern applications in “big data,” three-dimensional scanning, machine learning, and noisy sensor communications, practitioners now must design robust methods for processing real-valued data. The latest generation of programmers, computer scientists, and engineers must be able to reason about not just bits-and-bytes, but also calculus, linear algebra, and optimization.
By the end of the course, participants will learn how to boil real-world challenges down to their computational essence to make a reasonable estimate of how difficult it would be to design a numerical method to solve them. We will cover a breadth of possible tools, from numerical linear algebra to convex programming and stochastic/deterministic gradient descent, in the context of practical problems drawn from emerging applications in vision, learning, and graphics. Coding and mathematical exercises will reinforce these ideas and expose participants to standard software packages for optimization.
EARN A PROFESSIONAL CERTIFICATE IN MACHINE LEARNING AND ARTIFICIAL INTELLIGENCE
This course may be taken individually or as an elective for the Professional Certificate Program in Machine Learning and Artificial Intelligence.
It is highly recommended that you apply for a course at least 6-8 weeks before the start date to guarantee there will be space available. After that date you may be placed on a waitlist. Courses with low enrollment may be cancelled up to 4 weeks before start date if sufficient enrollments are not met. If you are able to access the online application form, then registration for that particular course is still open.
Participants of this program will learn to:
- Recognize linear, eigenvalue, convex optimization, and nonconvex optimization problems underlying engineering challenges.
- Interface with software for automatically identifying the optimal solution to a numerical problem.
- Understand the mathematical underpinnings of case studies in computer vision, machine learning, and graphics
- Understand the basics of optimization techniques including gradient descent, line search, and the barrier method
- Develop an intuition for classifying numerical problems by their tractability or difficulty
Who Should Attend:
This course is designed for people working in the areas of data, finance, marketing, computer-aided design, operations, strategy, engineering, research, computer graphics, or computer vision. Typical roles include engineer, programmer, developer, data scientist, researcher, consultant, or marketing analyst.
Participants are required to have a background in linear algebra and multivariable calculus, as well as at least basic programming in Python.
Laptops (or tablets) with Python are required for this course. Participants should have administrative privileges for their computers in case Python packages need to be installed during the course.
The course will be organized around case studies drawn from application areas, organized by level of computational difficulty. We will begin with recognizing linear algebra problems “in the wild,” including case studies in statistical regression and camera transformations from computer vision. Then we will broaden to convex optimization (e.g. transportation logistics), nonconvex optimization (e.g. 3D surface deformation in computer graphics), and stochastic optimization (e.g. machine learning on large, messy datasets). Our focus is on reducing problems to their standard mathematical forms and identifying software tools or simple algorithms to solve them.
View 2019 schedule (pdf, subject to change)
This course meets 10:00 am - 5:00 pm on Monday, 9:30 am - 5:00 pm Tuesday through Thursday, and 9:30 am - 4:30 pm on Friday.
Professor Justin Solomon is an Assistant Professor of Electrical Engineering and Computer Science at the Computer Science and Artificial Intelligence Laboratory at MIT, where he leads a new Geometric Data Processing Group. Prior to joining the MIT faculty, Solomon was an NSF Mathematical Sciences Postdoctoral Research Fellow in Princeton's Program in Applied and Computational Mathematics. He received his PhD in computer science from Stanford University in 2015, where he also received an MS in computer science (2012) and a BS in mathematics and computer science (2010). During his PhD, Solomon was supported by the National Defense Science and Engineering Graduate Fellowship (NDSEG), the Hertz Fellowship, and the NSF Graduate Research Fellowship Program (GRFP). Solomon also has worked at Pixar Animation Studios (2007-2012) and MITRE Corporation (2005-2007). His textbook Numerical Algorithms covers numerical methods for geometry, graphics, robotics, and other computational applications.
Suvrit Sra is a principal research scientist in the Laboratory for Information and Decision Systems at MIT. He is a member of Machine Learning @MIT. Dr. Sra’s research focuses on large-scale machine learning and optimization. He designs, analyzes, and implements algorithms and models for large-scale problems in machine learning, statistics, data analytics, and scientific computing. His mathematical tools are drawn from: convex optimization, nonlinear programming, statistics, computer science, signal processing, differential geometry, and analysis.
This course takes place on the MIT campus in Cambridge, Massachusetts. We can also offer this course for groups of employees at your location. Please complete the Custom Programs request form for further details.
|Fundamentals: Core concepts, understandings, and tools (30%)||30|
|Latest Developments: Recent advances and future trends (42%)||42|
|Industry Applications: Linking theory and real-world (28%)||28|
|Lecture: Delivery of material in a lecture format (50%)||50|
|Discussions or Group Work: Participatory learning (30%)||30|
|Labs: Demonstrations, experiments, simulations (20%)||20|
|Introductory: Appropriate for a general audience (75%)||75|
|Advanced: In-depth exploration at the graduate level (25%)||25|