Published on
· July 10, 2026

How to Study Machine Learning: A Guide to Methods and Resources

Blog
  • Photo of Henrico Piubello
    Henrico Piubello
    Henrico Piubello
    IT Specialist - Grupo Voitto

    IT Specialist - Grupo Voitto

  • Photo of Renata Weber
    Renata Weber
    Renata Weber
    Growth Specialist at Pareto Plus

    Growth Specialist at Pareto Plus

Artificial brain with connections and circuits representing how Machine Learning works

Studying Machine Learning requires three fronts: mathematical foundations (statistics and linear algebra), programming in Python, and practice on real projects. This CodeCrush guide organizes the essential concepts, a three-level roadmap, and the official documentation of the field.

What to study first in Machine Learning?

Before training the first model, study seven fundamentals: supervised and unsupervised learning, reinforcement learning, classification/regression/clustering algorithms, model evaluation, data preprocessing, regularization, and notions of statistics and linear algebra. These concepts underpin any practical application in the field.

The working language is Python: according to the Stack Overflow Developer Survey 2025, 57.9% of developers use the language — and, among those learning to program, adoption reaches 71.8%. Not coincidentally, the Andrew Ng Machine Learning course, the classic starting point of the field, has been taken by more than 4.8 million students since 2012, according to DeepLearning.AI.

At the heart of Machine Learning is a system ability to learn from data and make predictions without being explicitly programmed. If you are still building this conceptual base, the article on the meaning and importance of Machine Learning is a good starting point, and the fundamentals of Machine Learning guide deepens each pillar.

In short, the initial study list is:

  1. Supervised and unsupervised learning
  2. Reinforcement learning
  3. Classification, regression, and clustering algorithms
  4. Model evaluation and performance metrics
  5. Data preprocessing and feature selection
  6. Overfitting, underfitting, and regularization techniques
  7. Basic notions of statistics and linear algebra

What is the difference between supervised and unsupervised learning?

Supervised learning trains models on labeled data, where each input has a known output; unsupervised learning identifies patterns and structures in unlabeled data. Reinforcement learning, in turn, teaches an agent by trial and error, with rewards and punishments. The table summarizes the three paradigms:

Learning typeHow it learnsExample use
SupervisedLabeled data with known outputsClassifying emails as spam
UnsupervisedPatterns in unlabeled dataSegmenting customers by similarity
ReinforcementRewards and punishments per actionAgents in games and robotics

Supervised learning

In supervised learning, models are trained using labeled data, that is, input data with their corresponding desired outputs. In a problem of classifying emails as "spam" or "not spam", for example, the model receives a set of previously labeled emails and learns to map the features of each message (keywords, sender, etc.) to the corresponding category. This approach is widely used in classification, prediction, and pattern detection tasks.

Unsupervised learning

Unsupervised learning involves identifying hidden patterns and structures in unlabeled datasets. In this case, the model seeks to find natural groups (clustering) or relationships between the data (dimensionality reduction). Imagine a dataset with information about a store customers, but without labels: unsupervised learning can group these customers into segments based on their similarities, helping to understand audience behavior and guide marketing decisions.

How does reinforcement learning work?

Reinforcement learning is a branch of AI (Artificial Intelligence) in which an agent interacts with an environment, observes the current state, executes actions, and receives rewards or punishments as feedback. The agent goal is to learn an action policy that maximizes the accumulated reward over time.

Reinforcement learning is inspired by behavioral psychology: the agent learns by trial and error, exploring the environment and adjusting its strategy based on the feedback received. Over time, the agent associates certain states with actions that lead to higher rewards.

This paradigm is commonly modeled using Markov Decision Processes (MDPs), mathematically formulated as a tuple composed of:

  • Set of states: represents all possible configurations of the environment at a given moment.
  • Set of actions: represents the actions the agent can execute.
  • Transition function: describes the probabilities of transition between states, given an action.
  • Reward function: assigns a reward to a state or a state-action pair.
  • Policy: defines the agent strategy for choosing actions in certain states.

Finding the optimal policy usually involves value-function-based algorithms, such as Q-Learning and Sarsa. Reinforcement learning has applications in games, robotics, finance, and process optimization, enabling autonomous decisions in complex and dynamic environments, where there is no complete set of labeled training data.

What are the main Machine Learning algorithms?

Machine Learning algorithms are divided into three main families: classification (categorizing data into classes), regression (predicting numerical values), and clustering (grouping data by similarity). Mastering these three families is the minimum requirement to apply Machine Learning to real-world problems.

Classification algorithms

Classification algorithms categorize data into distinct classes. A common example is decision trees, which make decisions based on a sequence of questions and answers about data features, splitting the set into branches and assigning labels to the final leaves.

Regression algorithms

Regression algorithms predict numerical values from input data, establishing a functional relationship between the independent variables and the output variable. Linear regression, for example, estimates the line of best fit that represents the relationship between the variables — the article on modeling, evaluation, and interpretation of linear regression details this algorithm step by step.

Clustering algorithms

Clustering algorithms group data based on their similarities, identifying natural groups without the need for pre-existing labels. K-means is the most popular example: the data is divided into K clusters, where K is a value predefined by the analyst.

How to evaluate model performance?

Model evaluation measures the quality of predictions using objective metrics calculated on data the model did not see in training. The four most used metrics in classification problems are:

  • Accuracy: measures the model hit rate, that is, the proportion of correct predictions relative to the total predictions made.
  • Precision: indicates the proportion of correct predictions among all positive predictions made by the model.
  • Recall: measures the proportion of correct predictions relative to all positive examples present in the data.
  • F1-Score: combines precision and recall into a single measure, providing an overview of the model performance.

In addition to these, there are specific metrics for regression problems (such as mean squared error) and clustering (such as silhouette coefficient). Selecting the metrics appropriate to the problem type is essential for a complete and reliable evaluation — the Scikit-learn metrics documentation catalogs the options available for each scenario.

Data preprocessing and feature selection

Data preprocessing transforms raw data into a format suitable for algorithms, and usually consumes a good part of a project time. The most common techniques are:

  • Data cleaning: removes or corrects missing, inconsistent, or duplicated data.
  • Normalization: scales the data to a specific range, ensuring comparable scales between variables.
  • Data transformation: applies functions such as logarithm or square root to adjust the data distribution.
  • Categorical variable encoding: converts categorical variables into a numerical form usable by the algorithms.

Feature selection complements preprocessing by choosing the most relevant and informative variables for the model. Reducing the dimensionality of the data and discarding unnecessary features results in more efficient models, faster to train, and less prone to generalization errors.

What are overfitting, underfitting, and regularization?

Overfitting occurs when the model memorizes the training data and fails to generalize to new data; underfitting occurs when the model is too simple to capture the data patterns. Regularization techniques restrict the model complexity to balance these two extremes.

Overfitting

Overfitting happens when the model becomes too complex and captures noise or irrelevant details from the training data. The model becomes too specific to the training set and does not capture the broader underlying patterns — as a result, performance on unseen data (validation or test) is worse than expected. Overfitting usually leads to high variance in the results.

Underfitting

Underfitting occurs when the model cannot capture the training data patterns or generalize to new data, usually because it is too simple or due to inadequate training. The underfitted model shows insufficient performance both on training and on unseen data, with high bias in the results.

L1 and L2 regularization

L1 and L2 regularization add a penalty term to the loss function during training, encouraging smaller coefficients and reducing model complexity. L1 regularization, known as "Lasso", tends to make coefficients sparse, zeroing some of them; L2 regularization, known as "Ridge", reduces coefficients without necessarily zeroing them.

Dropout

Dropout is a regularization technique specific to neural networks. During training, some neurons and their connections are temporarily removed from the network, randomly and with a predefined probability. This prevents excessive co-adaptation between neurons and forces the network to learn robust representations in a distributed way.

Statistics and linear algebra: the mathematical foundation

Statistics provides the tools to understand and analyze data: mean, median, standard deviation, distributions, and hypothesis tests are concepts that help interpret model results, evaluate their reliability, and perform meaningful analyses.

Linear algebra, in turn, is the language of algorithms. Vectors, matrices, matrix operations, linear transformations, and singular value decomposition appear in techniques such as linear regression, principal component analysis (PCA), and matrix decomposition.

Having a solid foundation in these two areas allows a deeper understanding of Machine Learning algorithms and sets the stage for advanced topics, such as deep learning and generative models.

What documentation and resources to use for studying?

The official documentation of the main libraries is the most reliable and up-to-date study material in the field. The table gathers the essential resources:

ResourceTypeWhy use it
Scikit-learnPython libraryClassic algorithms and preprocessing
TensorFlowDeep learning frameworkLarge-scale models, docs in Portuguese
PyTorchDeep learning frameworkFlexible and standard in research
KerasHigh-level APINeural networks with few lines
KagglePractice platformCompetitions, public datasets, and forums
arXiv (stat.ML)Article repositoryRecent Machine Learning research

Kaggle deserves attention as a practice environment: the study Kaggle Chronicles (arXiv, 2025) counted 23.29 million registered accounts on the platform in April 2025, which gives a sense of the community available to exchange code, datasets, and competition solutions.

To discover libraries, books, and courses by area, the curated list Awesome Machine Learning on GitHub organizes resources by language and category and is maintained by the community.

Study roadmap: from beginner to advanced

The roadmap below organizes the journey into nine progressive steps, from beginner to advanced:

  1. Master the fundamentals of Python — variables, control structures, and functions. Recommendation: the Learn Python 3 course on Codecademy.
  2. Study the essential math — linear algebra (vectors, matrices, linear systems) and statistics (mean, standard deviation, distributions, hypothesis tests). Recommendation: Mathematics for Machine Learning on Coursera.
  3. Learn the fundamentals of Machine Learning — supervised and unsupervised learning, algorithms, metrics, and regularization. Recommendation: the Machine Learning Specialization by Andrew Ng on Coursera.
  4. Deepen into intermediate algorithms — Support Vector Machines (SVM), Random Forests, and Gradient Boosting (XGBoost, LightGBM). Recommendation: the book Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, by Aurélien Géron.
  5. Study deep learning — deep architectures, CNNs (convolutional neural networks) for images, and RNNs (recurrent neural networks) for sequences. Recommendation: the Deep Learning Specialization on Coursera.
  6. Explore natural language processing — language models and word embeddings (Word2Vec, GloVe). Recommendation: the NLP with Classification and Vector Spaces course on Coursera.
  7. Advance to frontier topics — reinforcement learning and generative models (Variational Autoencoders, GANs). Recommendation: the book Pattern Recognition and Machine Learning, by Christopher M. Bishop.
  8. Practice on real projects — participate in competitions on Kaggle and develop your own projects; the guide to creating Machine Learning projects shows how to structure from problem to deploy.
  9. Follow the trends — read articles on arXiv and participate in conferences and workshops in the field.

Learning Machine Learning is a continuous process: practice by solving real problems, develop your own projects, and stay up to date with the new techniques in the field.

Conclusion

Machine Learning rewards those who study with method: anyone who jumps straight to neural networks without mastering Python, statistics, and the classic algorithms ends up stuck on the first real projects. Follow the roadmap in order, use the official documentation as the primary source, and turn every learned concept into code — a portfolio with two or three complete projects on Kaggle is worth more for your career than a dozen certificates with no practice.

## faq

Frequently asked questions

Where do I start studying Machine Learning?

Start with the fundamentals of Python and basic notions of statistics and linear algebra. Then study supervised and unsupervised learning with the Scikit-learn library and take an introductory course, such as the Andrew Ng Machine Learning Specialization. Finally, consolidate the learning by building practical projects with public datasets from Kaggle.

Do I need a lot of math to learn Machine Learning?

You do not need to master advanced math to start, but statistics, probability, and linear algebra are indispensable to evolve. Concepts like mean, standard deviation, distributions, vectors, and matrices appear in almost every algorithm. Study these topics alongside practice, deepening as the models require.

Which language to use for Machine Learning: Python or R?

Python is the standard choice for Machine Learning: according to the Stack Overflow Developer Survey 2025, it is used by 57.9% of developers and concentrates libraries like Scikit-learn, TensorFlow, and PyTorch. R remains relevant in statistics and academic research, but the market and most study materials prioritize Python.

How long does it take to learn Machine Learning?

With regular dedication, the fundamentals take six months to a year: Python, basic math, classic algorithms, and the first projects. Topics like deep learning and natural language processing require a few more months. Machine Learning evolves fast, so continuous learning is part of the career.

Are Machine Learning and Artificial Intelligence the same thing?

No. Artificial Intelligence is the broad field that seeks to create systems capable of simulating intelligent behavior. Machine Learning is a subfield of AI where algorithms learn patterns from data, without explicit programming of rules. All Machine Learning is AI, but not all AI uses Machine Learning.

## continue lendo

Keep browsing

About the author

Photo of Henrico Piubello

Henrico Piubello

IT Specialist - Grupo Voitto · Grupo Voitto

See profile and all articles
Photo of Renata Weber

Renata Weber

Growth Specialist at Pareto Plus · Grupo Voitto

See profile and all articles