6 ms·
My Education in Machine Learning via Cousera, A Review So Far
- dizzystar 14y agoThis is a nice overview. I'm up and down on the Coursera courses as they seem to be hit or miss, at times incomplete, at times easy A material and at times intractable. There really is no good progression from A to B and that is fine if you are a true autodidact as I am, but for those who are considering this, or any collection of OCW as a replacement from standard education, I would strongly suggest not doing this. The problem with Coursera, IMO, is that despite the promise of free education for all, the very large amount of courses with a broad spectrum of usefulness and difficulty makes it too difficult to navigate and can cost a student hours of wasted time watching videos that may be far beneath or above the student's abilities. I would suggest Coursera creates a pre-exam section for all the courses so the student can have a slightly better understanding of what they are signing up for. Hell, they are promoting themselves as a Machine Learning repository, can't they do a basic suggest-a-course section based on pre-exams? With that said, I love the idea of Coursera, Udacity, EdX, etc. and what they promote. I am one of those people who, despite being American, had zero chance of ever getting into college due to the quality of my inner-city high school and financial circumstances. Of course, the issue is that if you do grow up in this circumstance, you probably won't be able to take advantage of the free education because you may not have a computer. Regardless, anyone who wishes to partake can join with little more investment than a $200 computer from Walmart, so the financial excuse isn't quite the barrier that it once was. How much opportunity do any of these courses open up? How much do employers give a hoot about a silly certificate from a pseudo-school that rides on the backs of watered-down Ivy League classes? Employers still take a degree from DeVry more seriously than the scattered layout of MOOC, and until this is changed, there will never be tangible proof or progress in the sphere. I could tell employers all day that I read, and worked through, SICP and Cormen, but why should they care? They shouldn't because there was no one around to tell me my code is wrong. I can show employers websites I built using exotic languages such as Clojure, but why should they care when I can't pass a basic whiteboard test? I could tell them that I can proficiently write in x y z language, but they don't care and they shouldn't. To all of those people who suggest that employers don't care about your background education and only care about the projects you worked on, I challenge you to point out how many of your coworkers don't have at least something that resembles a Formal Education (TM). Coursera is not a Formal Education (TM). The proof will come if, and only if, one day a student self-learned from Coursera with a large portfolio with self-projects nails a job over a kid from MIT with no portfolio. No one, at this point, can seriously say this is happening and a convincing scale.
- notimetorelax 14y agoNice write up. While I might disagree with you on certain points, without any proof on my part, I completely agree that one should take open courses almost exclusively only if s/he wants to learn something new for themselves. I get a huge kick from learning new stuff. If anything I started with class on algorithms in hopes to land a job at Google, well I never did, but it gave me taste for knowledge that is hard to satisfy. :)
- Rickasaurus 14y agoIt's my experience that if you acquire the skills and talk to enough people about them, the opportunities will present themselves. It's not just big companies out there, there's a lot of smaller ones who can't compete with google in hiring PhDs. These are a good place to build credentials that you can carry you to the larger institutions, if that's where you want to be.
- queensnake 14y agoYou know that a coursera-taught team won a (non-academic) machine-learning competition, right? Knock-on articles about it made the rounds here a few weeks back.
- eddie_the_head 14y agoI missed that one, do you mind sharing a link?
- dizzystar 14y agoThis article popped up on Google. Is this what you're talking about? http://gigaom.com/data/why-becoming-a-data-scientist-might-be-easier-than-you-think/ http://gigaom.com/data/why-becoming-a-data-scientist-might-b... The winners were a mechanical engineering student, an actuary, and an insurance risk analyst. This is all neat, but I was refering specifically to students w/ no education using these courses as a replacement for college. Yes, as an add-on, I give it a huge Plus 1, but as a replacement, not yet. I'm not saying there is no hope, I'm saying it's not quite there yet.
- 14y ago
- dschiptsov 14y agoThere are courses definitely worth trying: ML is the general introductory course. PGM is more about applied knowledge. NN is a specialized and very good one. Scala is just a buzzword. Lisp is a language for AI for many reasons - it has almost no clutter, so you can read it. There is also Berkeley CS188.1 on edX, which covers search. Of course, just courses are not enough. You need textbooks, AIMA, PAIP and PGM are highly recommended. But most importantly you need practice. One cannot learn how to swim, ride a bicycle or wrestling just by reading books and watching movies. Very few regions of your brain learn something just by watching and listening. Those which are active when you actually do something must be trained by doing. It is how you will form your own intuitions, timing, etc. Non-verbal parts of the brain are doing the most of the job. Neural networks need to be trained on real data to learn its behavior.) This simple idea is a cornerstone of MIT approach in teaching CS. They do lots of projects and labs, working in groups. This is real training. Recent version of 6.01 is a good example. So, start your own project or join some Open Source. Then you will get real practice, training and feedback from other people. It is not meeting that matters, it is practice.
- michaelochurch 14y agoI agree with most of what you're saying, but not this: Scala is just a buzzword. Disagree. There's a strong case for static typing. I am not saying that it is "right" or "wrong", but this static/dynamic trade-off is not simple and has no all-purpose answer. Also, you will never convince most engineering managers to let you write a production system in Common Lisp. They may be wrong in their prejudice, but they're focused on risk-reduction and would prefer all production software to be written in Java. Scala has a fighting chance of getting into the "for production" language space. In 15 years, most of the good Java engineers are going to have moved to Scala and prefer it. Out of curiosity, have you tried Clojure? It's pretty neat. I actually like it better than I like Common Lisp.
- dschiptsov 14y agothey're focused on risk-reduction and would prefer all production software to be written in Java. - this is cancer, so to speak.) I know only one way to reduce a risk of running a software - choice an appropriate hardware, and run as less software as possible. You must know your hardware and your software. That means it must be compact, readable and easily modifiable, so that you can quickly adapt and fix it, on the go. So, I would choose a well-defined, mostly-functional, small, simple language, with decent compiler directly to native machine code and very thin FFI, to use specialized OS services. It could be a solution from http://scheme.com http://scheme.com or Gambit-C, not anything that begins with J. So, in my opinion, a native compiler for, say, Arc to x86_64 (written in Lisp) with UNIX integration (NO Windows support) would be a better solution. Unfortunately, it doesn't exist yet.) It seems like Go is taking the same approach - they have very thin layer of abstraction on top of an OS (post of Plan9 core libs) they have native compilers, and comprehensible runtime. So, this is real, available better solution. There is Erlang - almost the same underlying principles, but complicated with a VM. In order to reduce risks you must have deep understanding of what you are running.
- Homunculiheaded 14y agoOne thing I've found somewhat odd is how seriously people take the timeline on coursera courses. To me one of the biggest weaknesses of these courses is the hard time constraints. For all of the courses I've taken (ML, PGM, NLP, SNA) I've followed roughly the same pattern: follow the course for 50-70% of the material doing all homeworks etc. Take what I've learned and go off do some fun projects. Once I hit a road block return to the course and finish up (usually months after the course is 'officially' done) typically forgoing the homework being I've already created 'homework' for myself. Compared to my classroom experiences, I've found that this method greatly enhances the benefit of the materials I learn later in the course, as well as allowing me to more strongly reinforce material learned earlier. This is also something that physical classes simply cannot emulate. I do find it a little funny that I've never officially completed a coursera course, despite having covered much of the material very thoroughly. Hopefully as these courses continue we'll start to see them adopt patterns that extend beyond replicating the limitations of a physical classroom online.
- vilya 14y agoJust to provide a counterexample: for me, the hard deadlines are really helpful. That, along with the near-instant feedback, are what make the experience so much better than just watching a series of lecture videos. They act as a motivating factor & help prevent me from getting too sidetracked by things where I wouldn't be learning as much. Maybe that's an area where online classes can innovate further: hard deadlines could be optional. People like me who want them could enable them when they start a course; people like you who don't, could disable them instead.
- Rickasaurus 14y agoI also like the sense of accomplishment in finishing a class with a high grade and time constraints. It's like beating a video game on hard :).
- SatvikBeri 14y agoThere are several studies showing that hard deadlines usually result in better performance and higher completion rates, so you're not alone[1]. It also has the advantage of creating a community on the same page as you are. So there's no clear-cut answer. Making hard deadlines optional could very well cause more damage and less completion even if it's better for a few individuals. I hope that Coursera is collecting analytics on how people perform with different types of deadlines, so that they can come up with the best overall solution. [1]: http://pss.sagepub.com/content/13/3/219.short http://pss.sagepub.com/content/13/3/219.short