Hacker News new | ask | show | jobs
by sizzla 5662 days ago
I think what the author is saying is that having done projects on your own helps your credibility.

I disagree that ML is something that can be picked up through just an OCW site and such. "Real" ML involves way too much mathematics and does not overlap much with programming. ..unless your idea of Software Engineering is writing stuff in MATLAB.

There are so many books and the path to knowledge can be daunting.

In the spirit of the blog-post's advice I was trying to gauge whether to take the author's advice seriously, but after some short searching I could not come up with publications in ML. I definitely found several moderately complex projects with an ML "flavor." And that's already way better than most people who try to get into this by themselves and shows Ravi picked up on a bunch of stuff.

Ravi mentioned 5 years ago that reading the literature felt like banging your head against the wall and I think most of people who attempt the self-taught route are going to feel the same.

You're looking at a year or two of full-time college-like preparation during which you will learn lots of math but little to no ML. Only then can you begin to really learn ML. The books by themselves are simply not enough to learn this stuff. One needs to literally go through as many lectures as possible in the relevant coursework online, and do the labs. Various CS departments that actually have some traction in ML spend a large chunk of time designing the course and labs are incredibly illuminating.

If you just want to learn how to apply an ML algorithm taught in an undergraduate-level course, disregard my post.

Truly understanding anything written by Bishop or even going through ESL completely is something that is going to take an enormous amount of time (on your own easily a year, if you have the background) and mathematical skills that are typically way outside of what a Software Engineer deals with in any of the projects. I mean Bishop introduces hyperpriors in Chapter 1 or 2 for chrissake.

I can see how getting into patricle-filtering based probabilistic robotics can be easier, but try some EKF-based methods and feel the pain, that is, feel the amount of math that you don't know yet.

Extra hint for HN readers: take a look at the CVs of hot-shots in ML. Lots of Math and Physics undergrads, and a PhD in Theoretical Physics or Mathematics is not a rare occurrence by any means.

I'd also take a risk and say that traditional mentor/student relationships in India are quite different from the less formal ones in the West. My experience with colleagues from India is that they are much more likely to observe the authority ladder. Just look up Anil K Bera's interview with C.R.Rao (of Rao-Blackwell theorem) especially w/regards to how things were going at ISI.

1 comments

What a great comment (Thanks Sizzla) Lots of wisdom in it. I agree with most of what sizzla says, especially

"You're looking at a year or two of full-time college-like preparation during which you will learn lots of math but little to no ML. Only then can you begin to really learn ML."

(In my experience) This is completely true. I would go so far as to say ML is applied math. It took me more time than a year, but it could be done in a shorter period of time by someone doing it full time/ someone brighter than me.

"The books by themselves are simply not enough to learn this stuff. One needs to literally go through as many lectures as possible in the relevant coursework online, and do the labs. "

This is also true. Thankfully most of this(courework/lecture/papers) is online and (most) professors are glad to answer (well structured, focussed) questions by email. If you are saying this is not as good as doing a PhD in say, CMU, full time I will be the first to agree. If you are saying it can't be done at all outside a formal PhD program I will have to respectfully disagree.

"Truly understanding anything written by Bishop or even going through ESL completely is something that is going to take an enormous amount of time (on your own easily a year, if you have the background) and mathematical skills that are typically way outside of what a Software Engineer deals with in any of the projects."

This is true too :-). Most software engineers shouldn't try. The time commitment required is enormous and the whole idea of my rant was to try to discourage people from taking shortcuts like "being mentored".

That said, perhaps where we disagree is the idea that something taking a large amount of time is a bad thing or that such understanding can only come with formal education. The difference in our opinions may boil down to or opinions about "you can't do this on your own".

"I definitely found several moderately complex projects with an ML "flavor." And that's already way better than most people who try to get into this by themselves and shows Ravi picked up on a bunch of stuff."

Thanks, but (a) I don't write much about the work I do on my blog or elsewhere except in the most general terms (for many reasons I won't go into here). Judging the quality of my (paid for) work by referring to my very infrequent blog articles/website is a little naive. (b) More importantly I made no claims to be a professional ML researcher, who should be approached by people who are or want to be fulltime researchers.

I am "just a programmer" working on ML projects. My output (that I trade for money so I can put bread on the table) is code , not research. I don't try to hide that or give a false impression of being a professional researcher.

At best I am an amateur dabbler in the research bits of ML, just like some people dabble in astronomy without being professional astronomers. It is just something I like to fiddle with, so please don't take me seriously.

"In the spirit of the blog-post's advice I was trying to gauge whether to take the author's advice seriously, but after some short searching I could not come up with publications in ML."

You could not come up with publications because I don't have any!. And you should not take my "advice" ( I was just ranting, not really giving advice!) at all :-).

That post was written for people who write to me asking for mentorship and so on, who presumable have made the (wrong!) decision to ask me for advice. It was not written for serious researchers trying to gauge whether they should take me seriously . You shouldn't, for the simple reason I am not a researcher, just a programmer doing ML work!

My initial goal was to do interesting projects/get away from the enterprise outsourcing world. That is fairly hard to do in India but that is now done and sustainable.

What I do now is convert research results (from professional researchers) into well engineered systems. To do this I need to able to consume research, not generate it. So yes, you are completely (utterly, unequivocally) right when you say I don't have any publications/research credentials and should not be treated as an ML researcher.

At some point, I think I will try to publish. It is a decent challenge for someone like me with no formal education in math or CS. I like challenges.(Tangentially a lot of published material is rehashed minor incremental stuff, with irreproducible results and no proofs. The really good papers are somewhat rarer.)

All I'll say for wrt publishing now is "Watch this space". Publication is on my agenda. Not a very high priority but it is a goal. People tell me it can't (in practice) be done except in a formal PhD(ish) program. I might even do a formal PhD one of these days - I like the idea of working with smart people - but meanwhile I am not going to wait around to be "given permission" to learn/do things.If at some point I have some published papers so I an be taken "seriously" by others, that is great. If I don't, that is great too. Life is too short to go around satisfying other people's expectations.

I've never listened to people who say I can't do this or that because I was too old/too young/too uneducated/born in the wrong place/living in the wrong place/don't have the right educational background/whatever.

If I can't bypass an entrenched system or pick the locks of doors slammed in my face, then what kind of hacker am I? We'll see someday if people can get published outside the formal "system". I am not daunted by the prospect. And if I do get published, I will post here on HN.

"I'd also take a risk and say that traditional mentor/student relationships in India are quite different from the less formal ones in the West. My experience with colleagues from India is that they are much more likely to observe the authority ladder."

This is very true so you are not taking a risk at all by saying so. I've been reprimanded before for "thinking like a Westerner","not respecting hierarchy", "not having asense of patriotism or nationalism" (!), and "treating superiors as peers" (all actual quotes).

There are some really good profs here who treat their students like colleagues and one of them recently reached out to me with an offer of doing joint research in an interesting area. So maybe I'll end up being professional researcher after all. I am trying to work out the logistics now. Wish me luck.

(PS: I am completely embarrassed that a rant I dashed off in twenty minutes or so is getting so much attention on HN, Blush! Run away and hide!)