Reconocimiento de patrones

Las redes neuronales se utilizan en aplicaciones como el reconocimiento facial.

Estas aplicaciones utilizan el reconocimiento de patrones .

Este tipo de Clasificación se puede hacer con un Perceptrón .

Clasificación de patrones

Imagina una línea recta (un gráfico lineal) en un espacio con puntos xy dispersos.

¿Cómo puedes clasificar los puntos por encima y por debajo de la línea?

Se puede entrenar a un perceptrón para que reconozca los puntos sobre la línea, sin conocer la fórmula de la línea.

perceptrón

Un perceptrón se usa a menudo para clasificar los datos en dos partes.

Un perceptrón también se conoce como clasificador binario lineal.


Cómo programar un perceptrón

Para obtener más información sobre cómo programar un perceptrón, crearemos un programa JavaScript muy simple que:

  1. Crear un trazador simple
  2. Crea 500 puntos xy aleatorios
  3. Mostrar los puntos xy
  4. Crea una función de línea: f(x)
  5. Mostrar la línea
  6. Calcular las respuestas deseadas
  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