Impressions of taking the Udacity Machine Learning Engineer Nano-degree

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]

Specific service content

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.

Difference from free service

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.

What is Nanodegree Plus

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.

Good point

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.

Where I want you to improve

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.

What kind of person is suitable

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

Impressions of taking the Udacity Machine Learning Engineer Nano-degree
Impressions of taking the Python 3 Engineer Certification Basic Exam
Impressions of completing Term 1 of the Udacity autonomous driving engineer course
Machine learning memo of a fledgling engineer Part 1
About the development contents of machine learning (Example)
Machine learning memo of a fledgling engineer Part 2
About testing in the implementation of machine learning models
Predict the gender of Twitter users with machine learning
Summary of the basic flow of machine learning with Python
Record of the first machine learning challenge with Keras
Experience of taking the Applied Information Technology Engineer Examination
Basics of Machine Learning (Notes)
Introducing Udacity Deep Learning Nanodegree
Importance of machine learning datasets
Try to evaluate the performance of machine learning / regression model
The result of Java engineers learning machine learning in Python www
Predict the presence or absence of infidelity by machine learning
Try to evaluate the performance of machine learning / classification model
How to increase the number of machine learning dataset images
[Machine learning] I tried to summarize the theory of Adaboost
A story stuck with the installation of the machine learning library JAX
Significance of machine learning and mini-batch learning
[Machine learning] Check the performance of the classifier with handwritten character data
Machine learning ③ Summary of decision tree
How to use machine learning for work? 01_ Understand the purpose of machine learning
Basic machine learning procedure: ③ Compare and examine the selection method of features
Python learning memo for machine learning by Chainer until the end of Chapter 2
Judge the authenticity of posted articles by machine learning (Google Prediction API).
Machine learning algorithm (generalization of linear regression)
Record the steps to understand machine learning
Othello-From the tic-tac-toe of "Implementation Deep Learning" (3)
Learning notes from the beginning of Python 1
2020 Recommended 20 selections of introductory machine learning books
Machine learning algorithm (implementation of multi-class classification)
Visualize the effects of deep learning / regularization
[Machine learning] List of frequently used packages
[Machine learning] What is the LP norm?
Let the machine "learn" the rules of FizzBuzz
Learning notes from the beginning of Python 2
Judgment of igneous rock by machine learning ②
Othello-From the tic-tac-toe of "Implementation Deep Learning" (2)
Since the fledgling engineer passed the G test, make a note of the learning content
Machine learning
I tried to predict the presence or absence of snow by machine learning.
Implementation of a model that predicts the exchange rate (dollar-yen rate) by machine learning
Align the number of samples between classes of data for machine learning with Python
The story of doing deep learning with TPU
Classification of guitar images by machine learning Part 1
The story of low learning costs for Python
Beginning of machine learning (recommended teaching materials / information)
Machine learning of sports-Analysis of J-League as an example-②
Python & Machine Learning Study Memo ⑤: Classification of irises
See the behavior of drunkenness with reinforcement learning
Numerai Tournament-Fusion of Traditional Quants and Machine Learning-
Upgrade the Azure Machine Learning SDK for Python
Python & Machine Learning Study Memo ②: Introduction of Library
Full disclosure of methods used in machine learning
List of links that machine learning beginners are learning
Overview of machine learning techniques learned from scikit-learn
Summary of evaluation functions used in machine learning
Analysis of shared space usage by machine learning