DEV Community

Cover image for Everything You Need To Become A Machine Learner
Bryan C Guner
Bryan C Guner

Posted on

Everything You Need To Become A Machine Learner

This list of resources is specifically targeted at Web Developers and Data Scientists.… so do with it what you will…

This list borrows heavily from multiple lists created by : sindresorhus

Machine learning is a subfield of artificial intelligence, which is broadly defined as the capability of a machine to imitate intelligent human behavior. Artificial intelligence systems are used to perform complex tasks in a way that is similar to how humans solve problems.

The goal of AI is to create computer models that exhibit "intelligent behaviors" like humans, according to Boris Katz, a principal research scientist and head of the InfoLab Group at CSAIL. This means machines that can recognize a visual scene, understand a text written in natural language, or perform an action in the physical world.

Machine learning is one way to use AI. It was defined in the 1950s by AI pioneer Arthur Samuel as "the field of study that gives computers the ability to learn without explicitly being programmed."


Natural language processing

Natural language processing is a field of machine learning in which machines learn to understand natural language as spoken and written by humans, instead of the data and numbers normally used to program computers. This allows machines to recognize language, understand it, and respond to it, as well as create new text and translate between languages. Natural language processing enables familiar technology like chatbots and digital assistants like Siri or Alexa.

Neural networks

Neural networks are a commonly used, specific class of machine learning algorithms. Artificial neural networks are modeled on the human brain, in which thousands or millions of processing nodes are interconnected and organized into layers.

In an artificial neural network, cells, or nodes, are connected, with each cell processing inputs and producing an output that is sent to other neurons. Labeled data moves through the nodes, or cells, with each cell performing a different function. In a neural network trained to identify whether a picture contains a cat or not, the different nodes would assess the information and arrive at an output that indicates whether a picture features a cat.

Be familiar with howMachine Learning is applied at other companies

Be able to frame anMachine Learning problem

Be familiar with data ethics

Be able to import data from multiple sources

Be able to setup data annotation efficiently

Be able to manipulate data with Numpy

Be able to manipulate data with Pandas

Be able to manipulate data in spreadsheets

Be able to manipulate data in databases

Be able to use Linux

Be able to perform feature selection and engineering

Be able to experiment in a notebook

Be able to visualize data

Be able to do literature review using research papers

Be able to model problems mathematically

Be able to setup project structure

Be able to version control code

Be able to version control data

Be able to use experiment management tools

Be able to setup model validation

Be familiar with inner working of models

Bays theorem is super interesting and applicable ==> - [📰] Naive Bayes classification

Be able to improve models

Be familiar with fundamental Machine Learning concepts


Implement models in scikit-learn

Be able to implement models in Tensorflow and Keras

Be able to implement models in PyTorch

Be able to implement models using cloud services

Be able to apply unsupervised learning algorithms

Be able to implement NLP models

Be familiar with multi-modal machine learning

Be familiar with Recommendation Systems

Be able to implement computer vision models

Be able to model graphs and network data

Be able to implement models for timeseries and forecasting

Be familiar with basics of Reinforcement Learning

Be able to perform hyperparameter tuning

Be familiar with literature on model interpretability

Be able to optimize models for inference

Be able to write unit tests

Be familiar withMachine Learning System Design

Be able to serveMachine Learning models

Be able to setup batch inference

Be able to build interactive UI for models

Be able to use Docker for containerization

Be able to use Cloud

Be familiar with serverless architecture

Be able to monitorMachine Learning models

Be able to perform load testing

Be able to perform A/B testing

Be proficient in Python

Have a general understanding of other parts of the stack

Be familiar with fundamental Computer Science concepts

Be able to apply proper software engineering process

Be able to efficiently use a text editor

Be able to communicate and collaborate well

Be familiar with the hiring pipeline

Broaden Perspective

Top comments (9)

nghiadoan20 profile image

Wonderful, but a lot of resource.
Can you publish a learning flow?
This is a good way to use these resources

costosmaya profile image

I agree with @nghiadoan20, a lot of resources but at the same time is so overwhelming to chosoe where to start and what path to choose, so it could be helpful to have that and use all of these awesome resources.

yoshida profile image
Masao Yoshida

Wonderful but not helpful at all!!!
Too many resources, so confusing.

s_belote_dev profile image
saurabh belote

I don't agree with your opinion

chris_nelis profile image
Chris Nelis

There are several Web3 clouds I know about. Data security is an obvious concern with such platforms -- you have to give away your information to third parties you cannot trust. The problem can be solved with confidential computing (protecting data-in-use), but it's a relatively new tech and not the easiest to implement.
I don't know many teams going in this direction. If you're interested in Web3 or cloud computing, you should probably check Super Protocol out. The project is still in an early stage of development though, but they recently launched a public testnet with several premade Python solutions (face recognition, speech recognition, and image classification). As far as I know, they are going to allow (and incentivize) uploading your own.
Anyway, here's a Typeform (you can google their website yourself Wink):
They send out invitations a few times a week.

dharanr profile image

A proper roadmap can help
Rather than dumping resources

calihunlax profile image
Cali Hunlax

But what if I don't want to become a machine that learns things?

farrukh007 profile image

Excellent and appreciated work...

s_belote_dev profile image
saurabh belote

Great work :)