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

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

Математика

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

Статистика

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

Графика

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

Наука ИИ

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

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

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

ТензорФлоу

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

Пример 1

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

Пример 2

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

JS-графика

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

Матрицы

Матрица представляет собой набор чисел .

Матрица представляет собой прямоугольный массив .

Матрица состоит из строк и столбцов .

Размеры матрицы

Эта матрица имеет 1 строку и 3 столбца:

С =  
2 5 3

Размер матрицы ( 1 x 3 ).


Эта матрица имеет 2 строки и 3 столбца:

С =  
2 5 3
4 7 1

Размер матрицы равен ( 2 x 3 ).


Квадратные матрицы

Квадратная матрица — это матрица с одинаковым количеством строк и столбцов.

Матрица размера n на n известна как квадратная матрица порядка n.

Матрица 2 на 2 (квадратная матрица порядка 2):

С =  
1 2
3 4

Матрица 4 на 4 (квадратная матрица порядка 4):

С =  
1 -2 3 4
5 6 -7 8
4 3 2 -1
8 7 6 -5

Диагональные матрицы

Диагональная матрица имеет значения на диагональных элементах и ноль на остальных:

С =   
2 0 0
0 5 0
0 0 3

Скалярные матрицы

Скалярная матрица имеет равные элементы по диагонали и ноль на остальных:

С =   
3 0 0 0
0 3 0 0
0 0 3 0
0 0 0 3

Матрица идентичности

Матрица идентичности имеет 1 по диагонали и 0 по остальным.

Это матричный эквивалент 1. Символ I .

я =   
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

Если умножить любую матрицу на единичную матрицу, результат будет равен оригиналу.


Нулевая матрица

Нулевая матрица (нулевая матрица) содержит только нули.

С =   
0 0 0
0 0 0

Равные матрицы

Матрицы равны , если каждый элемент соответствует:

2 5 3
4 7 1
  знак равно  
2 5 3
4 7 1

Отрицательные матрицы

Негатив матрицы легко понять:

  -  
-2 5 3
-4 7 1
  знак равно  
2 -5 -3
4 -7 -1

Линейная алгебра в JavaScript

В линейной алгебре самым простым математическим объектом является скаляр :

const scalar = 1;

Другой простой математический объект — это Array :

const array = [ 1, 2, 3 ];

Матрицы представляют собой двумерные массивы :

const matrix = [ [1,2],[3,4],[5,6] ];

Векторы можно записать в виде матриц только с одним столбцом:

const vector = [ [1],[2],[3] ];

Векторы также могут быть записаны как массивы :

const vector = [ 1, 2, 3 ];

Матричные операции JavaScript

Программирование матричных операций в JavaScript может легко превратиться в спагетти из циклов.

Использование библиотеки JavScript избавит вас от головной боли.

Одна из наиболее распространенных библиотек для матричных операций называется math.js.

Его можно добавить на вашу веб-страницу с помощью одной строки кода:

Использование math.js

<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjs/9.3.2/math.js"></script>

Добавление матриц

Если две матрицы имеют одинаковую размерность, мы можем их сложить:

2 5 3
4 7 1
 + 
4 7 1
2 5 3
 знак равно 
6 12 4
6 12 4

Пример

const mA = math.matrix([[1, 2], [3, 4], [5, 6]]);
const mB = math.matrix([[1,-1], [2,-2], [3,-3]]);

// Matrix Addition
const matrixAdd = math.add(mA, mB);

// Result [ [2, 1], [5, 2], [8, 3] ]


Вычитание матриц

Если две матрицы имеют одинаковую размерность, мы можем их вычесть:

2 5 3
4 7 1
 - 
4 7 1
2 5 3
 знак равно 
-2 -2 2
2 2 -2

Пример

const mA = math.matrix([[1, 2], [3, 4], [5, 6]]);
const mB = math.matrix([[1,-1], [2,-2], [3,-3]]);

// Matrix Subtraction
const matrixSub = math.subtract(mA, mB);

// Result [ [0, 3], [1, 6], [2, 9] ]

Чтобы сложить или вычесть матрицы, они должны иметь одинаковую размерность.


Скалярное умножение

В то время как числа в строках и столбцах называются матрицами , отдельные числа называются скалярами .

Матрицу легко умножить на скаляр. Просто умножьте каждое число в матрице на скаляр:

2 5 3
4 7 1
   х 2 =   
4 10 6
8 14 2

Пример

const mA = math.matrix([[1, 2], [3, 4], [5, 6]]);

// Matrix Multiplication
const matrixMult = math.multiply(2, mA);

// Result [ [2, 4], [6, 8], [10, 12] ]

Пример

const mA = math.matrix([[0, 2], [4, 6], [8, 10]]);

// Matrix Division
const matrixDiv = math.divide(mA, 2);

// Result [ [0, 1], [2, 3], [4, 5] ]


Транспонировать матрицу

Транспонировать матрицу означает заменить строки столбцами.

Когда вы меняете местами строки и столбцы, вы вращаете матрицу по диагонали.

А =   
1 2
3 4
    А Т =  
1 3
2 4

Умножение матриц

Умножение матриц сложнее.

Мы можем перемножать две матрицы только в том случае, если количество строк в матрице A совпадает с количеством столбцов в матрице B.

Затем нам нужно скомпилировать «точечный продукт»:

Нам нужно умножить числа в каждой строке A на числа в каждом столбце B , а затем добавить продукты:

Пример

const mA = math.matrix([[1, 2, 3]]);
const mB = math.matrix([[1, 2, 3], [1, 2, 3], [1, 2, 3]]);

// Matrix Multiplication
const matrixMult = math.multiply(mA, mB);

// Result [ [6, 12, 18] ]

Объяснение:

А Б С С
1
2
3
 Икс 
1 1 1
2 2 2
3 3 3
 знак равно 
1х1 + 2х1 + 3х1
1х2 + 2х2 + 3х2
1х3 + 2х3 + 3х3
 знак равно 
6
12
18

Если вы знаете, как перемножать матрицы, вы сможете решить множество сложных уравнений.

Пример

Вы продаете розы.

  • Красные розы по 3 доллара за штуку.
  • Белые розы по 4 доллара за штуку.
  • Желтые розы по 2 доллара за штуку.
  • В понедельник вы продали 260 роз
  • Во вторник ты продал 200 роз
  • В среду вы продали 120 роз

Какова была стоимость всех продаж?

Красная роза$3 белый4 доллара Желтый2 доллара
пн1208060
Вт907040
Мы б604020
А Б С С
$3
4 доллара
2 доллара
 Икс 
120 80 60
90 70 40
60 40 20
 знак равно 
800 долларов
630 долларов США
380 долларов США
 знак равно 
1810 долларов США

Пример

const mA = math.matrix([[3, 4, 2]]);
const mB = math.matrix([[120, 90, 60], [80, 70, 40], [60, 40, 20]);

// Matrix Multiplication
const matrixMult = math.multiply(mA, mB);

// Result [ [800, 630, 380] ]

Объяснение:

А Б С С
$3
4 доллара
2 доллара
 Икс 
120 80 60
90 70 40
60 40 20
 знак равно 
3x120 долларов + 4x80 долларов + 2x60 долларов
3x90$ + 4x70$ + 2x40$
3x60 долларов + 4x40 долларов + 2x20 долларов
 знак равно 
800 долларов
630 долларов США
380 долларов США

Матричная факторизация

С ИИ вам нужно знать, как разложить матрицу на множители.

Матричная факторизация — ключевой инструмент в линейной алгебре, особенно в методе линейных наименьших квадратов.