10 ms·
There's a great quote by some bodybuilder. "Everybody wants to get big, but no one wants to lift heavy weights." Paraphrasing this to data science: "Everybody
by yummyfajitas 10y ago
There's a great quote by some bodybuilder. "Everybody wants to get big, but no one wants to lift heavy weights."
Paraphrasing this to data science: "Everybody wants to have software provide them insights from data, but no one wants to learn any math."
The top two comments here illustrate this perfectly. Anyone who is serious about learning data science will read this book and will not shy away from learning math. You can also learn about data pipelines, but that's not a substitute for what's in this book.
There are also a variety of other algorithmically focused machine learning books. They are also not a substitute for this book.
- rocky1138 10y agoThis is one of the reasons that I really dislike the term "data scientist." Essentially the job is Analyst, which is something we've had for many years. It's not a bad thing, but there's no reason to embellish it into something it's not. The primary reason I dislike this term, though, is because all scientists are data scientists. Data is how the whole thing works.
- yummyfajitas 10y agoOriginally "data scientist" meant a statistician who could write distributed systems to implement their algorithm in production. Now that the term is diluted, I propose we use adopt the banking industry term "quant developer" to refer to that.
- trendia 10y agoHow about "data monkey"? At least then when the corporations post job ads and bring up buzzwords in their meetings, we can silently laugh at them.
- zintinio5 10y agoI'm sorry, but I'm not sure that you're correct that a data scientist is a statistician who can write distributed systems. Problems have been solved for decades by people with quantitative training, from well before distributed systems (or computers) existed. Very roughly, a data scientist is a person with a combination of quantitative training and some programming skills, who is able to effectively analyze (and explain) different kinds of data, be they audio, text, census information, or whatever it might be. What we call data scientists today are the engineers, computer scientists, and mathematicians of yesterday.
- pkaye 10y agoI have no experience in Data Science. How much need is there for a distributed system? How many data points would one need to necessitate it? What if we had a billion data points. Would it be sufficient to run on a fast system overnight to crunch data?
- yummyfajitas 10y agoAccording to me (note zintinio's reply - he disagrees), the etymology of the term is the following. Back in the day, if you had small data you didn't need a data scientist. You needed a statistician. He'd do some shit in SAS/Python/etc, reading one CSV and writing another. Then the developers could run that on a beefy server with cron and push the CSV output someplace else. At some point during the 2000's this stopped working - things became complicated and tangled enough that you couldn't just munge CSVs like this. You needed folks who understood the math well enough to come up with algorithms, and who also understood the computer science well enough to scale out. These folks were termed "data scientists". Banks call them "quant developers". Very often you don't need a distributed system, or anything that isn't trivially parallelizable. Most of the time when I make money it's based on a CSV < 100GB - often it fits in ram. Nowadays I don't think it's misleading to call yourself a "data scientist" if you can only handle such data sets. I recently learned that Facebook calls their business analysts data scientists. I guess it's just sexier.
- xapata 10y agoScience is more than just data. A theoretical physicist is a scientist who does not necessarily care about data collection. Some anthropologists focus on case studies, rather than data, especially if they're just doing descriptive study rather than predictive.
- throw_away_777 10y agoThe problem is that industry has coopted the term data analyst to mean something more like data reporter or data descriptor. There often isn't a difference between business intelligence and data analyst. Many data analysts are using tools like Excel, and don't have good programming skills. A data scientist will generally be involved with prediction, and use more sophisticated tools than Excel. This isn't to knock on data analysts (or Excel), they do good and useful work. The proof is in the numbers - a data scientist makes a significantly higher salary than a data analyst. Similarly quantitative analyst got taken over by finance. The term statistician is actually pretty accurate (data science is basically applied statistics), but usually people don't call themselves statisticians unless they have a degree in statistics. With that said, the term data scientist is not at all well-defined, and the field is quite diverse.
- daemonk 10y agoI never said to not read the book or learn the maths. They are obviously important. I apologize if I sounded dismissive. But I've met people in my field that are great at the maths (which should be a given), but can't execute the analysis because they can't do simple "janitorial" tasks. Perhaps this is a problem more prevalent in academia. I think there should be equal attention paid to both aspects of the job.
- yummyfajitas 10y agoI absolutely agree that a data scientist must be a good software engineer also. But there are lots of books on software engineering. There are lots of books on algorithms. As far as I'm aware this book is one of a kind. This book covers ground that nothing else does, at least not in any comprehensive way.
- cheriot 10y agoAre there any MOOCs that cover this math? I suspect there's only so far away from introductory material Coursera and Edx can get and have enough students to justify the costs.
- thess24 10y agoI love this quote. For accuracy purposes, it is from Ronnie Coleman, former Mr. Olympia and goes more like "Everybody wants to be a bodybuilder, but nobody wants to lift no heavy-ass weights...I do it though"
- cs702 10y agoyummyfajitas: THANK YOU for posting this comment. I absolutely LOVE these two quotes, and can't tell you how many times I could have used them over the years. These two quotes are now a permanent part of my arsenal for responding to busy individuals who say they "want to understand" a new technology or idea, but what they actually want is for the new technology or idea to be explained to them using only simple concepts with which they are already familiar, so they don't have to learn anything new.
- denzil_correa 10y ago> Anyone who is serious about learning data science will read this book and will not shy away from learning math. The problem is not math. The problem is the way math is explained. Most books do not go into the intuition and are very dry. People generally shy away due to the dryness of the material, not the content.
- yummyfajitas 10y agoOne of the major points that this book is trying to convey is that your intuition is wrong. You need to burn it down, learn the formalism, and maybe develop new intuition based on that. Even then you need to recognize that intuition can be wrong. An N-dimensional vector space is not like R^3. A monad is not like a burrito, and >>= is not like chipotle forgetting to put chicken in your burrito, opening it up, adding chicken and wrapping in a new tortilla. Math is a new thing rather than the same old thing with new syntax. It needs to be understood on it's own terms. If you are serious you'll learn it.
- throw_away_777 10y agoI agree with your sentiment that math is important, but it is also true that math is not taught well. Just briefly glancing at chapter 2 the first part, the author presents the law of large numbers out of the blue, then just goes on to present proofs of it. There is no clear discussion of why this law is important, when you can use it and so on. If you contrast how wikipedia explains it: > In probability theory, the law of large numbers (LLN) is a theorem that describes the result of performing the same experiment a large number of times. According to the law, the average of the results obtained from a large number of trials should be close to the expected value, and will tend to become closer as more trials are performed. This book: > If one generates random points in d-dimensional space using a Gaussian to generate coordinates, the distance between all pairs of points will be essentially the same when d is large. The reason is that the square of the distance between two points y and z ...
- denzil_correa 10y agoI always get a eerie feeling for people who excessively stress on formalism. It almost goes to the point where I feel they wouldn't want to share their knowledge or intuition.
- zintinio5 10y agoI really appreciate your viewpoint, a friend and I had a discussion about this exact problem last night. Nobody wants to dirty themselves in the details, but that's precisely where you need to go. Also, you have a very interesting blog, you've now gained another reader.
- throwaway98237 10y ago100% agree. When I made the switch from technical business analyst to head down the road of data science, I had the option to use a year of postbac study to study computer science or math. the CS dept at the school wasn't fantastic, it was mostly in Java, and DS is moving so fast I wasn't certain what percentage of what I studied would be of any use in 5 years time. So I studied math. All the math I learned is still good as new. Still "true. Still useful. Many DS tools have come out since I finished that year. Many are Python based. One thing I am constantly frustrated by is the lack of mathematical rigor that pervade DS tools, and programming in general. Seems like everyone is happy to be given some programmatic tool and all the mistakes that where programmed into it. "You just need to deal with that." "You'll get used to the syntax." Yeah, but, I'd rather not, since it's often completely arbitrary and specific to a given tool. And, well, sometimes just doesn't make sense in the way something that has mathematical rigor built in might. But, I often feel when I bring this issue up I'm shouting down an empty hallway.
- SomeStupidPoint 10y agoPart of the problem with DS is that there are known engineering solutions without good theoretical explanation, that is, we just brute forced some basic engineering solutions and keep hacking at them to get more performance, but don't have a good theoretical model of why those things do what they do. (Or have a theoretical model too complex to compute useful insight, which is another kind of problem.) I think that this kind of approach is going to get us pretty far -- see how far we got on building bridges with no more sophisticated insight in to gravity than "things fall down; some things are heavy" or material science than "some things hard and not bend" -- but I think that ultimately, our longer term goals like AGI will require that we build theoretical models capable of explaining our current engineering progress and predict a new, deeper valley of progress to move to. Of course, that's a lot like saying making progress on physics paradigms requires explaining high temperature superconductors (or other currently open problems). It's actually pretty normal for a field to be a mix of engineers being ahead and theorists being ahead. Mathematical rigor is really a sign that you're in established territory and explorers have moved on, and much of data science is still under heavy exploration.
- dxbydt 10y agoAlso consider that those who shy away from learning this material aren't exactly wrong. They're making an optimal choice given their skillset. I've been a DS for the past 4 years, used to be a risk quant at the bank before that. So the territory is familiar, especially as a math major. But my colleagues who are enamoured by this stuff often underestimate how dry and boring it can get to a non-math person. I took 2 of my colleagues under my wings and after getting their feet wet with a few DS projects, asked them what they'd like to do. Their response was basically - we want to get back to engineering. The thing with software engineering is that you can iteratively make progress. You can come in knowing zero Ruby and zero JS on day one, and cut and paste from stackoverflow and get by, and slowly, in the next month or so, figure out enough to do a good job. Unfortunately for DS that's not a hot option. The fundamentals are best learnt as theorems sitting in a classroom, not as Spark APIs. So the ability to invoke a classifier api or do an svd with Spark isn't actually giving you any intuition as to what's going on under the hood. Soon people realize this, and say hey this stuff is fine but it isn't really my thing. Which is ok.
- SomeStupidPoint 10y agoI feel that what you describe is largely a pedagogical fault of the community though: most of the people who understand the topic gained their education in a particular way, and just haven't thought very hard about how they might make that process better using new technology. This isn't to call anyone out, of course, because that exact process happens to literally every field, and even within mature fields as new paradigms or technologies are developed. I think there's a lot of room for mathematics education to be revamped to be more iterative and exploratory, which I think would make it appeal to a wider audience. I think that the mathematics community is actually beginning to pick up on this, with the publishing of python notebooks which contain increasingly sophisticated models as you read in to them and provide controls for readers to manipulate the parameter space of the models to explore the consequences of claims, theorems, etc. I think this kind of exploration of the numbers is a better way to learn a lot of ideas than the way I was taught in class, particularly things like statistics, where you can see distributions change as you manipulate parameters. I figure that in a few years, as people my age who were mostly taught using older methods, but got a little exposure to explore-via-computer learning in university mature, we'll see an increasingly "internet-y" version of teaching methods appear, where there's a mix of video lectures, reading materials, discussion posts/blogs, and interactive models. Computer programming and hobby crafts are among some of the first fields to make that transition, traditional academics are somewhere in the middle of the pack, and specialized topics like data science are keeping pace with the wider academic community. tl;dr: I think your point is really just a temporary pedagogical fluke, as we take time to transition our teaching methods.
- erispoe 10y agoYou are right, but an important part of providing insights from data is actually providing the insights, meaning the interface problem between the data science and users is crucial. For many industries, this problem is not well-solved at all. And it's not trivial. It's one thing to have great models, it's another to have a good way of making people smarter with it.
- deleted 10y ago[deleted]
- thecity2 10y agoI have a PhD in Biomedical Engineering, and am working as a DS for the past several years, and I can tell you that there is a hard ceiling for many of us out there, because we don't have enough of a math background (I'm looking at you "Real Analysis") to ever really understand the "deep theory" that someone with a PhD in Statistics or Math (or hell even a BS in Math) can have. However, having said that, I still consider myself a very productive DS, and I get stuff done. I'm not going to ever be on a research team at Google, but those aren't the only kinds of DS jobs out there. And I'm not just plotting stuff.
- aoki 10y agoto your point about analysis, the folks with a CS education here (myself included) should ponder this quote from the intro: "...we have written this book to cover the theory likely to be useful in the next 40 years, just as an understanding of automata theory, algorithms and related topics gave students an advantage in the last 40 years. One of the major changes is the switch from discrete mathematics to more of an emphasis on probability, statistics, and numerical methods." some of the key stuff in statistical learning isn't even real analysis, it's functional analysis (usually two courses later).