Rozpoznávání vzorů

Neuronové sítě se používají v aplikacích, jako je rozpoznávání obličeje.

Tyto aplikace používají rozpoznávání vzoru .

Tento typ klasifikace lze provést pomocí perceptronu .

Klasifikace vzorů

Představte si úžinu (lineární graf) v prostoru s rozptýlenými xy body.

Jak můžete klasifikovat body nad a pod čarou?

Perceptron lze trénovat, aby rozpoznával body na přímce, aniž by znal vzorec pro přímku.

Perceptron

Perceptron se často používá ke klasifikaci dat do dvou částí.

Perceptron je také známý jako lineární binární klasifikátor.


Jak programovat perceptron

Chcete-li se dozvědět více o tom, jak programovat perceptron, vytvoříme velmi jednoduchý JavaScriptový program, který:

  1. Vytvořte si jednoduchý plotr
  2. Vytvořte 500 náhodných xy bodů
  3. Zobrazte xy bodů
  4. Vytvořte liniovou funkci: f(x)
  5. Zobrazte řádek
  6. Vypočítejte požadované odpovědi
  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