Mustererkennung

Neuronale Netze werden in Anwendungen wie der Gesichtserkennung verwendet.

Diese Anwendungen verwenden die Mustererkennung .

Diese Art der Klassifizierung kann mit einem Perceptron durchgeführt werden .

Musterklassifizierung

Stellen Sie sich eine gerade Linie (einen linearen Graphen) in einem Raum mit verstreuten xy-Punkten vor.

Wie können Sie die Punkte über und unter der Linie klassifizieren?

Ein Perzeptron kann darauf trainiert werden, die Punkte über der Linie zu erkennen, ohne die Formel für die Linie zu kennen.

Perzeptron

Ein Perceptron wird häufig verwendet, um Daten in zwei Teile zu klassifizieren.

Ein Perzeptron wird auch als linearer binärer Klassifikator bezeichnet.


Wie man ein Perzeptron programmiert

Um mehr darüber zu erfahren, wie man ein Perzeptron programmiert, erstellen wir ein sehr einfaches JavaScript-Programm, das:

  1. Erstellen Sie einen einfachen Plotter
  2. Erstellen Sie 500 zufällige XY-Punkte
  3. Zeigen Sie die xy-Punkte an
  4. Erstellen Sie eine Linienfunktion: f(x)
  5. Zeigen Sie die Linie an
  6. Berechnen Sie die gewünschten Antworten
  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