Chevron Left
Back to Probabilistic Graphical Models 1: Representation

Learner Reviews & Feedback for Probabilistic Graphical Models 1: Representation by Stanford University

1,426 ratings

About the Course

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....

Top reviews


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!!


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:

1 - 25 of 311 Reviews for Probabilistic Graphical Models 1: Representation

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 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,


By Ben L

Jan 12, 2019

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

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 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 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 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 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 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 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 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 anass 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 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 Ashok S

Mar 30, 2018

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

By Jonathan D

Jan 14, 2022

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

By Shi Y

Nov 12, 2018


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 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 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 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 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 Peter

Sep 29, 2016

The content seems to be excellent regarding "what" is presented. But sadly the sound quality is rather bad: Sounds like an age-old valve radio with A LOT of dropouts. And Professor Daphne is an agile and therefore less disciplined speaker which lessens the understandability of her speech in conjunction with the poor sound quality furthermore. Especially for me as a non-native foreign english speaker it is very hard to follow. And now I am at one point in the course, that is "Flow of Probalistic Influence", where she explains a concept without explaining what is meant with the used underlying notions "flow" and "influence" which makes me difficult to understand what is going on. That means in my point of view that the slides are not sufficiently prepared. Although I'm very interested in the topic I am asking myself after the first view videos if I should continue or drop because my cognitive capacitity is for me to worthful to use it for the decoding of badly prepared and presented material. Ok, my decision heuristic in such cases is "Use the hammer not the tweezers!". Therefore I have dropped. Please improve the state of this class from beta to release. Then I will come back.

By Michael G

Feb 5, 2017

The support by the mentors could be much better. Because of the missing support I was not able to solve the assignments under Windows with Octave. I had to buy Matlab. (-2)

It seems to me that the course is very difficult to complete without additional sources. (-1)

By Oleg P

Dec 9, 2021

The instructor doesn't teach but just very quickly reads the material on the language of those people who already knows the material like she tries to pass some exam. Very hard to learn anything.

By Timur T

Aug 15, 2022

The material is interesting, however the programming assignments are infuriating given the large number of bugs.