Patroonherkenning

Neurale netwerke word gebruik in toepassings soos gesigsherkenning.

Hierdie toepassings gebruik Patroonherkenning .

Hierdie tipe klassifikasie kan met 'n Perceptron gedoen word .

Patroonklassifikasie

Stel jou 'n reguit lyn ('n lineêre grafiek) voor in 'n spasie met verspreide xy-punte.

Hoe kan jy die punte oor en onder die lyn klassifiseer?

'n Perseptron kan opgelei word om die punte oor die lyn te herken, sonder om die formule vir die lyn te ken.

Perceptron

'n Perceptron word dikwels gebruik om data in twee dele te klassifiseer.

'n Perceptron staan ​​ook bekend as 'n Lineêre Binêre Klassifiseerder.


Hoe om 'n Perceptron te programmeer

Om meer te wete te kom oor hoe om 'n perceptron te programmeer, sal ons 'n baie eenvoudige JavaScript-program skep wat:

  1. Skep 'n eenvoudige plotter
  2. Skep 500 ewekansige xy-punte
  3. Toon die xy-punte
  4. Skep 'n lynfunksie: f(x)
  5. Vertoon die lyn
  6. Bereken die verlangde antwoorde
  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