Top Banner
August 2018 Machine Learning “The ability for computers to learn without being explicitly programmed”. – Arthur Sand Machine learning is having a substantial effect on many areas of technology and science; examples of recent applied success stories include robotics and autonomous vehicle control (left), speech processing and natural language processing (middle left), neuroscience research (middle right), and applications in computer vision (right). The field is receiving an increasing amount of interest from the likes of Google, Microsoft, Facebook, NVIDIA, Apple, Amazon and Uber. Startups using artificial intelligence as a core part of their product raised $5b in 2016 equivalent to £3.6b. It is a rapidly expanding field with plenty of scope for career and skill development, as well as the opportunity to be on the cutting edge of technology development. Education & Requirements A machine learning specialist is expected to hold a master’s degree in computer science or a related field. With this being said, you may also be considered for a specialist role with a degree in a non-related field if you possess practical machine learning experience from internships or work experience. Therefore, it is important that you can display capability in machine learning by developing a portfolio of projects you have completed on GitHub, and by participating in open-source projects. Provided you show a potential employer your command of the field in practice then they will look past the absence of a specific degree - unless they are particularly focused on certain aspects of the field that are only covered in depth in academic environments. The key skills required of a machine learning specialist may be summarised as follows: 1. Computer science fundamentals & programming 2. Probability & statistics 3. Data modelling & evaluation 4. Machine learning algorithms & libraries 5. Software engineering & system design
10

Machine Learning - Canvas

Mar 13, 2023

Download

Documents

Khang Minh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Machine Learning - Canvas

August 2018

Machine Learning

“The ability for computers to learn without being explicitly programmed”. –

Arthur Sand

Machine learning is having a substantial effect on many areas of technology and science;

examples of recent applied success stories include robotics and autonomous vehicle control

(left), speech processing and natural language processing (middle left), neuroscience

research (middle right), and applications in computer vision (right).

The field is receiving an increasing amount of interest from the likes of Google, Microsoft,

Facebook, NVIDIA, Apple, Amazon and Uber. Startups using artificial intelligence as a core

part of their product raised $5b in 2016 equivalent to £3.6b. It is a rapidly expanding field

with plenty of scope for career and skill development, as well as the opportunity to be on the

cutting edge of technology development.

Education & Requirements

A machine learning specialist is expected to hold a master’s degree in computer science or a

related field. With this being said, you may also be considered for a specialist role with a

degree in a non-related field if you possess practical machine learning experience from

internships or work experience.

Therefore, it is important that you can display capability in machine learning by developing a

portfolio of projects you have completed on GitHub, and by participating in open-source

projects. Provided you show a potential employer your command of the field in practice then

they will look past the absence of a specific degree - unless they are particularly focused on

certain aspects of the field that are only covered in depth in academic environments.

The key skills required of a machine learning specialist may be summarised as follows:

1. Computer science fundamentals & programming

2. Probability & statistics

3. Data modelling & evaluation

4. Machine learning algorithms & libraries

5. Software engineering & system design

Page 2: Machine Learning - Canvas

August 2018

The chart below depicts the relative importance of these core skills for general machine

learning roles, with a typical data analyst role for comparison.

1. Computer science fundamentals

You will need knowledge of data structures, algorithms and computer architecture. You will

need to be aware of them, and address them appropriately when programming. Practicing

problems and taking part in coding competitions are good ways to keep your programming

skills up to scratch.

2. Probability and statistics

A lot of the theory and language behind machine learning has a significant overlap with

probability and statistics. By having a fundamental understanding of probability and statistics

you will be able to grasp why certain machine learning algorithms work the way they do.

Ultimately this will leave you with a core understanding of how to approach specific

problems.

3. Data modelling and evaluation

Data modelling is the process of estimating the underlying structure of a given dataset, with

the goal of finding useful patterns and/or predicting properties of previously unseen

instances. A key part of this estimation process is continually evaluating how good a given

model is.

Page 3: Machine Learning - Canvas

August 2018

4. Algorithms and libraries

Machine learning is made easily accessible throughout a variety of libraries such as scikit-

learn and TensorFlow. Within these libraries are multitudes of different machine learning

algorithms that can be employed to solve particular problems. The ability to navigate these

libraries and to be able to understand when certain algorithms should be used is a key part

of becoming a machine learning specialist.

5. Software engineering and system design

The end product of a machine learning specialist will ultimately be a software product that

may be part of a larger ecosystem. Software engineering best practices (including

requirements analysis, system design, modularity, version control, testing, documentation,

etc.) are invaluable for productivity, collaboration, quality and maintainability.

Language

The best language for machine learning depends on the types of projects you do. In the

majority of cases, developers port the language they are already using into machine

learning, especially if they are to use it in projects adjacent to their previous work – such as

engineering projects for C/C++ developers or web visualisations for JavaScript developers.

That being said, a survey of over 2000 developers revealed the following languages to be

the most popular in the machine learning industry.

Learning any one of these languages would put you in good stead for entering the world of

machine learning. However, if your first contact with programming is through machine

learning, it is recommended to take up Python for its wealth of libraries, ease of use, and

widespread popularity. In fact, python is used by more than half of machine learning

specialists in their daily workspace. On the other hand, if you’re pursuing a job in an

Python

(57|33)

C/C++

(43|19)

Java

(41|16)

R

(31|5)

(% Usage | % Prioritisation)

Page 4: Machine Learning - Canvas

August 2018

enterprise environment, be prepared to use Java. The C/C++ languages offer higher levels

of control, but are more time-consuming for a beginner to learn. R is an open-source

language that is gaining a lot of attraction in the statistical analysis industries.

Algorithms

There exists an innumerable amount of algorithms that could be applied to a variety of

different problems. Saying this, a typical machine learning specialist will have the following

algorithms in their repertoire:

Decision Trees (Supervised Learning)

Naïve Bayes Classification (Supervised Learning)

Clustering Algorithms (Unsupervised Learning)

Q-learning (Reinforcement Learning)

Nearest Neighbours (Supervised Learning)

Support Vector Machines (Supervised Learning)

Exploring these algorithms and trying to understand how they work will make it easier should

you come encounter them in a course.

Learning Path

If the prospect of getting acquainted with all of the machine learning algorithms, libraries,

and languages is daunting then there is an online learning path you can take that will get you

up to speed with what you need to know. It makes use of Massive Open Online Courses

(MOOCs) that will not only cement your academic understanding of machine learning, but

will also give you practical experience of solving problems.

It is recommended to begin with Machine Learning (Coursera) by Andrew Ng as a starting

point. Many high level algorithms, mathematics, and jargon are skipped in order to provide

you a sound foundation to start your machine learning journey from. The course is based in

the MATLAB language.

Machine Learning for Undergraduates (Youtube) by Nando de Freitas covers the material

skipped by Andrew’s course. It is completely complementary to it and provides the

mathematical prerequisites for understanding advanced concepts.

Then, Machine Learning (Carnegie Mellon University) by Tom Mitchell provides a more

detailed look at the world of machine learning, introducing topics such as artificial

intelligence, neural networks, active learning, and reinforcement learning. It is also

recommended to take a look at his book.

Described as one of the most challenging machine learning courses, Learning from Data

(Youtube) by Yaser-Abu Mostafa provides a high level understanding of the theory behind

machine learning as well as the practical applications of it.

Once you have a firm grasp of the material covered in the previous courses, Deep Learning

(Youtube) by Nando de Freitas is a PhD level course that will guide you through the

Page 5: Machine Learning - Canvas

August 2018

advanced techniques of deep learning and its essential concepts while giving examples of

speech recognition, computer vision, and natural language processing.

These online courses are incredibly useful for getting to grips with the jargon of the machine

learning world and understanding how it works. Bear in mind, they do not put what you have

learnt into practice. With your programming language of choice, find an open-source dataset

on the Internet for you to analyse with your machine learning skills, participate in Kaggle

competitions and follow several textbooks to get your machine learning expertise up to

scratch.

Prospects

Technology has been progressing at a very fast pace in recent years, with artificial

intelligence and machine learning very much at the core of it. According to research from

Indeed, the demand for workers holding AI skills in the technology sector has almost tripled

in the last three years.

AI roles advertised in 2018, which included machine learning as a required skill, accounted

for 1,300 for every million.

The promising development and interest in the field means that a job in this industry will be a

very secure one, with an expected median salary of £61,500 to be expected.

Machine Learning in Use

The following is a general overview of the diverse and exciting breadth of use that machine

learning has seen.

● Medicine

Brain-machine interfaces, computational anatomy, medical diagnosis, structural

health monitoring

● Language

Linguistics, text classification, language modelling, caption generation, speech

recognition, natural language understanding, machine translation, document

summarization, question answering

● Data Science and Analysis

Information retrieval, search engines, sequence mining, syntactic pattern recognition,

time series forecasting, classification, prediction

● Security

Credit-card fraud detection, internet fraud detection, data security, personal security,

Insider threat, malware analysis, network analytics, secure coding, situational

awareness

● Robotics and Automotive Engineering

Page 6: Machine Learning - Canvas

August 2018

Robot locomotion, pilotless systems, sensors, nano-robotics, machine vision, robotic

learning, robotic control

● Marketing

Recommender systems, online advertising, marketing personalization

● Commerce and Economics

Insurance, financial market analysis, financial market trading

● Research

Classifying DNA sequences, cheminformatics, bioinformatics

Finding a Job

Typically, a machine learning role is enveloped in some other type of role such as data

scientist, data analyst etc. But there are specific machine learning specialist roles

occasionally advertised. It is worth noting that the field is relatively new so there are no

generally accepted terms for machine learning specialist jobs, so it is always worth reading

the descriptions to judge the relevance of the job to you.

The following websites often advertise vacancies:

www.indeed.co.uk

www.cwjobs.co.uk

www.itjobspost.com

www.insidecareers.co.uk

www.technojobs.co.uk

www.jobsite.co.uk

www.targetjobs.co.uk

Aside from looking at posted vacancies online, it may be worth your while making

speculative applications to companies that are known to use artificial intelligence and

machine learning. Such companies may include:

Google

In 2014 Google bought artificial intelligence start up DeepMind for £263 million.

DeepMind has since been used to find the quickest route between underground

stations, improve NHS healthcare, and defeat champion players of the board game

“Go”. Google’s machine learning system TensorFlow is also free to use for

everybody.

Page 7: Machine Learning - Canvas

August 2018

Microsoft

In December 2016, Microsoft Ventures launched a new fund for AI startups. Since

then, Microsoft Ventures has co-led funding of two artificial intelligence startups,

Agolo and Bonsai. Angolo uses AI to create summaries of information, in real-time,

while Bonsai enables the automated management of machine learning algorithms.

Microsoft’s Skype also offers machine learning real-time translations.

IBM

IBM is very well noted for its Watson computer, one that is able to answer questions

posed in natural language - winning the US quiz show Jeopardy in 2011, after

outperforming its human counterparts.

These are just some of the largest companies that currently employ machine learning

specialists. Some other recognisable names which are leading the drive for machine

learning implementation include: Baidu, Twitter, Intel, Apple and Qubit.

Looking at these company names, it may be tempting to think that it is only technology

companies that are developing their own artificial intelligence and machine learning systems.

In actual fact, machine learning is starting to encroach on a lot of industries spanning from

engineering to consulting. They include companies like Jaguar Land Rover, Tesla, Atkins,

PwC, and the NHS.

The opportunities that machine learning offers are incredible, and it is well worth your time

exploring them all and finding just the one for you.

Resources

The resources listed below are here to help you on your machine learning journey, varying

from tutorials, courses, and latest news.

Organisations

There are a handful of well-known organisations that are dedicated to furthering AI research

and development. Below are the ones with websites/blogs and Twitter accounts.

Google Research

AWS AI

Facebook AI Research

Microsoft Research

Baidu Research

IntelAI

AI2

Partnership on AI

Page 8: Machine Learning - Canvas

August 2018

Video Courses

There are a huge number of courses available on the internet for self-studying machine

learning, with a good few being free. The following courses are all free and should keep you

busy for months:

● Coursera - Machine Learning (Andrew Ng)

● Coursera - Neural Networks for Machine Learning (Geoffrey Hinton)

● Udacity - Intro to Machine Learning (Sebastian Thrun)

● Udacity - Machine Learning (Georgia Tech)

● Udacity - Deep Learning (Vincent Vanhoucke)

● Machine Learning (mathematicalmonk)

● Practical Deep Learning for Coders (Jeremy Howard & Rachel Thomas)

● Stanford CS231n - Convolutional Neural Networks for Visual Recognition (Winter

2016)

● Stanford CS224n - Natural Language Processing with Deep Learning (Winter 2017)

● Oxford Deep NLP 2017 (Phil Blunsom et al.)

● Reinforcement Learning (David Silver)

● Practical Machine Learning Tutorial with Python (sentdex)

Youtube

There are a variety of channels on Youtube that regularly post content related to machine

learning.

● Sentdex (225K subscribers, 21M views)

● Siraj Raval (140K subscribers, 5M views)

● Two Minute Papers (60K subscribers, 3.3M views)

● DeepLearning.TV (42K subscribers, 1.7M views)

● Data School (37K subscribers, 1.8M)

Blogs

● Andrej Karpathy Twitter (69K followers)

● i am trask Twitter (14K followers)

● Christopher Olah Twitter (13K followers)

● Top Bots Twitter (11K followers)

● WildML Twitter (10K followers)

Page 9: Machine Learning - Canvas

August 2018

Books

There are numerous books that cover all the various aspects of machine learning, deep

learning, and artificial intelligence. The following ones are free ones that you can simply

download from the web:

● Understanding Machine Learning From Theory to Algorithms (Shai Shalev-Shwartz &

Shai Ben-David)

● Machine Learning Yearning (Andrew Ng)

● A Course in Machine Learning (Hal Daumé III)

● Machine Learning (Abdelhamid Mellouk)

● Neural Networks and Deep Learning (Michael Nielsen)

Github

A lot of newer projects in artificial intelligence and machine learning are typically open-

source and freely available to have a look at. The following repositories may be worth

investigating:

Machine Learning (6K repos)

Deep Learning (3K repos)

Tensorflow (2K repos)

Neural Network (1K repos)

NLP (1K repos)

Newsletters

If you want to stay up-to-speed with the latest news and research, there are a growing

number of weekly newsletters you can choose from. Most of them cover the same stuff, so

you’ll only need a couple to stay current.

The Exponential View

Al Weekly

Deep Hunt

O’Reilly Artificial Intelligence Newsletter

Machine Learning Weekly

Websites

There are a multitude of websites out there that cover the various aspects of machine

learning. Listed below are some of the more useful ones:

● course.elementsofai.com

Page 10: Machine Learning - Canvas

August 2018

A course designed to help you gain a better understanding of AI systems and how

they work

● machinelearningmastery.com

Useful tips and advice on your machine learning projects, along with informative blog

posts

● kaggle.com

A place to learn, practice and compete with your machine learning skills

● hackerrank.com

Test and improve your coding skills on this website that employers often use as a

metric in determining your coding proficiency

● codecademy.com/learn

If you’re a complete beginner to the programming world, this website does a good job

of getting you up to scratch in your programming language of choice

● stackoverflow.com

A forum and place of discussion for developers, amateur hobbyists, and

professionals where you can ask for help on your coding problems and discuss the

latest machine learning news.