<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Mon Résumé Intelligence artificielle by Benjamin Mouëza</title>
      <link>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt</link>
      <description>Une feuille synthèse qui permet d&#39;assimiler les ressources et les connaissances vues au cours d&#39;intelligence artificielle.</description>
      <language>en-us</language>
      <pubDate>2022-09-23 15:58:46 UTC</pubDate>
      <lastBuildDate>2022-12-13 23:15:46 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url>https://padlet.net/icons/png/1f600.png</url>
      </image>
      <item>
         <title>CONVOLUTIONS</title>
         <author>benjaminmoueza</author>
         <link>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737968</link>
         <description><![CDATA[<div>Le convolutional neural network est une forme spéciale du réseau neuronal artificiel. Il comporte plusieurs couches de convolution et est très bien adapté à <a href="https://www.jeveuxetredatascientist.fr/apprentissage-supervise/">l’apprentissage automatique</a> et aux applications avec Intelligence artificielle (IA) dans le domaine de la reconnaissance d’images et de la parole, de la vente et du marketing ciblé et bien plus encore.<br><br><br><br><br><br><br><br><br></div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1819765989/d5f42f230f9cf1746a66d9ac5378cf23/image.png" />
         <pubDate>2022-09-23 15:58:46 UTC</pubDate>
         <guid>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737968</guid>
      </item>
      <item>
         <title>PRÉPARATION des DONNÉES</title>
         <author>benjaminmoueza</author>
         <link>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737969</link>
         <description><![CDATA[<div>Pour <strong><em>convertir toutes les valeurs de type catégorie en valeurs numériques</em></strong> en remplaçant toutes les valeurs uniques par des nombres séquentiels :<br><br>cleanup_nums = {"Format": {"Big": 1, "Small": 2},<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "Style": {"Serie": 1, "One Book": 2},<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "Kind": {"Learning": 1, "Story": 2},<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "Readers": {"Adults": 1, "Teenagers": 2, "Kids": 3}<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>data_frame.replace(cleanup_nums, inplace=True)<br><br>data_frame.head()<br><br>Pour le labo :&nbsp;<a href="https://www.researchgate.net/publication/318656107_Application_of_Artificial_Neural_Networks_in_Modeling_Direction_Wheelchairs_Using_Neurosky_Mindset_Mobile_EEG_Device">https://www.researchgate.net/publication/318656107_Application_of_Artificial_Neural_Networks_in_Modeling_Direction_Wheelchairs_Using_Neurosky_Mindset_Mobile_EEG_Device</a>&nbsp;<br><br>Les préparations sont les suivantes :&nbsp;</div><div><br></div><ul><li>Initialisation&nbsp; : Ils ont commencé par prendre des mesures avec un casque à méditation de données sur le cerveau d’une personne en situation d’handicap en fauteuil roulant afin de prédire la direction du fauteuil à l’aide du signal cérébral.</li><li>Les neurones se transmettent à 240km/h jusqu’à la moelle épinière. Sachant que le cerveau pèse 2% du poids corporel.</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2022-09-23 15:58:46 UTC</pubDate>
         <guid>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737969</guid>
      </item>
      <item>
         <title>NEURAL NET - CONVOLUTIF</title>
         <author>benjaminmoueza</author>
         <link>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737970</link>
         <description><![CDATA[<div>Une architecture de réseau de neurones convolutifs est formée par un empilement de couches de traitement :<br><br></div><ul><li>la couche de convolution (CONV) qui traite les données d'un champ récepteur ;</li><li>la couche de pooling (POOL), qui permet de compresser l'information en réduisant la taille de l'image intermédiaire (souvent par sous-échantillonnage) ;</li><li>la couche de correction (ReLU), souvent appelée par abus « ReLU » en référence à la <a href="https://fr.wikipedia.org/wiki/Fonction_d%27activation">fonction d'activation</a> (Unité de rectification linéaire) ;</li><li>la couche « entièrement connectée » (FC), qui est une couche de type <a href="https://fr.wikipedia.org/wiki/Perceptron">perceptron</a> ;</li><li>la couche de perte (LOSS).</li></ul><div><br>Par exemple :<br><br>Combien de <a href="https://docs.google.com/presentation/d/1kpNJ8rIasjv8DDmAABQ1kEBmIZC1zoptvkW1HOtFQqU/edit#slide=id.gf81b258619_0_1134">couches convolutives</a> ? n = 6<br><br></div><div>Combien de <a href="https://docs.google.com/presentation/d/1kpNJ8rIasjv8DDmAABQ1kEBmIZC1zoptvkW1HOtFQqU/edit#slide=id.gf81b258619_0_1023">kernels</a> de convolution ou filtres par couche ? 2</div><div><br>Combien de couches de <a href="https://docs.google.com/presentation/d/1kpNJ8rIasjv8DDmAABQ1kEBmIZC1zoptvkW1HOtFQqU/edit#slide=id.gf81b258619_0_1078">pooling</a> ? 3 couches de pooling</div><div><br>Quel est le <a href="https://docs.google.com/presentation/d/1kpNJ8rIasjv8DDmAABQ1kEBmIZC1zoptvkW1HOtFQqU/edit#slide=id.gfb72d013e4_1_25">type de pooling</a> utilisé ? Pooling de moyenne</div><div><br><br><br><br><br><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-09-23 15:58:46 UTC</pubDate>
         <guid>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737970</guid>
      </item>
      <item>
         <title>NEURAL NET - MULTI-COUCHE</title>
         <author>benjaminmoueza</author>
         <link>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737971</link>
         <description><![CDATA[<div>Le <strong>perceptron multicouche</strong> <em>(multilayer perceptron</em> MLP) est un type de <a href="https://fr.wikipedia.org/wiki/R%C3%A9seau_de_neurones_artificiels">réseau neuronal artificiel</a> organisé en plusieurs couches. L'information circule de la couche d'entrée vers la couche de sortie uniquement : il s'agit donc d'un réseau à propagation directe (<em>feedforward</em>). Chaque couche est constituée d'un nombre variable de neurones, les neurones de la dernière couche (dite « de sortie ») étant les sorties du système global.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-09-23 15:58:46 UTC</pubDate>
         <guid>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737971</guid>
      </item>
      <item>
         <title>NEURAL NETS - PERCEPTRON</title>
         <author>benjaminmoueza</author>
         <link>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737972</link>
         <description><![CDATA[<div>Le <strong>perceptron</strong> est un algorithme d'<a href="https://fr.wikipedia.org/wiki/Apprentissage_supervis%C3%A9">apprentissage supervisé</a> de classifieurs binaires (c'est-à-dire séparant deux classes).<br>Il s'agit d'un <a href="https://fr.wikipedia.org/wiki/Neurone_formel">neurone formel</a> muni d'une règle d'apprentissage qui permet de déterminer automatiquement les poids synaptiques de manière à séparer un problème d'apprentissage supervisé.&nbsp;<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-09-23 15:58:46 UTC</pubDate>
         <guid>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737972</guid>
      </item>
      <item>
         <title>AGENTS</title>
         <author>benjaminmoueza</author>
         <link>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737973</link>
         <description><![CDATA[<div>Labo colibri avec les MLAgents sur unity :<br>Le but est que le colibri réussisse à s'entraîner, à observer le monde, à prendre des mesures et à interagir avec d'autres objets.<br><br>Aussi avec FSM simulator nous avons fait des combinaisons en régex pour obtenir un graphique :<br><br>Par exemple :<br><br></div><ul><li>Une regex qui représente la figure de si a = b.</li></ul><div><br></div><ul><li>Une regex qui améliore le programme avec les espaces : if((false_false+0_0))</li></ul><div><br><br></div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1819765989/74de47af5b64d3aabf29e56a49c675dd/image.png" />
         <pubDate>2022-09-23 15:58:46 UTC</pubDate>
         <guid>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737973</guid>
      </item>
      <item>
         <title>Bases mathématiques</title>
         <author>benjaminmoueza</author>
         <link>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737974</link>
         <description><![CDATA[<div>//On importe la librairie mathématique :<br>import math<br>(Elle sert à calculer les racines carrées)<br>//Ensuite on déclare :<br>num_cells = math.ceil(math.sqrt(numbers_to_display))<br>Ici, le nombre de cellule est égale à math qui calcule, et on passe en paramètre le nombre d'affichage qui est 25.<br>//Puis on a :<br>math.ceil() qui permet d'envoyer le plus petit entier supérieur ou égal à x. Si x n'est pas un flottant, il délègue à x_ceil qui retourne une intégrale valeur.<br>math.sqrt() qui renvoie la racine carrée de 25 ici illustré par :<br>math.sqrt(numbers_to_display))<br>Sachant que numbers_to_display = 25<br>-------------------<br>math.<strong>dist() pour calculer la distance entre x et y par ex.<br>-------------------<br></strong>math.<strong>comb</strong>(<em>n</em>, <em>k</em>) permet de renvoyer le nombre de façons de choisir <em>k</em> éléments parmi <em>n</em> éléments sans répétition et sans ordre.<br>-------------------<br>//Constante :<br>math.e (avec <em>e</em> = 2.718281)<br>math.pi (avec <em>π</em> = 3.141592)<br>math.tau (avec <em>τ</em> = 6.283185)<br>math.inf (avec float('inf'))<br>math.nan ()<br>Exemple :</div><pre><strong>import</strong> <strong>math</strong>
<strong>&gt;&gt;&gt; </strong>math.nan == math.nan
False
<strong>&gt;&gt;&gt; </strong>float('nan') == float('nan')
False
<strong>&gt;&gt;&gt; </strong>math.isnan(math.nan)
True
<strong>&gt;&gt;&gt; </strong>math.isnan(float('nan'))
True</pre><div><br><br><br><strong><br><br></strong><br><br><br><br><br><br><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-09-23 15:58:46 UTC</pubDate>
         <guid>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737974</guid>
      </item>
      <item>
         <title>ALGOS GÉNÉTIQUES</title>
         <author>benjaminmoueza</author>
         <link>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737980</link>
         <description><![CDATA[<div>Un GA (abréviation de « Genetic Algorithm ») est un type d’algorithmes un peu particulier, appartenant à la famille des <a href="https://fr.wikipedia.org/wiki/Algorithme_%C3%A9volutionniste">algorithmes évolutionnistes</a>. Le but des GA est de trouver une solution optimum à un problème, dans un temps raisonnable, en n’utilisant aucun algorithme précis.<br><br>I<strong>ndividu :</strong></div><div>Un individu n’est rien de plus qu’un résultat. Quand on parle d’un individu en GA/GP, on parle en réalité d’une instance de la structure de données contenant un résultat, qu’il soit optimum ou non.</div><div><br></div><div><strong>Population :</strong></div><div>Une population n’est rien de plus qu’une collection, un regroupement d’individus.<br><br></div><div><strong>Génération :</strong></div><div>Une génération n’est rien de plus qu’une étape dans l’évolution d’une population. Comme dans la vraie vie.<br><br><br></div><div><strong>Sélection :</strong></div><div>La phase de sélection est une étape clef dans le fonctionnement des GA. C’est cette étape qui attribue un score à chaque individu en fonction de son adaptation au problème donné. Ce score est nommé « fitness » (= « aptitude pour … ») et en fonction des scores obtenus par chaque individu de la population, certains seront conservés pour la génération suivante et d’autres retourneront dans le néant.<br><br></div><div><strong>Croisement :</strong></div><div>Le croisement est une étape qui consiste à prendre deux individus différents et de les faire se reproduire pour générer de nouveau individu.</div><div><br></div><div><strong>Mutation :</strong></div><div>La mutation est une étape qui consiste à introduire aléatoire des modifications dans les constituants d’un individu.<br><br>Source : https://skyduino.wordpress.com/2015/07/16/tutorielpython-les-algorithmes-genetiques-garantis-sans-ogm/#:~:text=Un%20GA%20(abr%C3%A9viation%20de%20%C2%AB%20Genetic,n'utilisant%20aucun%20algorithme%20pr%C3%A9cis.https://skyduino.wordpress.com/2015/07/16/tutorielpython-les-algorithmes-genetiques-garantis-sans-ogm/#:~:text=Un%20GA%20(abr%C3%A9viation%20de%20%C2%AB%20Genetic,n'utilisant%20aucun%20algorithme%20pr%C3%A9cis.<br><br><br></div>]]></description>
         <enclosure url="https://skyduino.wordpress.com/2015/07/16/tutorielpython-les-algorithmes-genetiques-garantis-sans-ogm/#:~:text=Un%20GA%20(abr%C3%A9viation%20de%20%C2%AB%20Genetic,n&#39;utilisant%20aucun%20algorithme%20pr%C3%A9cis." />
         <pubDate>2022-09-23 15:58:46 UTC</pubDate>
         <guid>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737980</guid>
      </item>
      <item>
         <title>MACHINES D&#39;ÉTATS</title>
         <author>benjaminmoueza</author>
         <link>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737981</link>
         <description><![CDATA[<div>Les machines à états finis (FSM) sont des modèles de calcul définis par une liste d'états d'ensemble uniques qui ne peuvent être choisis qu'un par un.&nbsp;<br><br>Au départ on initialise avec :<br>def __init__(self):<br>&nbsp;|&nbsp; &nbsp; &nbsp;self.matrice = {"FAIM" : {"recevoir-nourriture" : "BIEN", "ennemi-arrive" : "PEUR", "ami-arrive" : "FAIM", "ennemi-quitte" : "FAIM"},<br><br>Ensuite on fait subir un tableau d'évènement et d'état c'est-à-dire self-etat = "FAIM"<br><br>Puis, on retourne cet état en la récupérant.<br>Il peut y avoir plusieurs états qui sont :<br>etat = agent.subir("ennemi-arrive")<br>etat = agent.subir("recevoir-nourriture")<br>etat = agent.subir("ami-arrive")<br>etat = agent.subir("ennemi-quite")</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-09-23 15:58:46 UTC</pubDate>
         <guid>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737981</guid>
      </item>
      <item>
         <title>Utilisation des algorithmes</title>
         <author>benjaminmoueza</author>
         <link>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737983</link>
         <description><![CDATA[<div><br>Il contient la séquence générale des étapes suivies par un GA, donc initialiser la population, évaluer l'aptitude, reproduire et répéter, mais vous permet de personnaliser le GA pour votre application particulière par substitution.&nbsp;<br>On utilise le modèle : GeneticAlgothim()<br><br><br><br><br><br><br><br><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-09-23 15:58:46 UTC</pubDate>
         <guid>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737983</guid>
      </item>
      <item>
         <title>Définition de l&#39;intelligence artificielle</title>
         <author>benjaminmoueza</author>
         <link>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737985</link>
         <description><![CDATA[<div>C'est le fait d'imiter un comportement de la vie réel. Une machine qui parle comme un humain (Robot Humanoïde)<br><br><br><br><br><br><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-09-23 15:58:46 UTC</pubDate>
         <guid>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737985</guid>
      </item>
      <item>
         <title>BOIDS</title>
         <author>benjaminmoueza</author>
         <link>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737986</link>
         <description><![CDATA[<div>Il fallait simuler un vol d'oiseau sur unity dans ce labo.<br>Il est important de :<br>- Calculer l'alignement<br>- Calculer la cohesion<br>- Calculer la separation<br><br>1.a) Les formats de données :&nbsp; <br>Vector2 --&gt; Cette structure permet de représenter les position 2D comme la texture des oiseaux et leur comportement sur l'axe X et Y.&nbsp; <br>Vector3 --&gt; Il permet de connaître la position et la vitesse de l'oiseau.&nbsp; <br>Transform --&gt; Il permet d'avoir la position, la rotation, et l'échelle de l'oiseau. (Transform[]&nbsp; transformeeOiseaux, transformeeVoliere;)&nbsp; <br><br>1.b)&nbsp; <br>Le tableau float : Transform[] transformeeOiseaux, transformeeVoliere;&nbsp; <br><br>&nbsp; <br>1.c)&nbsp; <br>Les fonctions et opérations mathématiques utilisées dans le code :&nbsp; <br>float() qui permet l'utilisation des nombres à virgule pour préciser la vitesse de 3.0f par exemple.<br><br>////////////////////<br>Pour le labo aquarium il fallait utiliser node :<br>PROCEDURE pour installer une autre version de node avec nvm !!!<br><br><br>Telecharger nvm<br>https://github.com/coreybutler/nvm-windows/releases/download/1.1.9/nvm-setup.exe<br>Installer dans C:\Program Files\nodejsx\nvm indiquer pour le symlink C:\Program Files\nodejs<br>s'assurer que la variable d'environnement NVM_HOME pointe sur C:\Program Files\nodejsx\nvm<br>et que NVM_SYMLINK pointe sur C:\Program Files\nodejs<br><br>=&gt; REDEMARRER<br><br>Entrer en mode administrateur dans la console de windows (CMD) --&gt; Important sinon l'installation est refusé.<br><br>nvm install 16.14.0<br>nvm use 16.14.0<br>cd le-projet<br>npm install .<br>npm start<br>browser localhost:3000<br><strong><br></strong><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-09-23 15:58:46 UTC</pubDate>
         <guid>https://padlet.com/benjaminmoueza/kd9z87dw0fkc4kqt/wish/2310737986</guid>
      </item>
   </channel>
</rss>
