My Sole Advise to Data Scientists on Coursera & Quora
Tarry Singh
CEO, Visiting Prof. AI, Board Director & AI Researcher @ Real AI Inc. & DK AI Lab | Simplifying AI for Enterprises | Keynote Speaker ??
I have been responding to a lot of requests ranging from:
"How do I get started in the field on Machine Learning, Deep Learning or Artificial Intelligence"
or this
"How to I advance from the basics that I know today..."
or even more honest and confronting ones like this from ...
"100/100 on assignments doesn't mean you are a proficient..." asked by Noreddine Belhadj Cheikh in @Coursera
All valid questions but how to move forward?
I have tried to answer these questions in the past 6 months from both my own learning experience as well as from a career perspective.
FIRST HERE A FEW REQUESTS AND MY ANSWERS
1. QUORA
Question 1: What is the best programming language to learn for a job in 2017?
My answer -->>> Don't waste time sitting; get started!
Start with Python and …
- Ignore warnings such as programming is hard and all other BS.
- Pick up your laptop or pc.
- Install python , c++, perl, a simple IDE
- Spend 6 - 12 hours a day coding.
- Get on github and start following latest & coolest projects
- Get on stack overflow to ask, get and participate.
6–12 months, you've learned programming!
NOTE: I got a lot of critique on this above answer on Quora, I do realize that this rather a steep climb for most, but my hope is to get you started and then you can get accustomed to your own pace. But do please hurry!
Question 2 (more focused): How do I start learning artificial intelligence? Is it possible to get research work in the field of A.I? Are there open source projects where I can contribute?
My answer: -->>> If you know the basics, go deeper to learn advanced concepts
Here's the FSP* [fastest shortest path] I use to learn new things. This should help you.
- Get a account on GitHub and search for popular projects. Goal = take stock and plan to do 1- project a day. Finish it, no matter what.
- Get your laptop / pc and install anaconda and a bunch of latest deeplearning frameworks (tensor flow, mxnet, PyTorch/Torch, keras etc) Goal : install a couple of times & I hope you'll fail because only then you'd have learned
- Open up accounts at coursera & edx etc but go and see which projects get you moving on the steepest slope to learning. Goal : measure by what you learned new & what you couldn't understand. If answer true, you're right on track!
- Book reading : On github there are links to books that teach deep learning intensely. Goal : 4.1 Fast reading - have plenty of cookbooks for reference. 4.2 Goal = deep reading : have and fully comprehend the fundamentals of good AI / deeplearning book[1] for deep reading.
I can guarantee you that within a year you would have experienced a metamorphosis.
*some linear algebra understanding - even high school math is good. Bit of tech / programming concepts will help you move faster.
For latest ai / deep learning tutorials feel free to follow these that I maintain daily! https://github.com/TarrySingh/Artificial-Intelligence-Deep-Learning-Machine-Learning-Tutorials
Question 3 (reality check): Can I get a machine learning job if I finish Andrew Ng's Deep Learning Specialization?
My Answer: -->>> Getting job is a combination of stuff, not just math
Mmmm, no.
Getting a job — besides your own (hopefully fully loaded) learning track and plan, has also got to do with things like :
- who you know: no matter how great your skills are and how loaded your resume is with latest Udacity, Coursera, etc certifications, you will have to rely on generosity of someone who'll get you through the gates and into an enterprise to get cracking.
- where you're living currently: Market is really flooded with “data scientists” and in some regions like San Francisco, Seattle, ‘fill_in_any_top_city_in_nw_hemisphere’ ; it'd be a bit of a situation where supply has egregiously overshot demand. Try moving to where the demand will be instead of where it's come and gone.
- Learn more skills than just data science: the next logical step in AI/DL/ML revolution will be standardization, modularization and toolkitization. Meaning? It will become more business centric and will be used directly by business owners to build smarter consumer centric services. So, learn additional skills in both tech (systems engineering, os , web programming like node.js, etc etc) & business domains(team lead, data science coe setup, negotiation, presentation skills, cross-functional stakeholder management, etc).
And still I think Andrew’s course is important to follow because it gives you the opportunity to learn from a very passionate person.
Hope this helps.
2. COURSERA
Question: 100/100 on assignments doesn't mean you are a proficient
My answer: -->>> Don't worry and keep going deeper, job will come eventually as well
Great question and you make a good point!
The assignments are “easy” because you’re guided how to type a few lines of code in the graded block to complete the assignment.
Yes, that’s easy to score.
My advice to all learners/enthusiasts/proficient folks is to do the following:
Dig deeper: Yes, understand how all the data you are getting was preprocessed.
Play with data sets: How you split them into test/dev/Val/train set.
Do python the hard way / think of it like a language: Type indeed all of the code by hand to understand why you’re doing what you’re doing (I started doing that from my first assignment onwards)
Next...
Go and look for more treasures: You have to go out there and participate in real, hands on, peer reviewed even, hardcore projects.
Think of your own gem you wish to reveal/explore: Start thinking of your own projects and get yourself on GitHub.
Have tested your gem? Go build your app: here are some real ideas: Pick up one area of expertise such as NLP , go deep into a field , say chatbot to help lonely teenagers.
Doing your certification is the beginning of a journey to a place you want to be at.
Do you know where that is?
If not, find it!"
Question 2
(some asked for harder programming assignments): More "hardcore" programming problem sets?
My answer: -->>> Don't obsess over theoretical victories, find real-world problems to solve.
For coding and solving more difficult problems, just look around on Coursera and elsewhere. You will find enough challenges to solve. You have fastai, Udacity to play with stuff , enough research projects that require further inspection and finally do some awesome work that is awaiting.
Key lies in learning and if certification leads to self-satisfaction of "Yep, I have a cert", then the purpose is defeated.
If you learned how and why RMSE worked it's great but if you thought that it actually doesn't make sense and there's a better way, then you're on to something.
If you think ReLU is great and you do it day in, day out. but if you think there's a better way, like a recent paper that was recently published, then you may be on to something.
TL;DR?
Here's a summary
- Don't waste time sitting, get started! Sometimes a direct answer helps in getting you moving, so get started today!
- If you know the basics, go deeper to learn advanced concepts: If you are seeking depth, then there are enough explored depths you can get started with!
- Getting job is a combination of stuff, not just math: Getting a job has a lot to do with network, finding the right employers and fighting / winning over own biases (spoiler-alert: you can fight them but not win them!)
- Don't worry and keep going deeper, job will come eventually as well: If you've gained understanding on linear algebra, linear and logistics regressions and have a certification then move on to the next challenge. climb higher, if it gets steeper, read some more, ask for advice and keep moving.
- Don't obsess over theoretical victories, find real-world problems to solve: The world is full of problems -- created by data (revenge porn - yes, there is research going on to tackle this, teenage depression, digital disenfranchisement) to unsolved problems (medical and mental diseases etc)
Software Engineer | Micro Services | AWS | Azure | Machine Learning
5 年Thanks Tarry Singh. It was very helpful to dive in...!!! :)
Data Engineer 3 @Comcast
5 年Thanks for the advice Mr. Singh.
Geotechnical Engineer
6 年A great advice.