You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

148 lines
9.0 KiB
HTML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link href='https://fonts.googleapis.com/css?family=Architects+Daughter' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen">
<link rel="stylesheet" type="text/css" href="stylesheets/github-light.css" media="screen">
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>Machine learning for software engineers by ZuzooVn</title>
</head>
<body>
<header>
<div class="inner">
<h1>Machine learning for software engineers</h1>
<h2>A complete daily plan for studying to become a machine learning engineer.</h2>
<a href="https://github.com/ZuzooVn/machine-learning-for-software-engineers" class="button"><small>View project on</small> GitHub</a>
</div>
</header>
<div id="content-wrapper">
<div class="inner clearfix">
<section id="main-content">
<h1>
<a id="top-down-learning-path-machine-learning-for-software-engineers" class="anchor" href="#top-down-learning-path-machine-learning-for-software-engineers" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Top-down learning path: machine learning for software engineers</h1>
<p>Inspired by <a href="https://github.com/jwasham/google-interview-university">Google Interview University</a>.</p>
<p><em>If you like this project, please give me a star.</em></p>
<h2>
<a id="what-is-it" class="anchor" href="#what-is-it" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>What is it?</h2>
<p>This is my multi-month study plan for going from mobile developer (self-taught, no CS degree) to machine learning engineer.</p>
<p>My main goal was to find an approach to studying Machine Learning that is mainly hands-on and abstracts most of the math for the beginner.
This approach is unconventional because its the top-down and results-first approach designed for software engineers.</p>
<p>Please, feel free to make any contributions you feel will make it better.</p>
<h2>
<a id="start-learning" class="anchor" href="#start-learning" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a><a href="https://github.com/ZuzooVn/machine-learning-for-software-engineers">Start Learning</a>
</h2>
<hr>
<h2>
<a id="why-use-it" class="anchor" href="#why-use-it" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Why use it?</h2>
<p>I'm following this plan to prepare for my near future job: Machine learning engineer. I've been building the native mobile application (Android/iOS/Blackberry) since 2011. I have a Software Engineering degree, not a Computer Science degree. I have itty bitty of basic knowledge about: Calculus, Linear Algebra, Discrete Mathematics, Probability &amp; Statistics at university.
Think about my interest in machine learning:</p>
<ul>
<li>
<a href="https://www.quora.com/Can-I-learn-and-get-a-job-in-Machine-Learning-without-studying-CS-Master-and-PhD">Can I learn and get a job in Machine Learning without studying CS Master and PhD?</a>
<ul>
<li>You can, but it is far more difficult than when I got into the field.</li>
</ul>
</li>
<li>
<a href="https://www.quora.com/How-do-I-get-a-job-in-Machine-Learning-as-a-software-programmer-who-self-studies-Machine-Learning-but-never-has-a-chance-to-use-it-at-work">How do I get a job in Machine Learning as a software programmer who self-studies Machine Learning, but never has a chance to use it at work?</a>
<ul>
<li>I'm hiring machine learning experts for my team and your MOOC will not get you the job (there is better news below). In fact, many people with a master's in machine learning will not get the job because they (and most who have taken MOOCs) do not have a deep understanding that will help me solve my problems</li>
</ul>
</li>
<li>
<a href="http://programmers.stackexchange.com/questions/79476/what-skills-are-needed-for-machine-learning-jobs">What skills are needed for machine learning jobs?</a>
<ul>
<li>First, you need to have a decent CS/Math background. ML is an advanced topic so most textbooks assume that you have that background. Second, machine learning is a very general topic with many sub specialties requiring unique skills. You may want to browse the curriculum of an MS program in Machine Learning to see the course, curriculum and textbook.</li>
<li>Statistics, Probability, distributed computing, and Statistics.</li>
</ul>
</li>
</ul>
<p>I find myself in times of trouble.</p>
<p>AFAIK, <a href="http://machinelearningmastery.com/programmers-can-get-into-machine-learning/">There are two sides to machine learning</a>:</p>
<ul>
<li>Practical Machine Learning: This is about queries databases, cleaning data, writing scripts to transform data and gluing algorithm and libraries together and writing custom code to squeeze reliable answers from data to satisfy difficult and ill defined questions. Its the mess of reality.</li>
<li>Theoretical Machine Learning: This is about math and abstraction and idealized scenarios and limits and beauty and informing what is possible. It is a whole lot neater and cleaner and removed from the mess of reality.</li>
</ul>
<p>I think the best way for practice-focused methodology is something like <a href="http://machinelearningmastery.com/machine-learning-for-programmers/#comment-358985">'practice — learning — practice'</a>, that means where students first come with some existing projects with problems and solutions (practice) to get familiar with traditional methods in the area and perhaps also with their methodology. After practicing with some elementary experiences, they can go into the books and study the underlying theory, which serves to guide their future advanced practice and will enhance their toolbox of solving practical problems. Studying theory also further improves their understanding on the elementary experiences, and will help them acquire advanced experiences more quickly.</p>
<p>It's a long plan. It's going to take me years. If you are familiar with a lot of this already it will take you a lot less time.</p>
<h2>
<a id="how-to-use-it" class="anchor" href="#how-to-use-it" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>How to use it</h2>
<p>Everything below is an outline, and you should tackle the items in order from top to bottom.</p>
<p>I'm using Github's special markdown flavor, including tasks lists to check my progress.</p>
<p>I check each task box at the beginning of a line when I'm done with it. When all sub-items in a block are done,
I put [x] at the top level, meaning the entire block is done. Sorry you have to remove all my [x] markings
to use this the same way. If you search/replace, just replace [x] with [ ].
Sometimes I just put a [x] at top level if I know I've done all the subtasks, to cut down on clutter.</p>
<p>More about Github flavored markdown: <a href="https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown">https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown</a></p>
<h2>
<a id="follow-me" class="anchor" href="#follow-me" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Follow me</h2>
<p>I'm a Vietnamese Software Engineer who are really passionate and want to work in the USA.</p>
<p>How much did I work during this plan? Roughly 4 hours/night after a long, hard day at work.</p>
<p>I'm on the journey. </p>
<p><img src="http://sv1.upsieutoc.com/2016/10/08/331f241c8da44d0c43e9324d55440db6.md.jpg" alt="Nam Vu - Top-down learning path: machine learning for software engineers"></p>
<h2>
<a id="start-learning-1" class="anchor" href="#start-learning-1" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a><a href="https://github.com/ZuzooVn/machine-learning-for-software-engineers">Start Learning</a>
</h2>
</section>
<aside id="sidebar">
<a href="https://github.com/ZuzooVn/machine-learning-for-software-engineers/zipball/master" class="button">
<small>Download</small>
.zip file
</a>
<a href="https://github.com/ZuzooVn/machine-learning-for-software-engineers/tarball/master" class="button">
<small>Download</small>
.tar.gz file
</a>
<p class="repo-owner"><a href="https://github.com/ZuzooVn/machine-learning-for-software-engineers"></a> is maintained by <a href="https://github.com/ZuzooVn">ZuzooVn</a>.</p>
<p>This page was generated by <a href="https://pages.github.com">GitHub Pages</a> using the Architect theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.</p>
</aside>
</div>
</div>
</body>
</html>