Live data from Hacker News

Probabilistic Machine Learning: An Introduction

probml.github.io

41–50 of 59 posts

Re: Probabilistic Machine Learning: An Introduction

#41

For anybody truly serious about this field, I recommend the below book. It has some poor reviews on Amazon, which I was shocked to see, but it is my favourite book and taught me the core of probability theory and statistics, in a way most books don’t. Your understanding of Machine Learning will be better than 90% of those out there, if you can get through the principles in this book. I topped statistics at the most p…

> it is my favourite book

Is it your favourite book because of how much your personal history is tied to it, and the time you deboted to it, or are you comparing it against other books based on an analytic review and comparison of several books that you did at some point?

Nothing wrong with the former case, I also have favourites that I recommend, but if it’s the latter the recommendation is more helpful; in that case it would be awesome to detail why this one over others.

This idea of compared review is useful here:

https://fivebooks.com/

And here:

https://www.lesswrong.com/posts/xg3hXCYQPJkwHyik2/the-best-t...

Re: Probabilistic Machine Learning: An Introduction

#42
post #15
post #7

The new edition has been split in two parts. The pdf draft (921 pages) and python code [1] of the first part are now available. The table of contents of the second part is here [2]. From the preface: "By Spring 2020, my draft of the second edition had swollen to about 1600 pages, and I was still not done. At this point, 3 major events happened. First, the COVID-19 pandemic struck, so I decided to “pivot” so I could s…

It's very encouraging to see Matlab losing ground in the educational space. I don't know why so many engineers let their foundational skills to be locked behind a proprietary ecosystem like that.

It's a regression as far as code readability goes for fairly straightforward reasons: almost everything in Matlab is a matrix. Matrices are not first class citizens in Python, and it matters. I use Python a hell of a lot more than Matlab, but for examining how an algorithm works (say, for implementing in another language or modifying it to do tricks), Matlab wins. Go look at these PRML collections in Python and Matlab and see if you disagree:

https://github.com/ctgk/PRML

https://github.com/PRML/PRMLT

Re: Probabilistic Machine Learning: An Introduction

#43
post #15

Earlier quoted context omitted.

It's very encouraging to see Matlab losing ground in the educational space. I don't know why so many engineers let their foundational skills to be locked behind a proprietary ecosystem like that.

It's a regression as far as code readability goes for fairly straightforward reasons: almost everything in Matlab is a matrix. Matrices are not first class citizens in Python, and it matters. I use Python a hell of a lot more than Matlab, but for examining how an algorithm works (say, for implementing in another language or modifying it to do tricks), Matlab wins. Go look at these PRML collections in Python and Matla…

I used to feel the same, but three years after making the switch, I've changed my mind. Matlab code has brevity, but sometimes at the expense of clarity. For example, sum(x,axis=1) is more clear than sum(x,1). Especially when matlab has functions like diff() where the second argument is not axis.

Broadcasting in python is a lot more clean than the "bsxfun(@plus, ...)" abomination in matlab. If you think all the "np." is too wordy then just do "from numpy import *". For matrix multiplication you can use "@". Numpy code can be dense but most people choose clarity over brevity.

Re: Probabilistic Machine Learning: An Introduction

#44
post #26

Earlier quoted context omitted.

>I don't know why so many engineers let their foundational skills to be locked behind a proprietary ecosystem like that. Because no open source toolkit can do what Matlab can do. The same is true of a lot of high end software: Photoshop, pretty much any serious parametric CAD modeling system (say, SolidWorks), DaVinci Resolve, Ableton Live, etc. When a professional costs $100K+ to employ, paying a few grand to make t…

Professional costs $100k+ to employ partially because only those able to afford those tools for training get into the field.

Those fields require work to get done, so they use tools that make people as productive as possible. There's simply no open source packages with the wide range of numerical capability that Matlab has.

Re: Probabilistic Machine Learning: An Introduction

#45
post #35

Earlier quoted context omitted.

>I don't know why so many engineers let their foundational skills to be locked behind a proprietary ecosystem like that. Because no open source toolkit can do what Matlab can do. The same is true of a lot of high end software: Photoshop, pretty much any serious parametric CAD modeling system (say, SolidWorks), DaVinci Resolve, Ableton Live, etc. When a professional costs $100K+ to employ, paying a few grand to make t…

I guess I'll rephrase - if you can't understand a transfer function or a probability distribution without opening Matlab, then you've allowed your own expertise to be held hostage . Unfortunately, I know a large number of professionals for whom this is true. If you're more productive in Matlab, that's fine. But if you're at a loss without it, that's not. It doesn't belong in the education system or in educational boo…

Conversely, if at every step of learning, you're hindered by inferior tools, you'll learn less, and be at a permanent disadvantage to those using superior tools.

If your job will use tool X, learning it well has value. Those not learning it will be at a disadvantage.

Again, no open source software can do what Matlab can. Why ignore this?

Re: Probabilistic Machine Learning: An Introduction

#46

Earlier quoted context omitted.

It's a regression as far as code readability goes for fairly straightforward reasons: almost everything in Matlab is a matrix. Matrices are not first class citizens in Python, and it matters. I use Python a hell of a lot more than Matlab, but for examining how an algorithm works (say, for implementing in another language or modifying it to do tricks), Matlab wins. Go look at these PRML collections in Python and Matla…

I used to feel the same, but three years after making the switch, I've changed my mind. Matlab code has brevity, but sometimes at the expense of clarity. For example, sum(x,axis=1) is more clear than sum(x,1). Especially when matlab has functions like diff() where the second argument is not axis. Broadcasting in python is a lot more clean than the "bsxfun(@plus, ...)" abomination in matlab. If you think all the "np."…

I'd rather write python than matlab any day (I made this choice, literally in '98): it's a statement about reading. Matlab is closer to a a math notation and python is a clunky programming language. I'd never in a million years write new code in Matlab, but I prefer it for didactics.

Re: Probabilistic Machine Learning: An Introduction

#47

For anybody truly serious about this field, I recommend the below book. It has some poor reviews on Amazon, which I was shocked to see, but it is my favourite book and taught me the core of probability theory and statistics, in a way most books don’t. Your understanding of Machine Learning will be better than 90% of those out there, if you can get through the principles in this book. I topped statistics at the most p…

> it is my favourite book Is it your favourite book because of how much your personal history is tied to it, and the time you deboted to it, or are you comparing it against other books based on an analytic review and comparison of several books that you did at some point? Nothing wrong with the former case, I also have favourites that I recommend, but if it’s the latter the recommendation is more helpful; in that cas…

This is a very good post and I agree with your comments.

The book for me was partly great because of its contents and partly because I worked through every problem and realized how much it taught me. I should do a more factual write up on why it’s a great book, I’ll try to when I get some time.

Re: Probabilistic Machine Learning: An Introduction

#48

Earlier quoted context omitted.

>I don't know why so many engineers let their foundational skills to be locked behind a proprietary ecosystem like that. Because no open source toolkit can do what Matlab can do. The same is true of a lot of high end software: Photoshop, pretty much any serious parametric CAD modeling system (say, SolidWorks), DaVinci Resolve, Ableton Live, etc. When a professional costs $100K+ to employ, paying a few grand to make t…

As someone who helped migrate a university course from Matlab to python I must say proprietary features of Matlab had nothing to do with the reason it lasted so long. Basically, it was mainly inhertia. Older professors that liked it and rarly used anything else and the fact that generally no one gets rewarded for actually rewriting parts of an existing functioning course. As an instructor you basically create more wo…

I work at a government r&d/systems engineering center, and it's the same case here. The engineers who went through college with Matlab use that as their default (i.e., when the project doesn't call for something else from the start), while newer engineers don't. As that generation ages out, it'll be more and more sidelined. It's their inertia keeping it around at all.

Proprietary features don't matter here like there. We get MathWorks employees here at least a couple times a year hawking their latest (paid) libraries, but at this point they're always something 5+ years too late, something that already exists in preferred languages--often for free.

Since our clients never deploy Matlab, it doesn't matter if their libraries are fractionally faster in any case besides mockup/experimentation in R&D, and for that I've never met anyone who chooses it for speed there. Plus in this day where even laptops are fast and cloud instances spun up in a few seconds, there's no point. It's also nicer for the dev to complain about not having enough ram to get a better machine than take the time to learn a new language for a specific use case. Likewise the project manager will prefer the quicker solution, buying.

The one item close to a "tie" with Python here is probably migration. Matlab always and Python most of the time get rewritten into something else, Java in my department.

Re: Probabilistic Machine Learning: An Introduction

#49
post #35

Earlier quoted context omitted.

I guess I'll rephrase - if you can't understand a transfer function or a probability distribution without opening Matlab, then you've allowed your own expertise to be held hostage . Unfortunately, I know a large number of professionals for whom this is true. If you're more productive in Matlab, that's fine. But if you're at a loss without it, that's not. It doesn't belong in the education system or in educational boo…

Conversely, if at every step of learning, you're hindered by inferior tools, you'll learn less, and be at a permanent disadvantage to those using superior tools. If your job will use tool X, learning it well has value. Those not learning it will be at a disadvantage. Again, no open source software can do what Matlab can. Why ignore this?

> Again, no open source software can do what Matlab can. Why ignore this?

Can you list (or point to a list of) some of MatLab's features that are absent from other software?

Re: Probabilistic Machine Learning: An Introduction

#50
post #15

Earlier quoted context omitted.

It's very encouraging to see Matlab losing ground in the educational space. I don't know why so many engineers let their foundational skills to be locked behind a proprietary ecosystem like that.

It's a regression as far as code readability goes for fairly straightforward reasons: almost everything in Matlab is a matrix. Matrices are not first class citizens in Python, and it matters. I use Python a hell of a lot more than Matlab, but for examining how an algorithm works (say, for implementing in another language or modifying it to do tricks), Matlab wins. Go look at these PRML collections in Python and Matla…

The only thing I find nice in what Mathworks offers nowadays is their caps & T-shirts at conferences. MATLAB is on Medicare in deep learning times.
Post reply on HN