From December 2016 to May 2017, I attended Udaicity's Machine Learning Engineer Nanodegree. I found some articles about Udacity itself, but I didn't see many articles about Nanodegree in Japanese before taking the course. I would like to make a note of what kind of service it is, what kind of things I can learn, and what kind of people are suitable for it, including my impressions after taking the course. [http://www.udacity.com/course/machine-learning-engineer-nanodegree--nd009]
An online paid course for $ 199 a month. Some content covers Udacity's free courses, but the content is organized to help you learn the basics of ML. In addition, assignments are set, and it is structured to learn supervised learning, unsupervised learning, reinforcement learning while solving the assignments. The issues seem to change from time to time, and recently an image classification issue using CNN has been added. There is a video lecture on a topic, assignments are set to review it, solve the assignments distributed in Python Notebook, upload the code to Github and submit the assignment (or send a Zip file) The basic flow is that if you get a review and pass it, you can move on to the next lecture. First of all, the explanation of the Python environment construction required to solve the problem is drawn fairly carefully. There are optional challenges using Titanic data to test the environment and to create a simple ML model.
The big difference is that you get feedback on the challenge. There is no way to make sure that you are doing self-study and that you understand it, but you can get feedback to see what you haven't fully understood yet. Feedback is checked to see if it is done against the evaluation criteria set for each issue. You'll also get feedback on the code so you can learn more about how to code more efficiently. When submitting an assignment, you can add a comment saying that you did not understand this well, and then you will take a closer look at the review and give you reference materials. Another difference from the free version is that it has a tutor and you can set up a 1 on 1 video conference and ask questions when you get stuck. For the free version, you can get answers by asking questions on the Online Forum, but you can ask more detailed questions that are specific to what you do not understand.
It is a service that guarantees employment at a company after the course is over. In addition to coursework, your resume, LinkedIn profile, and Github profile will be supported to help you modify them to make them more likely to be hired. If it is not Nanodegree Plus, there is no employment guarantee, but these profile modifications are no longer required as an Optional Project. This is a required item for Nanodegree Plus. If you work in Japan, I think it's a service you rarely use. For those who are thinking of changing jobs to a foreign-affiliated company, it is convenient to set it to Nanodegree and review the resume as an option, because the resume can be rewritten in a good-looking manner.
What I personally like about it is that it's fairly easy to build an environment for analysis. Python is a required language for ML nanodegree. The style is to install Anaconda and then install the required packages, so you won't be unable to execute the code distributed in class. I have taken a Coursera course, but at that time it was difficult to build an environment, it took a couple of days just to do it, and the distributed code could not be executed, so the important thing is It was very stressful because I couldn't learn. That wasn't the case with Udacity's Nanodegree. It was also good that we only had to do what we needed to tackle the issues. In each lecture, I got the impression that the system is such that you can learn only the parts necessary for that purpose, after thinking about what you must do at least as an ML Engineer. In the case of ML nanodegree, all the tasks are done with Python Notebook, but helper functions such as graphing are defined in advance, and some code is prepared, for example, the code is filled in only the formatting part of the data. It is in the form of writing code by yourself only for the ML model part such as Clustering. Thanks to that, I thought that I could learn efficiently in the shortest amount of time.
Unfortunately, all lectures and assignments are in English. If you can't communicate in English, it's difficult to take full advantage of it. Most of the lecture videos have English subtitles, so I think you will not be in trouble. The trouble is that when you get stuck, the 1 on 1 telecan is a conversation in English, so I think you can't make full use of it. To put it the other way around, I think it's two birds with one stone for those who want to study English as well. Also, since there are few tasks, you can only learn relatively elementary things, and you may feel that it is a little unsatisfactory for intermediate level people. For example, in one task, we will do SVM and Random Forest, but XGBoost and kNN will not be used. It may be good for those who want to learn the basics first, but it may not be very suitable for those who want to learn more advanced content. Since the assignments are distributed on Github, there is a point that it is difficult to submit the assignments without knowing the Git command etc. to some extent. However, I think that Git operation is a knowledge that is worth remembering, so it is also a good opportunity to actually use it. There is also a free course about Git, so you can learn the basic operations there. Another thing I would like to see improved is the cost. $ 199 is automatically deducted every month, but the last task is a free task, so it will take a long time. It feels like self-study, so I don't watch lectures, and I don't take 1 on 1 in particular. I don't receive any service, but only the money will be deducted. I thought this was a little wasteful.
I think it is suitable for people who have just started learning about machine learning or want to learn about it. Especially, I think it is good for people who want to learn efficiently and quickly in the shortest amount of time because they can pay for it. The assignment consists of Supervised Learning, Unsupervised Learning, Reinforcement Learning, and free assignment. I think that it is a good introduction because you can learn typical methods from the state where the prerequisite knowledge is zero. It is also recommended for people who are currently using other languages such as R, but want to be able to use Python in the future. If you know the theoretical background, you can just take a quick look at the lecture, and I think that you can learn by solving only the problems and devoting yourself to learning coding in Python.
Recommended Posts