- All DegreesExplore Bachelor’s & Master’s degrees
- Bachelor’s DegreesExplore master’s degrees from leading universities
- Master’s DegreesExplore Computer Science & Engineering degrees
- Postgraduate StudiesDeepen your expertise with postgraduate learning
- MasterTrack™Earn credit towards a Master’s degree
- University CertificatesAdvance your career with graduate-level learning

Back to Probabilistic Graphical Models 1: Representation

stars

1,406 ratings

Probabilistic graphical models (PGMs) are a rich framework for encoding probability distributions over complex domains: joint (multivariate) distributions over large numbers of random variables that interact with each other. These representations sit at the intersection of statistics and computer science, relying on concepts from probability theory, graph algorithms, machine learning, and more. They are the basis for the state-of-the-art methods in a wide variety of applications, such as medical diagnosis, image understanding, speech recognition, natural language processing, and many, many more. They are also a foundational tool in formulating many machine learning problems.
This course is the first in a sequence of three. It describes the two basic PGM representations: Bayesian Networks, which rely on a directed graph; and Markov networks, which use an undirected graph. The course discusses both the theoretical properties of these representations as well as their use in practice. The (highly recommended) honors track contains several hands-on assignments on how to represent some real-world problems. The course also presents some important extensions beyond the basic PGM representation, which allow more complex models to be encoded compactly....

ST

Jul 12, 2017

Prof. Koller did a great job communicating difficult material in an accessible manner. Thanks to her for starting Coursera and offering this advanced course so that we can all learn...Kudos!!

CM

Oct 22, 2017

The course was deep, and well-taught. This is not a spoon-feeding course like some others. The only downside were some "mechanical" problems (e.g. code submission didn't work for me).

Filter by:

By Sandeep M

•Sep 23, 2018

The content of the course is good but the assignments are in matlab which isn't as widely used as python and has the additional headache of licensing. it is the assignments where you really learn things so this is a serious negative point.

By Ben L

•Jan 12, 2019

Would be better if there are people monitoring the discussion board and actually answer student's questions.

By Max B

•Dec 19, 2020

This review is for the whole Specialization, not just course 1. The lectures & subject matter are fascinating, but the course itself has some serious limitations:

1) Two of the most common example problems the instructor uses are image segmentation & speech recognition, both of which have been completely superseded thanks to neural networks (CNNs for the former, RNNs for the latter). The course was written in 2011 or 2012, and the lectures haven't been updated since.

2) The textbook is extremely useful, but they do not provide a PDF, though it is easy to find via Google. The professor does not give explicit "readings", you just have to find them on your own.

3) The Discussion Forums are effectively dead, nobody involved with the construction of the course has gone through them in 4 or 5 years, and most learner comments are several years old as well. In other words, you're on your own as far as figuring things out.

4) Quizzes & exams have no partial credit, often have "gotcha" questions, and enforce time delays between attempts (1 hour for quizzes, 24 hours for exams).

5) By far the biggest problem however is the programming assignments: they must be done in Matlab/Octave. I've taken many other courses outside this Specialization, so I say with confidence that the lion's share of the learning occurs in solving programming assignments. In the 3rd course especially, the programming assignments are exactly the same ones assigned to students taking the course in real-life at Stanford, where it was assumed that students would work together in groups to solve them. They are not of a reasonable difficulty level, from a pedagogical standpoint, for a distributed, asynchronous, online course.

All of these problems ultimately stem from the fact that this was among the first courses on Coursera (Daphne Koller is one of the founders of Coursera), before they really understood how to properly convert between a university course and an online course. Unfortunately, where Koller's colleague Andrew Ng has put in a lot of work updating his Coursera courses, Daphne appears to have abandoned this (to be fair she is very busy running companies doing fascinating work).

I recommend Andrew Ng's Deep Learning Specialization and University of Alberta's Reinforcement Learning Specialization for learning ML content, though the former can be quite hand-holdy at times.

Good luck,

Max

By A M

•Apr 30, 2019

The material is really important and helpful for many concepts of Machine Learning. Daphne Koller is very good at explaining complicated ideas in an intuitive way. The programming assignments are very relevant and cover many real-world application scenarios in medical diagnosis and testing. Unfortunately, programming assignments have many flaws. First, some scripts do not work and therefore it is necessary to manually adjust these in order to submit your assignment part by part. Second, the forum is almost dead, which means that is is difficult to get help once you are stuck at a problem. Most of the helpful posts are almost two years old. Third, often times questions in the quiz are very vague and not clearly formed which makes it difficult to answer the instructor's question. All in all, I think, that the course is worthwhile but nonetheless the course definitely needs some refurbishing and bugs in scripts need to be fixed.

By M

•Jan 6, 2018

Good course, with actual university level content and depth (albeit in a multiple choice format). The explanations of the material were clear, however if you don't have at least a surface level familiarity with Bayesian probability and first year university level math, you'll find yourself spending a lot of time looking up random jargon on Wikipedia.

If you lack the necessary background, I suggest reviewing the content of Stanford CS109 (the content is publically available).

The assignments were a bit opaque / wordy; instead if an essay, provide clear bullet point tasks with a detailed appendix for clarity. Also, please use Python instead of Matlab. It's free, there's a more support available for it, it has much clearner syntax, much more comprehensive libraries and it's at least tollerably performant (in comparison to Matlab / Octave).

By Deleted A

•Nov 18, 2018

This course seems to have been abandoned by Coursera. Mentors never reply to discussion forum posts (if there is any active mentor at all). Many assignments and tests are confusing and misleading. There are numerous materials you can find online to learn about Graphical Models than spending time & money on this.

By Alex L

•Apr 9, 2018

This is not an easy course, so beware. The instruction is solid but you still need to reason through a lot on your own, and especially if you choose to complete the Honors programming section (which I highly recommend to prove to yourself that you really understand what you have learned and can apply it), you really need to plan on allocating sufficient number of hours to work through the programming assignments. You'll likely need to re-watch several of the video segments several times for it to really sink in, as well as referencing the Discussion Forum when you are stuck and need inspiration. Once you do complete this course (after many hours of work and thought) you will enjoy a deep sense of accomplishment, will look and think about decision-making in a fresh new way, and have learned many very useful skills.

By Michael S E

•Feb 14, 2017

This course was solid overall but not excellent. I learned the basics of different classes of probabilistic models including Bayesian networks and Markov networks and how to represent them. Prof. Koller is knowledgeable and presented the materially logically. With that said, this course could have been a lot better than it was.

The honors programming assignments could have been excellent The material was interesting and dovetailed well with the course content. But the assessment process was very frustrating and led to a lot of wasted time debugging that was geared more to quirks of the grader than to course concepts. Both test cases and feedback on failed submissions were woefully inadequate. Some of the quizzes were also frustrating, featuring what I consider to be "gotcha" questions geared more to creating a grading curve than to measuring understanding of the material.

Advice to course staff: (1) Please provide more test cases on coding assignments (2) Please provide better feedback in submission reports (3) Please monitor the discussion boards more actively for unanswered questions (4) If you want to provide an externally linked executable you intend students to run from Matlab, it's not reasonable to give a 32 bit file in 2017 and send us down a rabbit hole where you suggest we build the executable from source, which in turn requires us to build the boost library from source.

By Chuck M

•Oct 22, 2017

The course was deep, and well-taught. This is not a spoon-feeding course like some others. The only downside were some "mechanical" problems (e.g. code submission didn't work for me).

By Alexander P

•Apr 1, 2019

I really enjoyed the content of this course. Having been inspired by reading The Book of Why, I was looking for some formal language around Bayesian Networks and this course really fit the bill. My biggest piece of feedback is on the programming assignments. These really should be in Python. Octave is an okay choice, and I suspect might have to do with Andrew Ng original choice to use it for his own machine learning course. However, the data science community writ large uses Python and R, which is why Andrew switched to Python for his deep learning courses. I would recommend the programming assignment be updated so that they are more accessible to the data science community.

By Alexey G

•Nov 6, 2016

It is impossible to submit quizes and programming assignments without purchasing the course. In my view this defies the goal of Coursera to provide accessible education anywhere in the world!

By Casey C

•Oct 31, 2016

Superficial coverage of quiz and final exam material in the video lectures. Without getting the textbook and reading it in depth, it is difficult to do well in this class.

By M A B

•Aug 31, 2018

Excellent course, the effort of the instructor is well reflected in the content and the exercices. A must for every serious student on (decision theory or markov random fields tasks.

By Ashok S

•Mar 30, 2018

It is hard to follow the course without a book, and the book is expensive.

By Sergey S

•Sep 24, 2020

Wow! It was an amazing journey. Daphne Koller is an outstanding lecturer and I was very impressed with the quality of provided material. The whole course is the MUST TO HAVE if you study modern communication theory, where the probability-based approaches are widely used (receivers, estimation, TurboCodes, LDPC).The assignments are tough due to many unclear moments, that appear quite often. You need to analyse them regularly and I watched some lectures again few times. Since you need to extend a provided Matlab code, it is often required to debug and check how it works in details. And it forces you to learn implementation details and suplied libraries. Personally, I discovered libDAI, which is definitely an amazing tool.

By Dhruv P

•Jun 18, 2017

I have Actually Earned Three Years of my life (at least) and one possible patent because of this course.

Thank You Daphne Mam. God Bless Everybody Associated with it.

By Shi Y

•Nov 12, 2018

总体上很棒的课程，除了第四周的荣誉编程的体验有待提升。课程难度适中，不容易，但认真思考和理解后是没有问题的。很期待专项课程中剩余的课程。

By Phillip W

•Apr 8, 2019

Sometimes the questions weren't clear. But in general, I really like the course and the things I've learnt I am sure they are useful.

By Jonathan D

•Jan 14, 2022

Octave and MATLAB are legacy languages and shouldn't be used to teach anything anymore.

By Sergey V

•Oct 28, 2016

Done! The #PGM class is probably one of the most challenging ones in Coursera both in terms of workload and theoretical depth. I used to spend 10+ hours per week and I doubt anyone could complete it successfully without Matlab knowledge and strong background in #probability #machinelearning and #programming. Comprehensive programming assignment with honour content and quizzes help to make yourself very familar with the topics: #bayesiannetwork #gibbssampling #intercasualreasoning #markovproccess #markovchain #OCR Daphne Koller @DaphneKoller , as Coursera co-funder, made her best to show the capabilities of the platform. To sum up, prospective students should take into account that the course is quite advanced and several background in probability, statistics, machine learning and algorithms required if you going to sign up for the PGM class =) Lectures and videos available for free but graded assignments and verified certifcate is paid option. Cheers, @RiddleRus #stanford #math #probability #probabilisticmodels P.S. I had spent at least five attempts before I passed a final assignment!

By Yuxun L

•Dec 7, 2016

This course is really amazing. The lecture is well-organised and lecture material is good. This course covers basic knowledge about representation in Probabilistic Graphical Model. It includes Markov Network, Bayesian Network, Template Model and some other knowledge. The assignments, oh, I have to say, although some quiz in it seems like having bug, are still impressive. I strongly recommend finishing all the programming assignments of this course. Some trick parts of the knowledge taught in the course are covered by the assignments (like template model part, trust me you have to think about the template model part really, really carefully to figure out what it exactly means). Anyway, it worth my payment :-).

If you wanna take this course, buying a textbook is a good choice because there are some extra knowledge which is not covered by this course in the textbook. However, without a textbook you can still continue. I really appreciate Professor Koller for offering such a great, amazing course!

By StudyExchange

•Mar 12, 2018

In the video, a lot of knowledge point do not explain very clearly, we do not konw how to resolve the quizzes. Moreover, if buy the textbook, may acquire more detail about PGM, but the textbook do not explain very clear neither. Textbook is hard to read. Even so, this course is worthwile to learn. Because PGM is one of the basic theory of machine learning and widespread use. In the end, thank Koller and coursera! Thank you very much!

By Santosh K S

•Jul 28, 2018

Dear Madam thanks a lot for the course.

This course - in addition to Machine Learning, by Andrew Ng Sir, are perhaps most comprehensive courses.

This course covers a lot over a period of 5 weeks. It demands higher level of focus. So, the learning still continues..

Regards,

Santosh Kumar Singh

Bangalore, India

By Ram G

•Jul 13, 2017

Prof. Koller did a great job communicating difficult material in an accessible manner. Thanks to her for starting Coursera and offering this advanced course so that we can all learn...Kudos!!

By Abhishek K

•Nov 13, 2016

Superb exposition. Makes me want to continue learning till the very end of this course. Very intuitive explanations. Plan to complete all courses offered in this specialization.

- AWS Cloud A Practitioner's Guide
- Basics of Computer Programming with Python
- Beginners Python Programming in IT
- Developing Professional High Fidelity Designs and Prototypes
- Get Google CBRS-CPI Certified
- Introduction to MATLAB Programming
- Learn HTML and CSS for Building Modern Web Pages
- Learn the Basics of Agile with Atlassian JIRA
- Managing IT Infrastructure Services
- Mastering the Fundamentals of IT Support

- Basics of Computer Programming with Python
- Beginners Python Programming in IT
- Building a Modern Computer System from the Ground Up
- Getting Started with Google Cloud Fundamentals
- Introduction to Cryptography
- Introduction to Programming and Web Development
- Introduction to UX Design
- Learn HTML and CSS for Building Modern Web Pages
- Mastering the Fundamentals of IT Support
- Utilizing SLOs & SLIs to Measure Site Reliability

- Building an Agile and Value-Driven Product Backlog
- Foundations of Financial Markets & Behavioral Finance
- Getting Started with Construction Project Management
- Getting Started With Google Sheets
- Introduction to AI for Non-Technical People
- Learn the Basics of SEO and Improve Your Website's Rankings
- Mastering Business Writing
- Mastering the Art of Effective Public Speaking
- Social Media Content Creation & Management
- Understanding Financial Statements & Disclosures