ML class is good, but I'm bit disappointed regarding programming assignments - it is just a translation of the given math formulas to the Octave/MATLAB syntax.
I don't mind it. It's well known from teaching that reading about something and actually doing something (even if it is the same something) is incredibly important. I find that writing the MATLAB code, even if it's just translating a known formula, has helped my understanding of ML overall.
On top of this, writing the Octave code lets me see line by line what the algorithm is doing as well, and it's a quick way to gain insight into the ML approaches by seeing exactly what each intermediate step is doing.
Finally, even when it's a "translation" I find that it's not that trivial to do. Seeing a formula on a page and being able to write that as vectorized MATLAB code has also been an interesting challenge.
While that's not an inaccurate representation, I think "just" translating the math to Octave/MATLAB's pretty powerful vector algebra language isn't as trivial as you seem to find it. I've had some seriously epiphanic moments. For me, at least, this class is striking a pretty good balance.
Although I've been struck by the fact that they expect most people to do loop iteration until forced into vectorized concepts - I've been forcing myself to do it all as linear algebra from the start, as that's what I see as the point of the class.
yeah, that was kind of surprising for me as well. however, i have forced myself to submit only vectorized implementation for all exercises so far. yes, that includes the neural-networks examples as well ;)
but why ? if it is lack of maths, then you can work through derivations etc by following Christopher bishop's excellent 'neural network for pattern recognition'. for me though, the balance between theory and practice is just right.
also, for some more fun you may want to check out Stanford's uldl page as well, which goes into unsupervised learning and deep-learning architectures.
I agree with your description but I'm not sure if I'd call it disappointing. However I think it'd be really exciting if the class offered some sort of final project where you had to use the algorithms on some new domain of your own choosing (although of course you don't need a class to do this on your own).
Exactly, regarding final project or similar, where students could demonstrate some creativity and come up with original solutions.
Actually, I put more emphasis in "bit" word, before "disappointed".
But otherwise, it is really a great course - such an amount of practical information in such a short time.
Comments
ML class is good, but I'm bit disappointed regarding programming assignments - it is just a translation of the given math formulas to the Octave/MATLAB syntax.
I don't mind it. It's well known from teaching that reading about something and actually doing something (even if it is the same something) is incredibly important. I find that writing the MATLAB code, even if it's just translating a known formula, has helped my understanding of ML overall.
On top of this, writing the Octave code lets me see line by line what the algorithm is doing as well, and it's a quick way to gain insight into the ML approaches by seeing exactly what each intermediate step is doing.
Finally, even when it's a "translation" I find that it's not that trivial to do. Seeing a formula on a page and being able to write that as vectorized MATLAB code has also been an interesting challenge.
While that's not an inaccurate representation, I think "just" translating the math to Octave/MATLAB's pretty powerful vector algebra language isn't as trivial as you seem to find it. I've had some seriously epiphanic moments. For me, at least, this class is striking a pretty good balance.
Although I've been struck by the fact that they expect most people to do loop iteration until forced into vectorized concepts - I've been forcing myself to do it all as linear algebra from the start, as that's what I see as the point of the class.
yeah, that was kind of surprising for me as well. however, i have forced myself to submit only vectorized implementation for all exercises so far. yes, that includes the neural-networks examples as well ;)
but why ? if it is lack of maths, then you can work through derivations etc by following Christopher bishop's excellent 'neural network for pattern recognition'. for me though, the balance between theory and practice is just right.
also, for some more fun you may want to check out Stanford's uldl page as well, which goes into unsupervised learning and deep-learning architectures.
I agree with your description but I'm not sure if I'd call it disappointing. However I think it'd be really exciting if the class offered some sort of final project where you had to use the algorithms on some new domain of your own choosing (although of course you don't need a class to do this on your own).
Exactly, regarding final project or similar, where students could demonstrate some creativity and come up with original solutions. Actually, I put more emphasis in "bit" word, before "disappointed".
But otherwise, it is really a great course - such an amount of practical information in such a short time.
The problem with that is it would require human intervention to grade. That's really not what this whole venture is about.
Although it would be cool to organize a showcase of such projects spontaneously!