Распознавание образов
Нейронные сети используются в таких приложениях, как распознавание лиц.
Эти приложения используют распознавание образов .
Этот тип классификации может быть выполнен с помощью персептрона .
Классификация шаблонов
Представьте прямую линию (линейный график) в пространстве с разбросанными точками xy.
Как можно классифицировать точки над и под линией?
Персептрон можно научить распознавать точки над линией, не зная формулы этой линии.
Персептрон часто используется для разделения данных на две части.
Персептрон также известен как линейный двоичный классификатор.
Как запрограммировать персептрон
Чтобы узнать больше о том, как программировать персептрон, мы создадим очень простую программу на JavaScript, которая будет:
- Создайте простой плоттер
- Создайте 500 случайных точек xy
- Отображение точек xy
- Создайте линейную функцию: f(x)
- Показать строку
- Вычислите желаемые ответы
- 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