This is another from our developers corner’s series. If you have missed previous posts, you can click here. Today, we will be bringing you a narrative of a developer who has just completed a machine learning course on Coursera.
So I completed the Machine learning course on Coursera recently. It’s my umpteenth MOOC Course and I actually do not know how many I have taken or want to take. Despite this, I have only gotten three certificates so far; all my attempts at integrating Coursera courses into my schedule have not been successful. I have had to settle for auditing courses at my pace. At least, I get to fulfill my goal – learning and understanding.
I took a couple of data mining courses during my master’s degree and have some experience with a variety of tools and programming languages (Octave,Weka). As grad students, we had to write our own classifiers and performance evaluators (kNN, Naive Bayes, ROC curves). Sound familiar? Using Weka or similar tools/libraries would have saved us much trouble however our lecturer did not agree, I believe his approach was great as we were ‘forced’ to learn and got to really understand what the mathematics was all about.
RELATED: Python at Codecademy. No Snakes Allowed Though
Back to the Machine learning course, I think Professor Andrew Ng (Stanford) is simply awesome at what he does – everything is explained in really simple terms. He is also the guy behind the awesome autonomous helicopter video. If you haven’t seen it, you can click here.
It was refreshing to use Octave again. Its elegant approach to numerical computation is mind-blowing. Moreover, it makes it possible to get a lot done in a few lines. It also seems to handle the floating-point issue well (0.1 + 0.2 = 0.3). These features are impressive when compared to other languages; however, every language has its strengths, weaknesses and application domains.
I learned a great deal and refreshed my background in a variety of machine learning techniques and applications. It was nice to re-learn the concepts of gradient and stochastic descent, clustering, overfitting and underfitting (bias and variance). There were a couple of new topics such as principal component analysis (beautifully explained), logistic regression, anomaly detection, recommender systems and support vector machines.
I struggled with the neural networks section and at times found the programming exercises quite challenging. It was a surprise (albeit a humbling one) to realize that I didn’t know as much as I thought I knew. The suggestions and advice on data mining are invaluable, he gave suggestions on setting up a processing pipeline, ceiling analysis, learning curves, error analysis and regularization and creating artificial data and dealing with massive datasets.
Overall I think it is a great course and I am glad to have taken it. The next challenge is to find some way to use these techniques – there is no better way to fully understand than to practice, not so?
Interested? Head over to Coursera. The course is currently not available but you can view the archives at your own pace or wait for the next class session.
About the Narrator
Abdulfatai is passionate about software development and computer science. He is extremely curious and loves learning. You can follow him at @abdulapopoola.
About Machine Learning on Coursera
Machine learning is the science of getting computers to act without being explicitly programmed. In the past decade, machine learning has given us self-driving cars, practical speech recognition, effective web search, and a vastly improved understanding of the human genome. Machine learning is so pervasive today that you probably use it dozens of times a day without knowing it. Many researchers also think it is the best way to make progress towards human-level AI. In this class, you will learn about the most effective machine learning techniques, and gain practice implementing them and getting them to work for yourself. More importantly, you’ll learn about not only the theoretical underpinnings of learning, but also gain the practical know-how needed to quickly and powerfully apply these techniques to new problems. Finally, you’ll learn about some of Silicon Valley’s best practices in innovation as it pertains to machine learning and AI.
Image credit: informatik