Merge branch 'articles'

This commit is contained in:
2025-04-06 23:01:02 +02:00
48 changed files with 1679 additions and 1162 deletions

View File

@@ -1,12 +1,11 @@
---
slug: arthome
title: ArtHome
description: 🏡 Your personalised home page in your browser
title: 🏡 ArtHome
description: Your personalised home page in your browser
publishedAt: 2024/09/04
readingTime: 1
cover: arthome/cover.png
tags:
- project
- web
---

View File

@@ -1,12 +1,11 @@
---
slug: artsite
title: ArtSite
description: 🌍 My personal website, my portfolio, and my blog. 🚀
title: 🌍 ArtSite
description: My personal website, my portfolio, and my blog.
publishedAt: 2024/06/01
readingTime: 1
cover: artsite/cover.png
tags:
- project
- web
---

View File

@@ -1,11 +1,10 @@
---
slug: bikes-glm
title: Generalized Linear Models for Bikes prediction
description: 🚲 Predicting the number of bikes rented in a bike-sharing system using Generalized Linear Models.
title: 🚲 Generalized Linear Models for Bikes prediction
description: Predicting the number of bikes rented in a bike-sharing system using Generalized Linear Models.
publishedAt: 2025/01/24
readingTime: 1
tags:
- project
- r
- data
- maths
@@ -15,5 +14,5 @@ The project was done as part of the course `Generalised Linear Model` at the Par
You can find the code here: [GLM Bikes Code](https://github.com/ArthurDanjou/Studies/blob/master/M1/General%20Linear%20Models/Projet/GLM%20Code%20-%20DANJOU%20%26%20DUROUSSEAU.rmd)
<iframe src="/portfolio/bikes-glm/Report.pdf" width="100%" height="1000px">
<iframe src="/projects/bikes-glm/Report.pdf" width="100%" height="1000px">
</iframe>

View File

@@ -1,11 +1,10 @@
---
slug: monte-carlo-project
title: Monte Carlo Methods Project
title: 💻 Monte Carlo Methods Project
description: A project to demonstrate the use of Monte Carlo methods in R.
publishedAt: 2024/11/24
readingTime: 3
tags:
- project
- r
- maths
---
@@ -22,5 +21,5 @@ Methods and algorithms implemented:
You can find the code here: [Monte Carlo Project Code](https://github.com/ArthurDanjou/Studies/blob/0c83e7e381344675e113c43b6f8d32e88a5c00a7/M1/Monte%20Carlo%20Methods/Project%201/003_rapport_DANJOU_DUROUSSEAU.rmd)
<iframe src="/portfolio/monte-carlo-project/Report.pdf" width="100%" height="1000px">
<iframe src="/projects/monte-carlo-project/Report.pdf" width="100%" height="1000px">
</iframe>

View File

@@ -1,11 +1,10 @@
---
slug: python-data-ml
title: Python Data & ML
description: 🧠 A repository dedicated to learning and practicing Python libraries for machine learning.
title: 🐍 Python Data & ML
description: A repository dedicated to learning and practicing Python libraries for machine learning.
publishedAt: 2024/11/01
readingTime: 1
tags:
- project
- data
- ai
- python

View File

@@ -1,11 +1,10 @@
---
slug: schelling-segregation-model
title: Schelling Segregation Model
description: 📊 A Python implementation of the Schelling Segregation Model using Statistics and Data Visualization.
title: 📊 Schelling Segregation Model
description: A Python implementation of the Schelling Segregation Model using Statistics and Data Visualization.
publishedAt: 2024/05/03
readingTime: 4
tags:
- project
- python
- maths
---
@@ -14,5 +13,5 @@ This is the French version of the report for the Schelling Segregation Model pro
You can find the code here: [Schelling Segregation Model Code](https://github.com/ArthurDanjou/Studies/blob/e1164f89bd11fc59fa79d94aa51fac69b425d68b/L3/Projet%20Num%C3%A9rique/Segregation.ipynb)
<iframe src="/portfolio/schelling/Projet.pdf" width="100%" height="1000px">
<iframe src="/projects/schelling/Projet.pdf" width="100%" height="1000px">
</iframe>

View File

@@ -1,11 +1,10 @@
---
slug: studies
title: Studies projects
description: 🎓 Studies projects - a collection of projects done during my studies.
title: 🎓 Studies projects
description: A collection of projects done during my studies.
publishedAt: 2023/09/01
readingTime: 1
tags:
- project
- data
- python
- r

View File

@@ -5,7 +5,6 @@ description: My new website is using a fantastical stack and I am explaining how
publishedAt: 2024/06/21
readingTime: 5
tags:
- article
- web
---
@@ -13,37 +12,43 @@ My personal website is an overengineered playground where I tinker, explore new
While it's still fresh in my mind, I wanted to document how this version of the site works, the tools I used to build it, and the challenges I overcame to bring it to its current state.
![Website](/portfolio/website-work/website.png)
::prose-img
---
src: /writings/website-work/website.png
label: Website
caption: Website screenshot
---
::
## Ideas and Goals
## 1 - Ideas and Goals
Most of the time, I work on my site for fun and without any profit motive. However, while building this latest version, I managed to keep a few key ideas and goals in mind:
### Reduce writing friction
### 1.1 - Reduce writing friction
This new version of my website was built with the idea that I should be able to add, edit, and delete content directly from the front-end. This means that everything needs to be backed by a database or CMS, which quickly adds complexity. But at the end of the day, adding a bookmark should be a matter of pasting a URL and clicking save. Writing a blog post should be a matter of typing some Markdown and clicking publication.
Extra friction on these processes would make me less likely to keep things up to date or share new things.
### A playground for ideas
### 1.2 - A playground for ideas
I want my website to be a playground where I can safely experiment with new technologies and packages, including testing frameworks (like the new Nuxt 3 stack), improving CSS styles with Tailwind, and discovering new technologies and frameworks, in a way that allows for easy isolation and deletion. This requirement made Nuxt.js an obvious choice, thanks to its support for hybrid page rendering strategies—static, server-rendered, or client-rendered. More on this below.
### Fast
### 1.3 - Fast
The new version of my website is faster than the old one, thanks to the latest version of Nuxt. This improvement enhances the overall user experience and ensures that the site remains responsive and efficient.
## FrontEnd & BackEnd with Nuxt 3
## 2 - FrontEnd & BackEnd with Nuxt 3
I wanted this version of my site to reflect my personality, especially because it seemed like a fun project! What would a 'personal application' look like, showcasing everything I've created? I aimed for a clean, monochrome design with plenty of 'Easter eggs' to keep things interesting.
### Nuxt 3
### 2.1 - Nuxt 3
Nuxt.js is my front-end framework of choice. I particularly appreciate it for its comprehensive and complementary Vue and Nuxt ecosystem. The filesystem-based router provides an intuitive and powerful abstraction for building the route hierarchy. Nuxt.js also benefits from a large community that has thoroughly tested the framework, addressing edge cases and developing creative solutions for common Vue, data recovery, and performance issues. Whenever I encounter a problem, I turn to the Nuxt.js discussions on [GitHub](https://github.com/nuxt) or their [Discord server](https://go.nuxt.com/discord). Almost every time, I find that others have already come up with innovative solutions to similar challenges.
Nuxt.js is also fast. It optimizes performance by speeding up local builds, automatically compressing static assets, and ensuring quick deployment times. The regular project updates mean my site continually gets faster over time—at no extra cost!
### Styling
### 2.2 - Styling
#### Tailwind CSS
@@ -59,11 +64,17 @@ Nuxt UI is a new tool I've been using since its release to enhance and streamlin
Nuxt UI aims to provide everything you need for the UI when building a Nuxt app, including components, icons, colors, dark mode, and keyboard shortcuts. It's an excellent tool for both beginners and experienced developers.
### Database & Deployment
### 2.3 - Database & Deployment
#### NuxtHub & Cloudflare workers
![NuxtHub](/portfolio/website-work/nuxt-hub.png)
::prose-img
---
src: /writings/website-work/nuxt-hub.png
label: NuxtHub
caption: NuxtHub screenshot
---
::
NuxtHub is an innovative deployment and management platform tailored for Nuxt, leveraging the power of Cloudflare. Deploy your application effortlessly with database, key-value, and blob storage—all configured seamlessly within your Cloudflare account.
@@ -77,11 +88,17 @@ Drizzle isn't just a library; it's an exceptional journey 🤩. It empowers you
One word : `If you know SQL — you know Drizzle.`
### Writing
### 2.4 - Writing
#### Nuxt Studio
![Nuxt Studio](/portfolio/website-work/nuxt-studio.png)
::prose-img
---
src: /writings/website-work/nuxt-studio.png
label: Nuxt Studio
caption: Nuxt Studio screenshot
---
::
Nuxt Studio introduces a fresh editing experience for your Nuxt Content website, providing limitless customization and a user-friendly interface. Edit your website effortlessly with our editor reminiscent of Notion, fostering seamless collaboration between developers and copywriters. It offers a rich text editor, markdown support, and a live preview, enabling you to create and edit content with ease.
@@ -93,7 +110,7 @@ The article you're currently reading is plain text stored in MySQL, rendered usi
Compromises are inevitable! I've chosen to sacrifice some features for simplicity and speed. I'm content with my decision, as it aligns with my goal of reducing friction in the writing process.
## How much everything costs
## 3 - How much everything costs
I'm often asked how much it costs to run my website. Here's a breakdown of the costs:
@@ -103,6 +120,6 @@ I'm often asked how much it costs to run my website. Here's a breakdown of the c
Total: 0€ thanks to nuxt free plan and cloudflare free plan
## Thanks
## 4 - Thanks
I want to thank the Nuxt team for their hard work and dedication to the project. I also want to thank the community for their support and for providing me with the tools I needed to build this site. I want to add a special thanks to [Estéban](https://x.com/soubiran_) for solving `All` my problems and for inspiring me to rewrite my website.

View File

@@ -5,7 +5,6 @@ description: This article introduces neural networks, explaining their structure
readingTime: 3
publishedAt: 2025/03/30
tags:
- article
- ai
- maths
- python
@@ -13,20 +12,20 @@ tags:
Neural networks are a class of machine learning algorithms inspired by the functioning of biological neurons. They are widely used in artificial intelligence for image recognition, natural language processing, time series forecasting, and many other fields. Thanks to their ability to model complex relationships in data, they have become one of the pillars of **deep learning**.
## 1. Basic Structure of a Neural Network
## 1 - Basic Structure of a Neural Network
### 1.1 Neurons and Biological Inspiration
### 1.1 - Neurons and Biological Inspiration
Neural networks are inspired by the way the human brain processes information. Each artificial neuron mimics a biological neuron, receiving inputs, applying a transformation, and passing the result to the next layer.
### 1.2 Layer Organization (Input, Hidden, Output)
### 1.2 - Layer Organization (Input, Hidden, Output)
A neural network consists of layers:
- **Input layer**: Receives raw data.
- **Hidden layers**: Perform intermediate transformations and extract important features.
- **Output layer**: Produces the final model prediction.
### 1.3 Weights and Biases
### 1.3 - Weights and Biases
Each neuron connection has an associated **weight** $ w $, and each neuron has a **bias** $ b $. The transformation applied at each neuron before activation is given by:
@@ -34,11 +33,11 @@ $$
z = W \cdot X + b
$$
### 1.4 Neural Network Structure Visualization
### 1.4 - Neural Network Structure Visualization
::prose-img
---
src: /portfolio/neural-network/neural-network-viz.png
src: /writings/neural-network/neural-network-viz.png
label: Neural Network Structure
caption: Neural Network Structure
---
@@ -52,22 +51,22 @@ Starting from the left, we have:
- The output layer (a.k.a. the prediction) of our model in green.
- The arrows that connect the dots shows how all the neurons are interconnected and how data travels from the input layer all the way through to the output layer.
## 2. Information Propagation (Forward Pass)
## 2 - Information Propagation (Forward Pass)
### 2.1 Linear Transformation $ z = W \cdot X + b $
### 2.1 - Linear Transformation $ z = W \cdot X + b $
Each neuron computes a weighted sum of its inputs plus a bias term before applying an activation function.
### 2.2 Activation Functions (ReLU, Sigmoid, Softmax)
### 2.2 - Activation Functions (ReLU, Sigmoid, Softmax)
Activation functions introduce **non-linearity**, enabling networks to learn complex patterns:
- **ReLU**: $ f(z) = \max(0, z) $ (fast training, avoids vanishing gradients)
- **Sigmoid**: $ \sigma(z) = \frac{1}{1 + e^{-z}} $ (useful for binary classification)
- **Softmax**: Converts outputs into probability distributions for multi-class classification.
## 3. Learning and Backpropagation
## 3 - Learning and Backpropagation
### 3.1 Cost Function (MSE, Cross-Entropy)
### 3.1 - Cost Function (MSE, Cross-Entropy)
To measure error, different loss functions are used:
- **Mean Squared Error (MSE)**:
@@ -81,7 +80,7 @@ To measure error, different loss functions are used:
Where, $y$ represents the true values or labels, while $\hat{y}$represents the predicted values produced by the model. The goal is to minimize this difference during training.
### 3.2 Gradient Descent and Weight Updates
### 3.2 - Gradient Descent and Weight Updates
Training consists of adjusting weights to minimize loss using **gradient descent**:
@@ -89,13 +88,13 @@ $$
w := w - \alpha \frac{\partial L}{\partial w}, \quad b := b - \alpha \frac{\partial L}{\partial b}
$$
### 3.3 Gradient Propagation via the Chain Rule
### 3.3 - Gradient Propagation via the Chain Rule
Using **backpropagation**, the error is propagated backward through the network using the chain rule, adjusting each weight accordingly.
## 4. Optimization and Regularization
## 4 - Optimization and Regularization
### 4.1 Optimization Algorithms (SGD, Adam)
### 4.1 - Optimization Algorithms (SGD, Adam)
- **Stochastic Gradient Descent (SGD)**: Updates weights after each sample.
- **Adam**: A more advanced optimizer that adapts learning rates per parameter.
@@ -104,7 +103,7 @@ The gradient of a function is the vector whose elements are its partial derivati
::prose-img
---
src: /portfolio/neural-network/gradient-descent.png
src: /writings/neural-network/gradient-descent.png
label: Gradient Descent
caption: Gradient Descent
---
@@ -114,13 +113,13 @@ caption: Gradient Descent
2. Modify each parameter by an amount proportional to its gradient element and in the opposite direction of its gradient element. For example, if the partial derivative of our cost function with respect to B0 is positive but tiny and the partial derivative with respect to B1 is negative and large, then we want to decrease B0 by a tiny amount and increase B1 by a large amount to lower our cost function.
3. Recompute the gradient using our new tweaked parameter values and repeat the previous steps until we arrive at the minimum.
### 4.2 Regularization to Avoid Overfitting (Dropout, L1/L2)
### 4.2 - Regularization to Avoid Overfitting (Dropout, L1/L2)
To prevent overfitting:
- **Dropout** randomly disables neurons during training.
- **L1/L2 regularization** penalizes large weights to encourage simpler models.
## 5. Network Architectures
## 5 - Network Architectures
Multi-Layer Perceptron (MLP)
A standard feedforward neural network with multiple layers.
@@ -134,26 +133,26 @@ Useful for time series and natural language tasks.
Transformers for NLP and Vision
State-of-the-art architecture for language understanding and vision tasks.
## 6. Training and Evaluation
## 6 - Training and Evaluation
### 6.1 Data Splitting (Train/Test Split)
### 6.1 - Data Splitting (Train/Test Split)
To evaluate performance, data is split into **training** and **test** sets.
### 6.2 Evaluation Metrics (Accuracy, Precision, Recall, RMSE, R²)
### 6.2 - Evaluation Metrics (Accuracy, Precision, Recall, RMSE, R²)
Metrics depend on the task:
- **Accuracy, Precision, Recall** for classification.
- **RMSE, R²** for regression.
### 6.3 Hyperparameter Tuning
### 6.3 - Hyperparameter Tuning
Choosing the right:
- **Learning rate**
- **Batch size**
- **Number of layers and neurons**
## Example: A Neural Network with Two Hidden Layers
## 7 - Example: A Neural Network with Two Hidden Layers
The following example demonstrates a simple **multi-layer perceptron (MLP)** with two hidden layers, trained to perform linear regression.
@@ -189,6 +188,6 @@ plt.legend()
plt.show()
```
## Conclusion
## 8 - Conclusion
Neural networks form the foundation of modern artificial intelligence. Their ability to learn from data and generalize to new situations makes them essential for applications like computer vision, automatic translation, and predictive medicine. 🚀

View File

@@ -0,0 +1,125 @@
---
slug: rag-ai-agents
title: "Understanding AI Agents, LLMs, and RAG: A Powerful Synergy"
description: Explore how AI agents, Large Language Models (LLMs), and Retrieval-Augmented Generation (RAG) combine to create intelligent, autonomous systems that reason, act, and interact with real-time data.
readingTime: 5
publishedAt: 2025/04/06
tags:
- ai
---
In the rapidly evolving world of artificial intelligence, the combination of Large Language Models (LLMs), AI agents, and Retrieval-Augmented Generation (RAG) is driving new possibilities for autonomous systems. These components, when integrated, create intelligent systems capable of performing complex tasks, reasoning, and interacting with the world around them. In this post, we'll dive into each of these elements and explore their synergy.
## 1 - What is an Agent?
An **AI agent** is an autonomous entity capable of perceiving its environment, making decisions, and taking actions based on its observations. In simpler terms, an agent is a system that can autonomously interact with the world or other systems to achieve a specific goal.
Agents can be divided into two broad categories:
- **Reactive Agents**: These agents respond to specific stimuli without maintaining any internal state. They simply react based on their immediate environment.
- **Proactive Agents**: These agents not only react to their environment but also plan and act based on future goals.
In modern AI, agents are often used in robotics, virtual assistants, and autonomous systems like **AutoGPT** or **LangChain**, which are capable of autonomously handling tasks like research, writing, and decision-making.
## 2 - What is a LLM?
A **Large Language Model (LLM)** is a machine learning model trained on vast amounts of text data, enabling it to understand and generate human-like language. These models, like **GPT (e.g., GPT-4)**, **Claude**, **Mistral**, and **LLaMA**, can produce coherent and contextually relevant responses to a wide range of queries.
LLMs work by predicting the next token (word or part of a word) based on the input they receive. This ability allows them to generate text, summarize documents, answer questions, and even carry on conversations that seem remarkably human.
However, LLMs have their limitations. They can sometimes generate **hallucinations** (incorrect or fabricated information), and their knowledge is **static**, meaning they can become outdated as they dont automatically update from the web.
## 3 - Messages and Tokens
When interacting with LLMs or agents, information is transmitted through **messages** and **tokens**.
- **Messages** are the pieces of communication sent between the user and the system (or between different components of the AI system). These can be user queries, responses, or commands.
- **Tokens** are the basic units of text that an LLM processes. A token could be a word, part of a word, or even punctuation. In GPT models, a single token can represent a word like "dog" or even part of a word like "re-" in "reliable."
Managing tokens is essential because LLMs have a **token limit**, meaning they can only handle a fixed number of tokens in a single input/output sequence. This limit impacts performance and context retention. Long conversations or documents might require careful handling of token counts to maintain coherence.
## 4 - What Are Tools?
In the context of AI agents, **tools** refer to external resources or systems that the agent can access to help it accomplish tasks. These tools can include:
- **APIs** for data retrieval (like web scraping or querying databases)
- **External software** (e.g., calculation engines, email clients)
- **Search engines** to find up-to-date information
For example, an AI agent might use a **search engine** tool to retrieve the latest news articles, then generate a summary based on that real-time data. These tools allow agents to extend their capabilities beyond the static information contained within their training data.
## 5 - Thought - Actions - Observe
An AI agent typically follows a basic cycle of:
1. **Thought**: The agent processes its input and reasons through the task using models like LLMs.
| Type of Thought | Example |
|---------------------|-------------------------------------------------------------------------|
| Planning | “I need to break this task into three steps: 1) gather data, 2) analyze trends, 3) generate report” |
| Analysis | “Based on the error message, the issue appears to be with the database connection parameters” |
| Decision Making | “Given the user's budget constraints, I should recommend the mid-tier option” |
| Problem Solving | “To optimize this code, I should first profile it to identify bottlenecks” |
| Memory Integration | “The user mentioned their preference for Python earlier, so I'll provide examples in Python” |
| Self-Reflection | “My last approach didn't work well, I should try a different strategy” |
| Goal Setting | “To complete this task, I need to first establish the acceptance criteria” |
| Prioritization | “The security vulnerability should be addressed before adding new features” |
2. **Action**: The agent performs an action, such as sending a query, interacting with an API, or initiating a task.
| Type of Action | Description |
|---------------------|-----------------------------------------------------------------------|
| Information Gathering| Performing web searches, querying databases, or retrieving documents. |
| Tool Usage | Making API calls, running calculations, and executing code. |
| Environment Interaction | Manipulating digital interfaces or controlling physical devices. |
| Communication | Engaging with users via chat or collaborating with other agents. |
3. **Observe**: The agent receives feedback or new data from the environment, which informs its next set of decisions.
| Type of Observation | Example |
|-----------------------|--------------------------------------------------------------------------|
| System Feedback | Error messages, success notifications, status codes |
| Data Changes | Database updates, file system modifications, state changes |
| Environmental Data | Sensor readings, system metrics, resource usage |
| Response Analysis | API responses, query results, computation outputs |
| Time-based Events | Deadlines reached, scheduled tasks completed |
This cycle allows agents to learn, adapt, and improve over time. It also highlights the agent's ability to take actions in real-time, often guided by LLMs, which provide the reasoning and decision-making capabilities.
To better understand these steps, here's a breakdown of the types of **thought**, **action**, and **observation** an AI agent might engage in:
This **Thought → Action → Observe** cycle enables agents to make informed decisions, take meaningful actions, and adjust their behavior based on the results of those actions. Each step is critical for ensuring that the agent remains effective, adaptable, and responsive to its environment.
## 6 - What is RAG?
**Retrieval-Augmented Generation (RAG)** is a technique that enhances LLMs by integrating them with external data retrieval systems. In essence, RAG combines the power of **retrieval-based methods** (finding relevant information from external sources) with **generation-based methods** (creating text based on that information).
Here's how it works:
1. The LLM retrieves relevant data or documents using a search engine or database query.
2. The LLM then generates a response based on the retrieved information.
RAG solves a major problem with LLMs: the **outdated or incomplete information** they may have. By pulling in real-time data, RAG ensures that the generated content is relevant and grounded in current knowledge.
A classic example of RAG is when you ask an AI to summarize the latest research on a particular topic. Instead of relying on the models static knowledge base, the model can retrieve relevant papers or articles and generate an accurate summary.
## 7 - Synergy Between RAG and AI Agents
The combination of **RAG** and **AI agents** opens the door to highly autonomous systems capable of not only generating content but also acting on the information in real-time.
Here's how they complement each other:
- **RAG** acts as an external memory or knowledge source for AI agents, providing them with up-to-date information to improve their decision-making and outputs.
- **AI agents**, powered by LLMs, can process this information and take actions based on it, whether it's generating a response, making a decision, or interacting with other systems.
For example, imagine an AI agent that's tasked with assisting a business in handling customer inquiries. It could use RAG to retrieve relevant customer information and FAQs, then generate a response based on that data. It might then take action by sending an email or updating a CRM system based on the customers query.
This synergy leads to **autonomous, efficient systems** that can process, reason, and act in a dynamic environment.
## 8 - Conclusion
The combination of **RAG**, **LLMs**, and **AI agents** represents a major leap forward in the field of AI. By merging data retrieval with powerful language models and autonomous agents, we can create intelligent systems that are more accurate, adaptable, and autonomous than ever before.
As these technologies evolve, we can expect even more sophisticated systems capable of transforming industries like healthcare, finance, customer service, and beyond. The future is bright for intelligent agents powered by this synergy!
If you have questions or want to dive deeper into any of the topics covered, feel free to comment below!

View File

@@ -5,12 +5,11 @@ description: An introduction to machine learning, exploring its main types, key
readingTime: 3
publishedAt: 2024/11/26
tags:
- article
- ai
- maths
---
## Introduction
## 1 - Introduction
Machine Learning (ML) is a key discipline in artificial intelligence (AI), enabling systems to learn from data to make predictions or discover patterns. It is the driving force behind many modern innovations, from personalised recommendations to autonomous vehicles.
@@ -21,7 +20,7 @@ In this article, we will cover:
3. **The typical ML workflow**, exploring the essential steps for developing a model.
4. **Model evaluation through the R² score**, an important metric for regression problems.
## The Types of Machine Learning
## 2 - The Types of Machine Learning
To start, it is important to understand the three main categories of machine learning:
@@ -38,7 +37,7 @@ To start, it is important to understand the three main categories of machine lea
::prose-img
---
src: /portfolio/ML/types.png
src: /writings/ML/types.png
label: ML Model Types
caption: The different types of machine learning models
---
@@ -46,7 +45,7 @@ caption: The different types of machine learning models
With this overview of ML types, lets now focus on supervised learning, the most widely used approach, and explore how to choose the right model.
## Three Considerations for Choosing a Supervised Learning Model
## 3 - Three Considerations for Choosing a Supervised Learning Model
Selecting the right supervised learning model is critical and depends on several factors:
@@ -64,7 +63,7 @@ Selecting the right supervised learning model is critical and depends on several
Once the model type is defined, the next step is to delve into the full workflow of developing an ML model.
## The Typical Workflow in Machine Learning
## 4 - The Typical Workflow in Machine Learning
A machine learning project generally follows these steps:
@@ -80,7 +79,7 @@ A machine learning project generally follows these steps:
::prose-img
---
src: /portfolio/ML/model.png
src: /writings/ML/model.png
label: Modelization in Progress
caption: Modelization in Progress
---
@@ -88,7 +87,7 @@ caption: Modelization in Progress
Evaluation is a crucial step to verify the performance of a model. For regression problems, the R² score is a key indicator.
## Evaluating Models: The R² Score
## 5 - Evaluating Models: The R² Score
For regression problems, the **R² score** measures the proportion of the targets variance explained by the model:
@@ -101,7 +100,7 @@ A $$R^2$$ close to 1 indicates a good fit.
::prose-img
---
src: /portfolio/ML/r2.png
src: /writings/ML/r2.png
label: R² Score
caption: R² Score
---
@@ -109,6 +108,6 @@ caption: R² Score
With these concepts in mind, you are better equipped to understand and apply ML models in your projects.
## Conclusion
## 6 - Conclusion
Machine learning is revolutionising how we solve complex problems using data. Supervised, unsupervised, and reinforcement learning approaches allow us to tackle a wide variety of use cases. In supervised learning, the model choice depends on the problem type, its complexity, and the appropriate algorithmic approach. Finally, a structured workflow and metrics like the R² score ensure the quality of predictions and analyses.