Таблица оценок
У вас есть три студента. Каждый сдал четыре экзамена. Оценки такие:
Аня: 90, 85, 78, 92
Борис: 76, 88, 95, 70
Света: 83, 79, 88, 91
Задача: как компактно записать эти данные одним математическим объектом? Сколько строк и столбцов понадобится?
В блоке про векторы мы работали со стрелками в пространстве. Но как только задач становится больше одной — хочется удобно организовать данные. Вектор — это один столбец чисел. Матрица — это сразу много столбцов, собранных вместе.
Собственно, вектор — это частный случай матрицы: матрица из одного столбца. Матрица — это прямоугольная таблица чисел, упорядоченных по строкам и столбцам. Вот матрица размером 3×4 из задачи выше:
Синим выделена первая строка — данные Ани. Зелёным — второй столбец — оценки всех студентов за второй экзамен. Конкретный элемент на пересечении строки i и столбца j обозначают aᵢⱼ. Например, a₂₃ = 95 — оценка Бориса (строка 2) за третий экзамен (столбец 3).
Размер матрицы всегда пишут через «×»: сначала строки, потом столбцы. Матрица 3×4 — три строки и четыре столбца. Порядок важен: 3×4 и 4×3 — разные матрицы. Несколько особых матриц встречаются в задачах постоянно — их стоит знать по именам.
Квадратная матрица — число строк равно числу столбцов (n×n). С такими матрицами можно делать больше операций, чем с прямоугольными: например, вычислять определитель и обратную матрицу.
Нулевая матрица — все элементы равны нулю. Это аналог нуля для матриц: прибавить к любой матрице нулевую — ничего не изменится.
Единичная матрица — квадратная матрица, у которой на главной диагонали стоят единицы, остальное — нули. Обозначается I или Iₙ:
I₃ = [[1, 0, 0],
[0, 1, 0],
[0, 0, 1]]
Это аналог единицы: умножить любую матрицу на единичную — ничего не изменится. Главная диагональ — это элементы a₁₁, a₂₂, a₃₃, ... — те, у которых номер строки равен номеру столбца.
Матрица и вектор — не разные объекты, а один и тот же. Вектор-столбец (x, y, z) — это матрица размером 3×1. Вектор-строка — матрица 1×3. Именно поэтому все операции с матрицами будут работать и для векторов.
Удобство матрицы в адресации: чтобы добраться до нужного числа, достаточно указать строку и столбец. Вот как читают матрицу оценок:
A = [[90, 85, 78, 92],
[76, 88, 95, 70],
[83, 79, 88, 91]]
a₁₁ = 90 — Аня, первый экзамен
a₂₃ = 95 — Борис, третий экзамен
a₃₄ = 91 — Света, четвёртый экзамен
Строка 1: (90, 85, 78, 92) — все оценки Ани (вектор признаков)
Столбец 2: (85, 88, 79) — второй экзамен у всех студентов
Строки — объекты (студенты), столбцы — признаки (экзамены). Именно так устроены датасеты в машинном обучении: каждая строка — один объект, каждый столбец — одно измерение. Матрица появляется везде, где есть структурированные данные. В машинном обучении весь датасет — это матрица: строки — объекты, столбцы — признаки. 1000 квартир с 10 характеристиками — матрица 1000×10.
В компьютерной графике матрица 4×4 хранит трёхмерное преобразование: поворот, масштабирование, перенос. Каждый кадр в игре — тысячи умножений на такие матрицы.
В нейронных сетях веса каждого слоя — это матрица. Проход сигнала через слой — умножение матрицы весов на вектор входов. В следующем уроке разберём, как именно это умножение устроено — и почему оно такое мощное.
Матрица m×n — таблица чисел с m строками и n столбцами. Элемент строки i и столбца j: aᵢⱼ.
Квадратная матрица — число строк равно числу столбцов. Нулевая — все нули. Единичная — единицы на диагонали, нули везде ещё.
Вектор — частный случай матрицы: n×1 (столбец) или 1×n (строка).
Транспонирование Aᵀ — строки и столбцы меняются местами.