I found Lazy Programmer's Deep Learning courses on Udemy. A couple of those seem very interesting, specifically the ones about Natural Language Processing. I'd love to be able to enhance either my comment flagging, Zephyr or SmokeDetector with language processing capabilities. I also have tried, multiple times, to come up with a way to detect duplicate questions on Stack Overflow, but my limited knowledge of true NLP concepts has proved to be unhelpful in that task.
I have the goal of getting to the NLP courses and completing a few other data science and machine learning courses this year. I've picked out a few that look interesting and useful in either personal or professional projects. That will be my main focus in the next several months. When I need a break from these topics, I may find another soft skills course to look at. Or, I have a play through of Witcher 3 waiting for me.
To start this journey, I need to cover some prerequisites. Data Science and Machine learning utilize several important libraries and I need to know them or brush up my skills when using them. I took the Data Analysis with Pandas last winter and found that helpful. Lazy Programmer offers one covering the numpy stack. That's what I just finished.
Thoughts on the lessons¶
Deep Learning Prerequisites: The Numpy Stack in Python is a brief two hour course that gives a crash course in how to use numpy, pandas, matplotlib and scipy. It touches each of these very briefly. The goal of the course isn't to get you intimately familiar with the libraries. The goal is to get you to know the libraries exist and a few of their most common tasks. In this regard, it was very useful.
The course also served as a nice introduction to the instructor and their teaching style. It is all hands on though, which I like. I prefer to do the coding (and add my own comments along the way) to watching someone present a huge chunk of code and walk through that line by line. I've posted my IPython Notebooks on GitHub.
One other thing this course does is introduce users to the assumptions the instructor makes about the students. Machine learning and data science, in general, have a lot of math behind them. The instructor assumes that students have the theoretical background for this and teaches how to implement this math in Numpy. Note to self: Brush up on those math skills. I haven't used some of this in a long time.
This is an introduction course to the bigger "Deep Learning" courses that Lazy Programmer offers. It does it's job well and has increased my confidence in the instructor. My last couple courses haven't been great and I'm happy that this quick two hour course was available. I'm looking forward to taking some more of these courses.
One thing I will need to consider as I go through this course: whether or not to either set up a Linux machine or a virtual machine. Windows doesn't seem to play well with all the libraries I'll be needing. It may make my life easier too. So far, everyone seems to be using a Mac or Linux machine to teach these courses and offer only basic "It may work on Windows" advice.