Искусственный интеллект

Домой Что такое ИИ? Человеческий интеллект История языков История чисел История вычислений Роботы Замена работы Примеры ИИ Теория разума Программирование JavaScript ИИ в браузере

Математика

Математика Линейные функции Линейная алгебра Векторы Матрицы Тензоры

Статистика

Вероятность Статистика Распределение

Графика

ИИ-плоттер Линейные графики ИИ Диаграммы рассеяния ИИ

Наука ИИ

наук Сбор данных Кластеризация Регрессии Машинное обучение Нейронные сети

Машинное обучение

Персептроны Признание Обучение Тестирование Обучение Терминология Мозг.js

ТензорФлоу

Учебник по TFJS Операции TFJS Модели TFJS Средство просмотра TFJS

Пример 1

Ex1 Введение Ex1 Данные Модель Ex1 Ex1 Обучение

Пример 2

Ex2 Введение Ex2 Данные Модель Ex2 Ex2 Обучение

JS-графика

вступление Графическое полотно График Plotly.js График Chart.js График Google График D3.js

Распознавание образов

Нейронные сети используются в таких приложениях, как распознавание лиц.

Эти приложения используют распознавание образов .

Этот тип классификации может быть выполнен с помощью персептрона .

Классификация шаблонов

Представьте прямую линию (линейный график) в пространстве с разбросанными точками xy.

Как можно классифицировать точки над и под линией?

Персептрон можно научить распознавать точки над линией, не зная формулы этой линии.

Персептрон

Персептрон часто используется для разделения данных на две части.

Персептрон также известен как линейный двоичный классификатор.


Как запрограммировать персептрон

Чтобы узнать больше о том, как программировать персептрон, мы создадим очень простую программу на JavaScript, которая будет:

  1. Создайте простой плоттер
  2. Создайте 500 случайных точек xy
  3. Отображение точек xy
  4. Создайте линейную функцию: f(x)
  5. Показать строку
  6. Вычислите желаемые ответы
  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