1. 程式人生 > >Study Guide to Machine Learning

Study Guide to Machine Learning

There are lots of things you can do to learn about machine learning.

There are resources like books and courses you can follow, competitions you can enter and tools you can use.

In this post I want to put some structure around these activities and suggest a loose ordering of what to tackle when in your journey from programmer to machine learning master.

Four Levels of Machine Learning

Consider four levels of competence in machine learning. This is a model to help us think about the resources and activities available and when a good time to tackle them might be.

  1. Beginner
  2. Novice
  3. Intermediate
  4. Advanced

I want to separate beginner from novice here because I want to show that an absolute beginner (a programmer with an interest in the field) has a path before them if they choose.

We are going to tour through each of these four levels and look at resources and activities that can help someone at one level learn more and progress their understanding and skill levels.

The breakdown is just a suggestion, and it is very likely that some activity or resource at a level before or after can be very useful and appropriate at a given level in the breakdown.

I think the overall structure is useful, I’m keen to hear what you think, leave a comment below with your thoughts.

Beginner

A beginner is a programmer with an interest in machine learning. They may have started to read a book, Wikipedia page, or taken a few lessons in a course, but they don’t really “get it” yet. They’re frustrated because the advice they are getting is for intermediates and advanced levels.

Beginners need a gentle introduction. Away from code and textbooks and courses. They need the whys and whats and hows pointed out first to lay the foundation for novice-level material.

Some activities and resources for the absolute beginner are:

Novice

A novice has had some contact with the field of Machine Learning. They have read a book or taken a course. They know they are interested and they want to know more. They are starting to get it and want to start to get things done.

Novices need something to do. They need to be put into action to have the material grounded and integrated into existing knowledge structures like the programming languages they know or the problems they are used to solving.

Some activities and resources for the novice are:

  • Complete a Course: Take and complete a course like the Stanford Machine Learning course. Take a lot of notes, complete the homework if possible, ask a lot of questions.
  • Read some Books: Not textbooks, but friendly books like those listed above targeted at beginner programmers.
  • Learn a Tool: Learn to drive a tool or library like Scikit-Learn, WEKA, R or similar. Specifically, learn how to use an algorithm you have read or learned about in a book or course. See it in action and get used to trying things out as you learn them.
  • Write Some Code: Implement a simpler algorithm like a perceptron, k-nearest neighbour or linear regression. Write little programs to demystify methods and learn all the micro-decisions required to make it work.
  • Complete Tutorials: Follow and complete tutorials. Start building up a directory of small projects that you have completed with datasets, scripts and even source code you can look back on, read and think about.

Intermediate

A novice has read some books and completed some courses. They know how to drive some tools and have written a bunch of code both implementing simple algorithms and completing tutorials. An intermediate is breaking out on their own, devising their own projects to learn new techniques and interacting and learning from the greater community.

The intermediate is learning how to implement and wield algorithms accurately, competently and robustly. They are also building the skills of spending a lot of time with data up front, cleaning, summarizing and thinking about the types of questions that it can answer.

Some activities and resources for the intermediate are:

  • Small Projects: Devise small programming projects and experiments where machine learning can be used to solve a problem. This is like designing and executing your own tutorials in order to explore a technique you’re interested in. You may implement an algorithm or link to a library that provide the algorithm. Learn more about small projects.
  • Data Analysis: Get used to exploring and summarizing datasets. Automate reports, know which tools to use when, and look for data you can explore, clean, and on which you can practice techniques and communicate something interesting.
  • Read Textbooks: Read and internalize textbooks on machine learning. This may very well require skills to grok mathematical descriptions of techniques and acknowledging formalisms that describe classes of problems and algorithms.
  • Write Plugins: Write plugins and packages for open source machine learning platforms and libraries. This is an exercise in learning how to write robust and production level algorithm implementations. Use your own plugins on projects, ask for code reviews from the community and work to get the code included into the platform if possible. Getting feedback and learning is the goal.
  • Competitions: Participate in machine learning competitions, such as those associated with conferences or offered on platforms like Kaggle. Get involved in discussions, ask questions, learn how other practitioners are approaching the problem. Add to your repository of projects, methods and code from which you can draw.

Advanced

An advanced practitioner has written a lot of code either integrating machine learning algorithms or implementing algorithms themselves. They may have competed in competitions or written plugins. They have read the textbooks, completed the courses and have a broad knowledge of the field, as well as a deep knowledge on a few key techniques of which they prefer.

The advanced practitioner builds, deploys and maintains production systems that use machine learning. They keep abreast of new developments in the fields and eagerly seek out and learn the nuances of a method and tips passed around from other frontline practitioners like themselves.

Some activities and resources for the advanced practitioner are:

  • Customizing Algorithms: Modify algorithms to meet their needs, which may involve implementing customizations outlined in conference and journal papers for similar problem domains.
  • New Algorithms: Devising entirely new methods based on the underlying formalisms to meet the challenges they encounter. It is more about getting the best results possible rather than advancing the frontier of the field.
  • Case Studies: Read and even recreate case studies completed for machine learning competitions and by other practitioners. These “how I did it” papers and posts are usually chock full of subtle pro tips for data preparation, feature engineering and technique usage.
  • Methodology: Systemizing of processes, whether formally or for themselves. They have a way to approach problems and get results at this point and they are actively looking for ways to further refine and improve that process with tips, best practices and new and better techniques.
  • Research: Attending conferences, reading research papers and monographs, having conversations with experts in the field. They may write up some of their work and submit it for publication, or just drop it in a blog post and get back to work.

Mastery is continuous, the learning does not end. One could pause and detour at any point along this journey and become the “competition guy” or the “pro library guy“. In fact, I expect such detours to be the norm.

This breakdown could be read as a linear path of the technicians journey from beginner to advanced level, it’s intentionally programmer centric. I’m keen to hear criticisms of this reading so that I can make it better. This breakdown is just my suggestions of the types of activities to tackle if you find yourself hungering for more at a given level.

So what level are you and what are you going to take on next? Leave a comment!

相關推薦

Study Guide to Machine Learning

Tweet Share Share Google Plus There are lots of things you can do to learn about machine learnin

Executive Guide to Machine Learning

Get our Executive Guide for everything you need to know to get started with ML. We cover everything from the benefits to your business to the build-or-buy

Technical Guide to Machine Learning & Artificial Intelligence

Source: Wired +Ā PrismaThe Non-Technical Guide to Machine Learning & Artificial IntelligenceI have a challenge for you.In a few seconds, I want you to

Publicly accessible learning resources and tools related to machine learning

try rom ember lib inter explore .org collect deep Table 2 | Publicly accessible learning resources and tools related to machine learning

Introduction to Machine Learning with Python/Python機器學習基礎教程_程式碼修改與更新

2.3.1樣本資料集 --程式碼bug及修改意見 import matplotlib.pyplot as plt import mglearn X,y=mglearn.datasets.make_forge() mglearn.discrete_scatter(X[:,0

Hedge Funds Look to Machine Learning, Crowdsourcing for Competitive Advantage

Every day, financial markets and global economies produce a flood of data. As a result, stock traders now have more information about more industries and s

Data Science Program at Argonne Looks to Machine Learning for New Breakthroughs

The 3D X-ray microscopy of frozen hydrated biological specimens is currently approaching a limit to specimen thickness, the surpassing of which violates th

Radiologist's Intro to Machine Learning

Now that you are equipped with some of the common definitions used in machine learning, we can take a couple steps further to equip with you some new topic

Introduction to Machine Learning with IBM Watson Studio

After logging into Watson Studio, select New Modeler Flow. Enter a name, keep the default settings, and then click Create. Next expand the Import menu, dra

Thanks to Machine Learning, Adobe Analytics Will Never Be the Same

Ashley Sams is a consultant at PR 20/20. She joined the agency in 2017 with a background in marketing, specifically for higher education and social media.

AWS Case Study: BuildFax & Amazon Machine Learning

The image above shows the machine-learning process used by BuildFax. It feeds known roof age and property characteristic data of buildings into

Introduction.to.Machine.Learning.with.Python 筆記

Python 3.0+ Chapter One from preamble import * %matplotlib inline import numpy as np x = np.array([[1, 2, 3], [4, 5, 6]]) print("x:\

Andrew NG機器學習課程筆記系列之——Introduction to Machine Learning

引言 本系列文章是本人對Andrew NG的機器學習課程的一些筆記,如有錯誤,請讀者以課程為準。 在現實生活中,我們每天都可能在不知不覺中使用了各種各樣的機器學習演算法。 例如,當你每一次使用 Google 時,它之所以可以執行良好,其中一個重要原因便是由 Google 實

6 Steps To Write Any Machine Learning Algorithm From Scratch: Perceptron Case Study

This goes back to what I originally stated. If you don't understand the basics, don't tackle an algorithm from scratch. For the Perceptron, let's go ahead

New machine learning technology to predict human blood pressure: Study

New York: Researchers, including one of an Indian-origin, have developed a wearable off-the-shelf and machine learning technology that can predict an indiv

Machine Learning Study Points To Lack Of Strategic Clarity

In this, the first in a two-part series, you will learn about artificial intelligence and machine learning, common missteps, success criteria, and how to t

A Non-Programmer’s Guide to Learning Machine Learning

Artificial intelligence might seem intimidating, but it isn’t actually as complex as you might think. Many of the tools that have

Your Guide to AI and Machine Learning at re:Invent 2018

re:Invent 2018 is almost here! As you plan your agenda, artificial intelligence (AI) is undoubtedly a hot topic on your list. This year w

斯坦福大學公開課機器學習: advice for applying machine learning | deciding what to try next(revisited)(針對高偏差、高方差問題的解決方法以及隱藏層數的選擇)

ice 簡單 pos .com img 想要 技術 分割 就是 針對高偏差、高方差問題的解決方法: 1、解決高方差問題的方案:增大訓練樣本量、縮小特征量、增大lambda值 2、解決高偏差問題的方案:增大特征量、增加多項式特征(比如x1*x2,x1的平方等等)、減少la

Machine Learning Guide

pick api check hyper key miss parameter -m repr Steps Data Exploration Data Properties and Data Visualization data analysis to get a fe