La reconnaissance de formes

Les réseaux de neurones sont utilisés dans des applications telles que la reconnaissance faciale.

Ces applications utilisent la reconnaissance de formes .

Ce type de classification peut être fait avec un Perceptron .

Classification des motifs

Imaginez une ligne droite (un graphique linéaire) dans un espace avec des points xy dispersés.

Comment pouvez-vous classer les points au-dessus et au-dessous de la ligne ?

Un perceptron peut être formé pour reconnaître les points sur la ligne, sans connaître la formule de la ligne.

Perceptron

Un Perceptron est souvent utilisé pour classer les données en deux parties.

Un Perceptron est également connu sous le nom de classificateur binaire linéaire.


Comment programmer un Perceptron

Pour en savoir plus sur la programmation d'un perceptron, nous allons créer un programme JavaScript très simple qui va :

  1. Créer un traceur simple
  2. Créer 500 points xy aléatoires
  3. Afficher les points xy
  4. Créer une fonction de ligne : f(x)
  5. Afficher la ligne
  6. Calculer les réponses souhaitées
  7. Display the desired answers

Create a Simple Plotter

Use the simple plotter object described in the AI Plotter Chapter.

Example

const plotter = new XYPlotter("myCanvas");
plotter.transformXY();

const xMax = plotter.xMax;
const yMax = plotter.yMax;
const xMin = plotter.xMin;
const yMin = plotter.yMin;

Create Random X Y Points

Create as many xy points as wanted.

Let the x values be random, between 0 and maximum.

Let the y values be random, between 0 and maximum.

Display the points in the plotter:

Example

const numPoints = 500;
const xPoints = [];
const yPoints = [];
for (let i = 0; i < numPoints; i++) {
  xPoints[i] = Math.random() * xMax;
  yPoints[i] = Math.random() * yMax;
}


Create a Line Function

Display the line in the plotter:

Example

function f(x) {
  return x * 1.2 + 50;
}


Compute Desired Answers

Compute the desired answers based on the line function:

y = x * 1.2 + 50.

The desired answer is 1 if y is over the line and 0 if y is under the line.

Store the desired answers in an array (desired[]).

Example

let desired = [];
for (let i = 0; i < numPoints; i++) {
  desired[i] = 0;
  if (yPoints[i] > f(xPoints[i])) {desired[i] = 1;}
}

Display the Desired Answers

For each point, if desired[i] = 1 display a blue point, else display a black point.

Example

for (let i = 0; i < numPoints; i++) {
  let color = "blue";
  if (desired[i]) color = "black";
  plotter.plotPoint(xPoints[i], yPoints[i], color);
}


How to Train a Perceptron

In the next chapters, you will learn more about how to Train the Perceptron