# data[].attributes.body
Un algorithme d'optimisation :

🔲principes:

un algorithme qui permet de recherche le minimum global d'une courbe(possible aussi pour le maximum global)

🤖 Algorithme

exemple vue en cours

let minimumY = points[0];
let minimumX = 0;

for(let x in points)
{
let y = points[x];
if(y < minimumY)
{
minimumY = y;
minimumX = x;
}
}

🔌 Code

this.x = 0;

this.y = points[this.x];

if(this.tour >= this.points.length) this.minimumTrouve = true;

if(this.tour > 3 && this.points[this.x] > this.points[this.x+1]) this.minimumTrouve = true

if(!this.minimumTrouve)

{

if(this.y < this.yMinimum)

{

this.yMinimum = this.y;

this.xMinimum = this.x;

}

}

https://editor.p5js.org/slapeur115/sketches/e-l91ST9j

# data[].attributes.body
🕸️ PRINCIPES

- force alignement : -> même direction (autres agents)

- force cohésion : -> centre gravité (agents proches)

- force séparation : -> distance minimale (autres agents)

🕸️ APPLICATIONS

- swarm intelligence = coordination d'agents sur le terrain

- flocking = croire observer comportements groupes

# data[].attributes.body
Fonctions :

- generer une population de depart au hasard

- mecanisme de selection

- mecanisme de mutation / cross-over

- on recommence etape 2

# data[].attributes.body
Croisement (Crossover) :

1. Combinaison de l'information génétique de deux individus (parents).

2. Les positions de croisement définissent où les échanges génétiques ont lieu.

3. Par exemple, le croisement en un point échange les parties des chromosomes avant/après une position choisie.

Mutation :

1. Introduit des changements aléatoires dans un ou plusieurs individus de la population.

2. Favorise la diversité génétique en altérant légèrement l'information génétique.

3. Peut inclure des modifications de bits, des inversions de séquences, ou d'autres opérations aléatoires.

# data[].attributes.body
Capteur

Actionneurs

Effecteurs

# data[].attributes.body
👩‍💻 Principe

tous les ML-agents sont des agents, mais tous les agents ne sont pas nécessairement des ML-agents.

👩‍💻 Sous-titre

Un ML-agent est un agent qui utilise des techniques d'apprentissage automatique pour améliorer ses performances au fil du temps.

👩‍💻 Type d’apprentissage

Cela peut inclure des méthodes telles que l'apprentissage supervisé, l'apprentissage non supervisé, ou l'apprentissage par renforcement, selon la nature de l'agent et du problème qu'il cherche à résoudre.

# data[].attributes.body
🔲 Principe

passer d'un état a un autre par une "action"

🕸️ Représentation ci-dessus

# data[].attributes.body
🔲 Vecteur Random

createVector(random(2), random(2))

p5.Vector.random2D();

🤖 Dessiner

DESSINER

strokeWeight(6);

stroke(255);

point(this.position.x, this.position.y);

# data[].attributes.body
1. Binaire

2. Entière

3. Réelle

4. Permutations

5. Structurée

# data[].attributes.body
🔲 Définition

systèmes informatiques capables d'effectuer des tâches qui nécessitent normalement l'intelligence humaine. Ces tâches peuvent inclure la résolution de problèmes, la compréhension du langage naturel, l'apprentissage, la reconnaissance de motifs, et bien d'autres.

🔲 Espace de solution

L'algorithme explore toutes les manières différentes (ou solutions) de résoudre ce problème. Cet ensemble de solutions possibles est appelé l'espace de solution. L'objectif de l'algorithme est de trouver la meilleure solution ou la plus adaptée à partir de cet espace de solutions pour résoudre le problème donné.

👩‍💻 Catégories d'algorithmes

méthodes différentes que les programmes informatiques utilisent pour apprendre, comprendre des données, prendre des décisions, ou accomplir d'autres tâches intelligentes.

# data[].attributes.body
🤖 def

Un perceptron est l'unité de base d'un réseau de neurones. Il a été introduit par Frank Rosenblatt en 1957 et constitue le fondement des réseaux de neurones modernes. Un perceptron prend plusieurs entrées pondérées, les somme, applique une fonction d'activation à la somme pondérée, et produit une sortie.

🤖 role

Le rôle du biais est d'introduire une certaine flexibilité dans le modèle en permettant au perceptron de s'activer même lorsque toutes les entrées sont nulles.

# data[].attributes.body
🔌 Sélection des données

On garde et rejette les échantillons

On élimine ce qui n’est pas important

🔌 Normalisation & Reshape

Ces deux opérations font partie du processus de prétraitement des données, qui est crucial pour assurer que le réseau de neurones apprend efficacement à partir des données d'entraînement.

🔲 Étiquetage des données

L'étiquetage des données fait référence au processus d'attribution d'étiquettes ou de catégories à des exemples de données, généralement dans le contexte de l'apprentissage supervisé.

# data[].attributes.body
ÉVALUATION du neural net

Matrice de confusion

Elle permet de connaître les erreurs commises par l’algorithme.  Et les différents types d’erreurs.

Graphique de loss

Généralement, lors de l'entraînement d'un modèle de machine learning, un graphique de la perte au fil des itérations ou des époques est un outil utile pour évaluer la performance du modèle et son apprentissage. La perte mesure à quel point les prédictions du modèle diffèrent des valeurs réelles dans l'ensemble d'entraînement.

# data[].attributes.body
Fonctions mathématiques f(x) = 1.0 / (1.0 + e-x)

Formats de vecteurs (types)

Vecteur de données d'entrée : Chaque exemple d'entraînement (image, texte, etc.) est généralement représenté sous forme de vecteur numérique. Par exemple, dans le cas d'une image, chaque pixel peut être une valeur dans ce vecteur.

Vecteur de sortie : Selon le type de problème (classification, régression, etc.), la sortie du réseau peut être un vecteur de probabilités, un vecteur de classes prédites, ou un simple nombre réel dans le cas d'une régression.

# data[].attributes.body
🤖 Def

Un réseau de neurones convolutif (CNN ou ConvNet) est un type spécial de réseau de neurones bien adapté à la tâche de traitement d'images. Il utilise des opérations de convolution pour détecter des motifs et des caractéristiques spécifiques dans les données d'entrée. Voici une illustration simple d'un réseau de neurones convolutif :

🤖 Convolution

Entrée (Image) Couche convolutive Couche de pooling Couche entièrement connectée

| | | |

▼ ▼ ▼ ▼

[ Image ] --> [ Convolution ] --> [ Pooling ] --> [ Flatten ] --> [ Fully Connected ] --> [ Output ]