1. Линейная алгебра: от векторов и матриц до тензорных операций и собственных чисел
Линейная алгебра: от векторов и матриц до тензорных операций и собственных чисел
Добро пожаловать в курс «Математика для Data Science и AI: Глубокое погружение». Мы начинаем наше путешествие с фундамента, на котором держится практически всё современное машинное обучение — с линейной алгебры.
Многие новички пугаются этого термина, представляя бесконечные доски с формулами. Но в контексте Data Science линейная алгебра — это прежде всего способ организации и обработки данных. Нейронные сети, рекомендательные системы, обработка естественного языка — всё это, по сути, операции над большими таблицами чисел. Давайте разберемся, как это работает, двигаясь от простого к сложному.
1. Скаляры и Векторы: Атомы данных
В мире данных всё начинается с единичного значения.
Скаляр
Скаляр — это просто одно число. В программировании это переменная типаint или float. В физике это величина, имеющая только значение, но не направление (например, температура или масса).Вектор
Вектор — это упорядоченный список чисел. Если скаляр — это точка, то вектор — это стрелка в пространстве, указывающая направление и имеющая длину.В Data Science вектор обычно представляет собой один объект данных. Например, если мы описываем квартиру, вектором может быть набор: [площадь, количество комнат, этаж].
Математически вектор-столбец записывается так:
Где:
!Графическое представление вектора на плоскости, показывающее его направление и компоненты.
Операции с векторами
Две самые важные операции, которые создают всё богатство линейной алгебры:
Где:
2. Матрицы: Таблицы данных
Если вектор — это список чисел, то матрица — это двумерная сетка чисел, состоящая из строк и столбцов. В Data Science матрица чаще всего представляет собой целый набор данных (датасет), где строки — это объекты (например, разные квартиры), а столбцы — признаки (площадь, цена, район).
Матрица размером выглядит так:
Где:
Матричное умножение
Это «сердце» нейронных сетей. Умножение матриц — это не просто перемножение чисел на одинаковых позициях. Это операция, сочетающая строки первой матрицы со столбцами второй.
Чтобы умножить матрицу (размером ) на матрицу (размером ), количество столбцов в должно совпадать с количеством строк в . Результатом будет новая матрица размером .
Формула для одного элемента результирующей матрицы:
Где:
!Визуализация процесса умножения матриц «строка на столбец».
> «Матричное умножение — это способ передачи информации от одного слоя нейросети к другому».
3. Тензоры: Обобщение понятий
В глубоком обучении (Deep Learning) мы часто используем библиотеки TensorFlow или PyTorch. Название «TensorFlow» намекает на то, что мы работаем с тензорами.
Тензор — это обобщение скаляров, векторов и матриц на произвольное количество измерений.
* Тензор ранга 0: Скаляр (просто число). * Тензор ранга 1: Вектор (массив 1D). * Тензор ранга 2: Матрица (таблица 2D). * Тензор ранга 3: Куб чисел (например, цветное изображение: высота ширина 3 цветовых канала RGB). * Тензор ранга 4: Пакет (batch) изображений (количество картинок высота ширина каналы).
Тензорные операции позволяют нам обрабатывать огромные объемы данных параллельно, что критически важно для обучения AI.
4. Важные операции линейной алгебры
Транспонирование
Транспонирование — это «поворот» матрицы вокруг её главной диагонали. Строки становятся столбцами, а столбцы — строками.
Обозначается как . Если имеет размер , то будет иметь размер .
Где:
Скалярное произведение (Dot Product)
Это операция, которая принимает два вектора одинаковой длины и возвращает одно число (скаляр). Она показывает, насколько два вектора «смотрят» в одну сторону.
Где:
В нейросетях это используется для вычисления взвешенной суммы входов нейрона.
5. Собственные числа и собственные векторы
Это одна из самых сложных для понимания, но мощных концепций. Представьте, что матрица — это оператор, который трансформирует пространство (вращает его, растягивает, сдвигает).
Когда мы применяем матрицу к вектору, вектор обычно меняет и длину, и направление. Но существуют особенные векторы, которые при умножении на эту матрицу не меняют своего направления, а только растягиваются или сжимаются.
Уравнение выглядит так:
Где:
!Иллюстрация собственного вектора, сохраняющего направление при трансформации.
Зачем это нужно?
В Data Science это используется для снижения размерности (метод главных компонент — PCA). Представьте, у вас есть данные с 1000 признаками. С помощью собственных векторов можно найти самые «важные» направления, вдоль которых данные меняются сильнее всего, и отбросить шум, оставив, например, только 10 главных признаков без существенной потери информации.
Заключение
Мы рассмотрели базовые кирпичики: скаляры, векторы, матрицы и тензоры. Мы узнали, что матричное умножение связывает слои нейросетей, а собственные векторы помогают выделять главное в данных.
В следующей статье мы перейдем к математическому анализу и узнаем, как именно машины «обучаются», используя производные и градиенты.