Riconoscimento del modello

Le reti neurali sono utilizzate in applicazioni come il riconoscimento facciale.

Queste applicazioni utilizzano il riconoscimento del modello .

Questo tipo di classificazione può essere fatto con un Perceptron .

Classificazione del modello

Immagina una linea retta (un grafico lineare) in uno spazio con punti xy sparsi.

Come classificare i punti sopra e sotto la linea?

Un perceptron può essere addestrato a riconoscere i punti sopra la linea, senza conoscere la formula per la linea.

Perceptron

Un Perceptron viene spesso utilizzato per classificare i dati in due parti.

Un Perceptron è anche noto come classificatore binario lineare.


Come programmare un perceptron

Per saperne di più su come programmare un perceptron, creeremo un programma JavaScript molto semplice che:

  1. Crea un semplice plotter
  2. Crea 500 punti xy casuali
  3. Visualizza i punti xy
  4. Crea una funzione di linea: f(x)
  5. Visualizza la linea
  6. Calcola le risposte desiderate
  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