Stochastic Processes
This is the main page of an undergraduate-level course in stochastic processes targeted at engineering students (mainly computer engineering and its interface with mechanical engineering), being taught in 2018 semester 1 at the Polytechnic Institute IPRJ/UERJ.
- Course pages for previous years: 2012
Índice
General Info
- Instructor: prof. Ricardo Fabbri, Ph.D. Brown University
- Meeting times: Tuesdays 1:20pm-3:10pm Thursdays 1:20pm - 3:10pm, room (?)
- Forum for file exchange and discussion: email and IRC #labmacambira for chat
- Linguagem de pro
Pre-requisites
- Undergraduate-level mathematics and probability (will review as needed)
- Desirable: Intermediate programming experience with any numerics scripting language such as Scilab, Python, R or Matlab. Knowing at least one of them will help you learn any new language needed in the course.
Software
The R programming language and data exploration environment will be used for learning, with others used occasionally. The student can also choose to do his homework in Python, Scilab, Matlab or similar languages. The R language has received growing attention, specially in the past couple of years, but it is simple enough so that the student can adapt the code to his preferred language. Students are expected to learn any of these languages on their own as needed, by doing tutorials and asking questions
Approximate Content
This year's course will focus on a modern approach bridging theory and practice. As engineers and scientists, you should not learn theory here without also considering broader applications. Recent applications in artificial intelligence, machine learning, robotics, autonomous driving, material science and other topics will be considered. These applications are often too hard to tackle at the level of this course, but having contact with them will help motivate the abstract theory. We will try to focus on key concepts and more realistic applications than most courses (that come from the 1900's), that will prompt us to elaborate theory.
Main Resources
Textbooks
Main book
Introduction to Stochastic Processes with R, Robert Dobrow, 2016 (5 stars on Amazon)
Additional books used in the course
Learning stochastic processes will require aditional books, including more traditional ones:
- Markov Chains: gibbs fields, monte carlo simulation and queues, Pierre Bremaud
- An Introduction to Stochastic Modeling, Taylor & Karlin
- Pattern Theory: The Stochastic Analysis of Real-World Signals, David Mumford and Agnes Desolneux - the first chapters already cover many types of stochastic processes in text, signal and image AI
- My own machine learning and computational modeling book draft, co-written with prof. Francisco Duarte Moura Neto and focused on diffusion processes on graphs like PageRank. There is a probability chapter which is the basis for this course. We have many copies at IPRJ's library.
Other books to look at
Basic probability and statistics
- I recommend you review from the above books. They all include a review. But you might have to see:
- Elementary Statistics, Mario Triola (passed down to me by a great scientist and statistician)
Interesting books
Machine Learning
- Pattern Theory: From Representation to Inference, Ulf Grenader
Lectures
Lectures roughly follow the sequence of our main book, with some additional material as needed. All necessary background will be covered as needed.
- Overview & Course Logistics (10Mai18)
- ..
- ..
Partial listing
Homework
- All homework can be done in any language. Most are either in the R programming language or in Scilab/Matlab and Python.
- If you do the homework in two different languages, you get double the homework grade (bonus of 100%)
Assignment 0
- Ex 1.1 of the main book
- Handrwitten
- Due date: 15Mai18
Assignment 1
- Exercise 1 Ch1 of the Pattern Theory book by Mumford & Desolneux,
Simulating Discrete Random Variables (pp 51, 52, 53)
- Type your solutions in Latex
- Due date: 24Mai18
- No need to read this book for this exercise. You will review discrete random variables in the context of Markov chains for natural language processing; this is basic for most AI bots nowadays. If you're curious about the applications, you can read the book chapter just for fun.
Exams
- P1 (easy): 2018
- P2 (harder):
- Final-Sub:
Evaluation criteria
M_p = (P1 + P2)/2 M = 0.8*M_p + 0.2*T, where T is homework If M >= 5, pass --> M Pf - final exam, must be done by whoever gets exam score M_p < 5 M_f = 0.5*(M + P_f) If M_f >= 5, pass with M_f Sub: replaces smallest of P1, P2, P_f (only if someone misses class or wants to improve scores - whoever hands it in, will have the grade substituted as such) M_sub = final grade with Sub If M_sub >= 5, pass --> M_sub For simplicity, M_sub = M_f will be considered the same exam. Whoever uses it as Sub will have the grade substituted independently of the result.ente do resultado.
Links
- Course on robotic path planning with applications of stochastic processes: https://natanaso.github.io/ece276b/schedule.html