Last Updated on April 21, 2018
I have seen people that think that they need to get a degree in machine learning.
I am all for degrees, I just don’t think they are for everyone. I also know that you can get started in machine learning and go far without a degree.
In this post I will convince you that you do not need to get a degree in machine learning to get started or make progress in the field of machine learning.
Machine Learning Degree
You may believe that you need a degree in machine learning, and maybe you do.
Some of the reasons you believe you need a degree are:
- To learn machine learning properly. Getting a machine learning degree will teach you machine learning in a structured way. Degree programs are designed by academics that are experienced in the subject matter and in how to educate. The degree programs are targeted and clearly define what is expected of a student before they join the program and what they will capable of after the program.
- To get a job. Getting a higher degree in machine learning will give you the opportunity to apply for machine learning jobs. Organizations advertising jobs that require specific skill sets and select prerequisites that allow them to efficiently filter applicants. Advertisements for machine learning jobs typically require a degree or higher degree in machine learning or a closely related field.
- To practice machine learning research. Getting a higher degree in machine learning will give you the opportunity to practice machine learning research. The vast majority of machine learning research is produced by research labs at universities and in industry. The competition in such labs is fierce and the prerequisites for advertised positions are specific undergraduate degrees and honors programs.
Degrees Have Limitations
If you can complete a degree in machine learning it does not guarantee the outcome you seek. It may increase your chances but success is not assured. Degrees are great, I have a few myself, but keep in mind that they are just one path that like any path have their own set of limitations.
Taking on and completing a formal degree is a big undertaking. Some points to help you deeply consider this approach are listed below.
- A degree is expensive. A degree program can cost tens of thousands of dollars or more and you are sacrificing any income you may have been able to earn during that time with the hope that you will have a greater earning potential in the future. Granted, you may able to offset those costs with a scholarship and you may be able to defer those costs into the future.
- A degree is a symbol for others. There is prestige with earning a degree, especially a higher degree. The completion of a degree is a symbol for others to evaluate you by. It is a filter used by employers to make their hiring process more efficient.
- A degree takes a long time. A degree takes years and a higher degree can take many years, even the best part of decade. That is a very long time to wait if you are interested in applying or using machine learning today.
- A degree is for the average student. A degree is designed by a committee for an average student with an average performance and prerequisites. It does not take into consideration your specific interests or skills.
- A degree teachers older information. A degree is designed before you purchase access to the program. At undergraduate level, this can mean that the material is many years out of date at a minimum.
Skip the Degree
Can you skip the degree and still have the opportunity to get what you want? I argue that you can and that there are multiple paths available to you.
For example, I was implementing machine learning algorithms, writing articles on AI and winning competitions associated with conferences while working full time as a programmer. Some of the best rated competitors on Kaggle (a website for machine learning competitions) do not have higher degrees or if they do, they are in totally different fields of study.
Learn Machine Learning Properly
You can complete a formal training in machine learning at your own pace, at home. Three options for formal training alternatives include:
- Complete an online course on machine learning. Watch the lectures, do the homework and interact with other students.
- Read a book on machine learning, cover to cover. Take notes, complete the exercises, and implement what you learn.
- Design and execute your own course. Draw upon high quality free and paid materials on the subjects that interest you most and design the course and add the formalities you require.
Get a Job
You can create symbols that indicate to potential employers that you are skilled in machine learning. It will require initiative and marketing on your behalf. Three examples of symbols you can create:
- Complete a course or read a book and track your progress and findings in a public blog as you go.
- Compete in machine learning competitions and work to earn a modest ranking such as within the top n% for a competition. Partner with skilled practitioners to acquire skills faster and achieve better results.
- Complete small projects in machine learning, advertise the results on a blog and social media and release the code on public revision control systems. Build up a collection of completed projects you can refer to, draw from and discuss.
Practice Machine Learning Research
If you are obsessed with a particular concept or machine learning method, you can design your own research program.
Higher degrees are really an apprenticeship in research and research methods as well as induction into the deeper parts of the field, and that is hard to replicate independently.
Nevertheless, if you can practice machine learning research outside of an institution. Three examples include:
- Reproduce results from applied research papers. This will likely require communication with the researches involved to learn the details of the methods and data. Reproduction of results is a pillar of the scientific method and demonstration that results can or cannot be reproduced is publishable research in and of itself. You could start by blogging your experiences and marketing your findings to interested researchers.
- Self-publish your own treatments on your subject. This may be in the form of white papers, essays or ebook monographs. Do your best work and have the confidence to reach out to the research community for comment and review.
- Contribute and collaborate by putting out excellent work and showing interest in others work. Build and maintain connections with researchers in the field. Like any relationship, start slow and build trust.
Anyone can read and internalize research papers, write down their own ideas and design and execute their own experiments. Start small and be honest. Academics love to pick holes in everything, savor and learn from feedback in whatever form.
Do not let you perceived need for a degree stop you from getting started in machine learning or thinking that you can make significant progress.
In this post you learned that you can get started in the field of machine learning and make the progress you seek without a degree or higher degree.
You learned that there are multiple paths available and a degree is but one path that can consume a lot of time and resources. You also learned about alternatives to the structured learning of a degree and for the research apprenticeship for a higher degree program.
Formal education is a contentious issue, I’m keen to hear your opinion on this post. Please leave a comment and let me know what you think.
Thank you for this post.
I used to think that having a degree was the most important thing in a carrier. I still think that it is important, but far less.
As you mention having previous experience and projects that you can show, makes lot more difference. This is based on my experience as a programmer, but I think that same goes for almost any other job.
I totally agree Bojan.
Even during the degree, mastery was a matter of doing extra work way above and beyond the coursework.
Formal education is changing. We live in very interesting times.
I agree, degrees are overrated. They are like the Bose sound systems- good, but not worth the price being charged (I say this as some with a Masters, though not in Computer Science, thank SpongeBob Squarepants).
I like your point about degrees being for the average- in my own degree, I constantly topped my class, but when I got a job, I found I knew nothing.
I think degrees are a form of hazing: The thinking is that “We wasted four years and 50-60,000 dollars getting a piece of paper, so you damn better too. Otherwise, we will end up looking like idiots.”
Especially with so much info on the internet, you can learn more stuff, quickly and cheaply in your home, rather than spending a fortune.
Spot on Shantnu.
Something I think a lot about while writing content and guides for this site is how hard it is to self-study. You can get the material or put your own course together, but it takes a lot of discipline to see it through. Perhaps there is value in having a highly structured environment like a university just to boost completion.
Once you know how to learn (how YOU learn), you can put stuff in your head a lot more efficiently than a generic course. I guess I struggle to come up with a way a person can get to that point on their own – there is very little taught on learning how to learn or teaching yourself how to teach yourself 🙂
You are right Jason. We are not taught how to learn or taught how to learn by oneself, we are force feed the information.
I have taken up a goal to find books or website that can help one to learn. The best book I have came across is called “The 5 Elements of Effective Thinking” by Edward B. Burger and Michael Starbird. I was also able to find a list of books similar to the one I recommended above:
I agree your point of view about degrees with huge money spent on getting a piece of paper. That is not going to guarantee your job and satisfaction in your career.
Yes, there are few guarantees.
thanks for this posting on self teaching & learning of machine learning.
as a programmer who identifies oneself as an independent AI researcher & developer,
your opinion encourages me to keep endeavoring after my lifetime goal and dream.
The part of world where i come from we don’t have degrees for most of these things, nor do i have finances to travel abroad. so while doing a distance masters in math i realized i can do the same for Machine learning albeit with out a genuine degree. but who wants a degree any way
Go to any of your dream university website,download their curriculum , syllabus and ask for reference books on quora or stack exchange.
Stick to a schedule and finish targets through self discipline and it should work. i usually follow this site for ML: http://cs.nyu.edu/~dsontag/courses/ .I have done this for a masters in math , i believe i can do it one more time .
This is a limited approach often it takes lot more time than just finishing the books to completely get the big picture or the historic development of a subject which you can easily acquire in a classroom driven experience . But your learning is going to be lot more rigorous and symbolic as you are forced to learn that way ,unlike class room learning which is more intuitive and can sometimes be damaging at-least in mathematics.
But I am not sure if this techniques will benefit in research.I guess research demands a lot of awareness and group learning.
I’m currently studying for a degree in Business Systems, not because I think I will learn something useful I don’t already know (I’m 40), but simply to get past the first stage in HR, when they weed out all of the applications that do not have a degree.
My personal thoughts on a degree is it’s used to differentiate poor people from rich people. If you put the time in, a degree is not hard, but many poor people cannot afford to go to higher education.
That website posted by JZQuant looks interesting, thanks for that
“…degree is it’s used to differentiate poor people from rich people.”
That is a pretty disgusting concept that exposes a potentially classist, pedigree-centric issue in HR and education. A person’s present socioeconomic status has no bearing on their ability to contribute to a project on some level worthy of compensation. I foresee education going the way of open-source; where real projects can be worked on by individuals at any education level, given resources to learn on their own, and a level playing field for everyone with access to a computer the ability to be evaluated purely on what they have contributed to projects. We already have this to a degree with version control sites like GitHub, but someone needs to take it to the next level, especially with the times we’re living in today.
Great post !
I completely agree with Jason.
Now I am on a quest to learn not through academia where great minds go to die, but through the unlimited amount of information and knowledge available at our finger tips.
The real challenge is with the job listings in job portals. Almost all job listings ask for MS in computer science or P.hd. For a quant developer or actuary position you can pursue CFA or Actuary course along with your job and get it done. Unfortunately for machine learning there isn’t any such industry recognized certification which can be pursued along with job. That makes it difficult for those who do not have a masters degree, although you might be one of the brightest in your field.
Well, my opinion is … the best thing is to have booth … this means … a Degree and be a self-study. Mostly to be critical and rational.
About the jobs … well this is a area where it’s always difficult to understood. There are so many variables, so isn’t a strait forward way.
The job market is fickle.
It comes down to personal relationships (or relationships you build rapidly in an interview) and indicators you can used show you can deliver results.
@Joaoa Pires – Yes, I was about to say the same thing. The degrees can’t keep up. For example when I began my PhD in 2009 there was not even such a thing as “deep learning”. And nobody else is doing the exact same research study as me. To keep abreast of the field, it is important to do self-directed study.
P.S. What I mean to say by “not even such a thing”, actually deep learning has been around since the 80s and even before, but only in the last few years has it become state-of-the-art to solve problems like speech recognition. When I started, everyone was talking about HMM and GMM for these problems.
Yeah, I remember all the hubbub about RBM in 2006 around the time of the Netfix prize, and then later about DBM. It was impressive to see the field of “deep learning” coalesce around 2010-2011.
Right now I am confused to do OMSCS online masters and/or learn ML
Below is my background:
I am a Solution Architect and Technical Manager managing multiple teams and projects. I want to stay ahead of my team and group on ML adoption but unfortunately I could not do as I am doing OMSCS from Georgia tech
Lately I found that masters degrees will allow you to get shortlisted for interviews or put you in front door for promotion but in real word what you have learnt practically will be helpful to deliver projects.
I think results matter more than degrees, but I cannot give you career advice sorry.
your blog has inspired me to learn machine learning
but I dont have a bachelors degree I am still in school from India and it will tale nearly 2 more years to complete ny schools , and 4 years to complete bachelors but I don’t want to wait that much and I have completed my maths till grade 12 to learn machine learning I want to be a machine learning engineer but in next 2 years and I don’t wanna waste ny times in university so can you tell me if I follow your machine learning path with full honesty will I able to get job after 2 years, I can do what ever you tell me but I don’t have any cs background so tell me what I can do
This is a common question that I answer here:
Good point. But how do you get connected with researchers if you have not built that relationship during degree puisuing? I found that is hard. In addition, is there any suggestions for papers that have good instructions about reproducing their results? Also, what are the white papers you refer to? I have some novel ideas I developed during work, but it was rejected by major conferences. And I could not find any researchers to help me discuss this. Thanks.
You must start with good work that is easy to understand and reproduce. Good results will make it easier to get attention.
You can then reach out and start a dialog with researchers in the area. Everyone has their own agenda, perhaps start by helping others and making suggestions or reproducing work and asking specific questions along those lines.
A white paper or technical report so a write-up of your work that is not published. Often longer with more technical details. They can be posted to your website or arxiv.
This article is relevant and precise as I am very interested in the field of Artificial Intelligence and the likes of Machine Learning. I am very interested in pursuing a degree in Machine Learning and Artificial Intelligence and I cannot afford to enroll full time at a reputable university at the moment. However I ave doing self directed research in the Machine Learning Techniques & Artificial Intelligence, registered for the Micro Masters Course in Artificial Intelligence with http://www.edX.org and I would engage with
practitioners, students worldwide etc.
When you the posses the necessary passion for what you want to purse or intend to pursue, you just cannot wait for the perfect moment to start and therefore you need to creative in approach in order to execute goals.
Hang in there!
Thanks for the post, Jason. I think having a degree can ease things a bit when looking for a job, given that our industry still has some reserves towards self-taught engineers in any subfield of software development. However, I consider that the time investment and the outdated information outweigh the benefits.
In my opinion, the best approach is to think outside the box and build an online reputation via a blog, conferences, and networking. Sure, it takes time, but the gains are huge and, in the end, a company that values the drive and effort that learning machine learning (or any other topic, really) by our own takes it’s probably a better place to work than a company biased and prejudiced towards higher degrees.
Just my two cents. What do you think? I’d love to know!
I mostly agree. I would amend it and suggest focusing on getting really damn good at working a problem and delivering a usable result. That is the skill to demonstrate in a portfolio and the reputation to cultivate. Everything else really just supports this.
I have been learning machine learning for a year.r, and I am looking for a related job, This article is great for me ,thank you
I’m glad it helped.
Thank you for this article Jason,
I am currently in Sixth Form in the UK studying 4 A-levels that I really enjoy but chose mainly to then go on and study Computer Science at University.
Over the last year I have found great interest in pursuing a career in Machine Learning / Data Science and planned on doing so after Uni. However, I am now doubting whether University is necessary.
I had initially put off actually sitting down and learning the code and what goes into Machine Learning because I found that a lot of the online resources assume you know a chunk of it already. But after recently deciding to stop making excuses I am now working on some basic Kaggle projects and plan on going to a few workshop meetups for beginners.
All of this has made me question whether I really need a degree. I have seen quite a few apprenticeships and entry level trainee jobs in the field and am now wondering whether it would be best to start there and work my way up, since so many jobs require previous experience. Also, with so many free meetups in London it seems networking could be easier than I had imagined.
Saying this, I have seen a few degree apprenticeship and I would love this, just they focus more on the stats side than the programming.
I think after finding all of this out, the one thing that still makes me so unsure about not going to University is my age. If I don’t spend 3 years in Uni, I will be beginning work at 18/19 and feel it may take me 3 years to gain the respect to climb higher up the ladder.
Sorry for such a long comment and unclear question but what are your thoughts on all of this.
Well done on diving in!
I can’t tell what to do of course.
Generally, if you love learning/study, then university is a highly structured game and can be quite fun, especially when you’re young.
But, if you’re eager to get out there and make things happen, then you can laser focus on what is required to get results, then start getting results for businesses and make them and you lots of money. Simple models can have a large impact in companies that are currently doing nothing.
As for age. You’re right, big companies will sift and filter based on degree/age/experience. Smaller companies less so – and they will focus on what can you do based on what have you done (e.g. show your portfolio). But don’t take my word for it, talk to HR/recruiters or manages at big and small companies in your area about what they’re looking for.
I have been on many teams where the best developer was some 18 y/o kid, not a genius, they just had more time or were more obsessed then everyone else on the team.
Not sure if that helps at all. Try and collect real data to inform your decision.
i am 17 , live in india , i left my school because my school never taught me any worthy stuff. and i am 100% sure that by the end of this year i will master master machine learning with alot of cool projects that im working on. i also have udacity’s nanodegree. would that help me to get the job as machine learning engineer. your reply might give me the hope. plzz
This is a common question that I answer here:
Thanks Jason I was in Dilemma Regarding Whether I should Go For Masters or Focus on Building Protfolio . But Your Post Made it Clear.
Major Takeaways I found Was .
1) Completing Degree takes time.
2)During that time we are not having any industry Experience which is much valuable
Thanks, I’m happy it was useful.
first of all let me clear that i,m not good in english so sorry.
i can’t go for graduate degree due to some reasons and i want early success.
so i want to learn all the thing a cs degree holder knows and i can read any book recommended by you please reply me sir
I recommend this process:
thank you sir
Nice blog, thank you for publishing.
willing to take a look at waffles I found it was moved away from [sourceforge] (http://waffles.sourceforge.net/) … where the presented redirect url never loads.
Seems the person got his self [new hosting] (http://gashler.com/mike/waffles/)
Where those interested could find some [paper on the tools them selves] (http://gashler.com/mike/publications/2011_gashler_jmlr_waffles.pdf)
And of course there is [mike’s github] (https://github.com/mikegashler/waffles)
Have a nice day.
I have thoroughly read the article. I also agree with you. Degrees are gradually becoming expensive in any institute. However, I am pursuing PhD in network security, where I am developing some machine learning models. Your machinelearningmastery.com is a vital part of my online learning. Now I am in a dilemma. There are no companies in the 300-kilometre radius of my home(India) to recruit me in machine learning after my PhD. On the other hand, I want to spend the rest of my life in research-based jobs. So is there any solution with you so that I can work from home in any research-based jobs?
There may be remote research jobs, I don’t know sorry.