Матриця - і це не про фільм
Кафедра ШІзики
Автор
20 хвилин
Час читання
24.07.2025
Дата публікації
Лекція 2: Матриці – Організатори даних у світі ШІ 📊
Пам’ятаєте з минулої лекції наш вектор кота [4.5, 46, 0.9, 0.2]? А що, якщо у нас не один кіт, а ціла зграя? Або не просто фото, а відео з тисячами кадрів? Або не одна характеристика, а складна мережа зв’язків між нейронами?
Тут на сцену виходять матриці – потужний інструмент для організації та обробки величезних обсягів структурованих даних. Якщо вектори – це списки чисел, то матриці – це таблиці чисел, які можуть одночасно зберігати та обробляти багато векторів.
Що таке матриця? 🧩
Формальне визначення
Матриця – це прямокутна таблиця чисел (які називаються елементами), організованих у m рядків та n стовпців. Матрицю розміру m×n часто позначають великою літерою, наприклад A:
Де – елемент матриці в i-му рядку та j-му стовпці.
Зв’язок з векторами 🔗
Матриця – це фактично колекція векторів! Її можна розглядати як:
- Набір векторів-рядків: кожен рядок – це окремий вектор
- Набір векторів-стовпців: кожен стовпець – це окремий вектор
Наприклад, матриця 3×4 містить:
- 3 вектори-рядки розмірності 4
- 4 вектори-стовпці розмірності 3
Позначення та термінологія 📝
Основні позначення:
- Розмір матриці: m×n (m рядків, n стовпців)
- Елемент матриці: або – елемент в i-му рядку, j-му стовпці
- i-й рядок: =
- j-й стовпець: =
Важливі терміни:
- Головна діагональ: елементи (де k = min(m,n))
- Слід матриці (trace): сума елементів головної діагоналі (для квадратних матриць)
- Порядок матриці: для квадратної матриці n×n, порядок = n
Приклад 1: База даних котів 🐱
Уявіть, що ви власник притулку для тварин і ведете базу даних своїх котів:
База даних котів:
Тут кожен рядок – це один кіт, а кожен стовпець – це характеристика:
- Стовпець 1: Маса (кг)
- Стовпець 2: Довжина (см)
- Стовпець 3: Пухнастість (0-1)
- Стовпець 4: Небезпечність (0-1)
Розмір матриці: 4 × 4 (4 рядки, 4 стовпці) Елемент a₂₃ = 0.7 – це пухнастість другого кота
Приклад 2: Чорно-біле зображення 📷
Кожне цифрове зображення – це фактично матриця! Розглянемо крихітне зображення 5×5 пікселів, де 0 = чорний, 1 = білий:
Матриця зображення:
Це зображення хреста! Кожен елемент матриці представляє яскравість одного пікселя.
Основні операції з матрицями
Додавання та віднімання матриць ➕➖
Можна додавати/віднімати тільки матриці однакового розміру. Операція виконується поелементно.
Приклад: Зміна настрою котів після обіду 😸
До обіду:
Поліпшення після обіду:
Настрій після обіду:
Всі коти стали щасливішими! 🎉
Множення матриці на число (скаляр) ✖️
Так само, як і з векторами – множимо кожен елемент на це число.
Приклад: Подвоєння порцій корму 🍽️
Якщо ветеринар рекомендує подвоїти порції:
Кожен кіт отримає вдвічі більше корму!
Матричне множення – найважливіша операція! 🔥
Це найскладніша, але найпотужніша операція в лінійній алгебрі. Вона лежить в основі всіх обчислень у нейронних мережах!
Коли можна множити матриці?
Матрицю A розміром m×k можна помножити на матрицю B розміром k×n тільки якщо:
- Кількість стовпців A = Кількість рядків B (тобто внутрішні розміри співпадають)
- Результат буде матриця C розміром m×n (зовнішні розміри)
Як обчислюється множення?
Правило: Елемент результату обчислюється як скалярний добуток i-го рядка матриці A на j-й стовпець матриці B:
Чому це важливо для ШІ?
Матричне множення дозволяє:
- Трансформувати дані: перетворювати вектори ознак у нові простори
- Комбінувати інформацію: об’єднувати множину входів в один вихід
- Паралелізувати обчислення: обробляти багато даних одночасно на GPU
Приклад: Розрахунок калорій для котів 🥩
Матриця A – скільки їжі з’їдає кожен кіт (грами):
(Рядки: коти, Стовпці: м’ясо, риба)
Матриця B – калорійність продуктів (кал/грам):
(Рядки: м’ясо, риба)
Результат C – загальні калорії для кожного кота:
Обчислення:
- Кіт 1: калорій
- Кіт 2: калорії
- Кіт 3: калорії
Транспонування матриці 🔄
Транспонування – це “перевертання” матриці: рядки стають стовпцями, а стовпці – рядками. Позначається як .
Приклад: Перегляд даних з різних ракурсів 📈
Якщо у нас є дані про продажі корму за тиждень (понеділок, вівторок, середа):
Матриця продажів:
(Рядки: дні тижня, Стовпці: магазини A, B, C)
Що ми бачимо з цієї матриці:
- Понеділок: Магазин B продав найбільше (200), магазин C – найменше (100)
- Вівторок: Знову лідирує магазин B (220)
- Середа: Магазин B встановив рекорд тижня (250)!
Після транспонування:
(Рядки: магазини A, B, C, Стовпці: дні тижня)
Тепер аналіз простіший:
- Магазин A: Продажі стабільні (150→180→160), всього = 490
- Магазин B: Продажі зростають! (200→220→250), всього = 670 🏆
- Магазин C: Найслабші продажі (100→120→90), всього = 310
Висновок: Магазин B – явний лідер з продажів, варто вивчити їхні методи!
Властивості матричних операцій 🔧
Матричні операції мають важливі властивості, які використовуються в ШІ:
Властивості множення:
- НЕ комутативне: (в загальному випадку)
- Асоціативне:
- Дистрибутивне:
Властивості транспонування:
- (подвійне транспонування повертає оригінал)
- (зверніть увагу на зміну порядку!)
- (де c – скаляр)
Спеціальні типи матриць 🎯
Квадратна матриця
Матриця, де кількість рядків = кількість стовпців (n×n). Тільки квадратні матриці можуть мати:
- Визначник
- Обернену матрицю
- Власні значення та власні вектори
Діагональна матриця
Усі елементи поза головною діагоналлю дорівнюють нулю:
Чому важлива: Множення на діагональну матрицю – це масштабування кожної координати окремо. В ШІ використовується для нормалізації даних.
Одинична матриця (I)
Діагональна матриця з одиницями на діагоналі – “нейтральний елемент” для множення:
Для будь-якої матриці A:
Чому важлива: Грає роль “1” для матриць. Використовується при ініціалізації нейронних мереж.
Симетрична матриця
Матриця, що дорівнює своїй транспонованій ():
Чому важлива: Кореляційні та коваріаційні матриці завжди симетричні. Мають гарантовано дійсні власні значення.
Ортогональна матриця
Матриця, для якої (транспонована = обернена):
Властивості:
- Зберігає довжини векторів
- Зберігає кути між векторами
- Представляє поворот або відзеркалення
Чому важлива: Використовується в PCA (Principal Component Analysis) та для поворотів зображень.
Визначник (детермінант) – “магічне число” матриці 🔮
Визначник – це спеціальне число, яке можна обчислити для квадратної матриці. Воно говорить нам про важливі властивості матриці.
Геометричний сенс визначника 📐
Визначник показує, як матриця змінює площі/об’єми:
- |det| > 1: матриця збільшує площі
- |det| < 1: матриця зменшує площі
- det = 0: матриця “сплющує” простір (втрата розмірності)
- det < 0: матриця змінює орієнтацію (дзеркальне відображення)
Для матриці 2×2:
Приклад: Площа паралелограма 📐
Два вектори утворюють паралелограм. Його площа = |визначник|:
Матриця векторів:
Площа паралелограма = 10 квадратних одиниць!
Для матриці 3×3:
Приклад: Система рівнянь має розв’язок? 🤔
Уявіть, що вам потрібно знайти ціни на три види корму для котів (x, y, z), знаючи вартість різних комбінацій:
Система рівнянь:
- 2 пачки корму A + 1 пачка корму B = 100 грн
- 1 пачка корму A зі знижкою (-1×A) + 3 пачки корму B + 4 пачки корму C = 250 грн
- 5 пачок корму B - 2 пачки корму C = 150 грн
Математично це записується як:
У матричній формі: Ax = b
Перевірка через визначник:
Оскільки ≠ :
- ✅ Система має єдиний розв’язок
- ✅ Можна знайти точні ціни кожного корму
- ✅ Матриця A має обернену матрицю
Якби визначник = 0:
- ❌ Система могла б не мати розв’язку (суперечливі умови)
- ❌ Або мати безліч розв’язків (недостатньо інформації)
Практичні поради та типові помилки 💡
Поради для роботи з матрицями:
- Завжди перевіряйте розміри: Перед множенням матриць переконайтеся, що внутрішні розміри співпадають
- Використовуйте бібліотеки: Не винаходьте велосипед, скористайтесь перевіреними інструментами
- Думайте про ефективність: Порядок множення матриць впливає на швидкість: може бути набагато швидшим за
Типові помилки новачків:
- ❌ Плутати рядки та стовпці при індексації
- ❌ Забувати про некомутативність множення
- ❌ Ігнорувати числову стабільність (дуже малі/великі числа)
- ❌ Не використовувати векторизовані операції (цикли замість матричних операцій)
Підсумок 🎯
Матриці – це фундамент сучасного ШІ:
- ✅ Універсальна структура даних для організації інформації
- ✅ Потужні математичні операції для трансформації даних
- ✅ Ефективна реалізація на сучасному обладнанні
- ✅ Інтуїтивна геометрична інтерпретація для розуміння
Ключові концепції для запам’ятовування:
- Матриця = таблиця чисел = колекція векторів
- Множення матриць = композиція трансформацій
- Визначник = міра зміни площ/об’ємів
- Спеціальні матриці мають спеціальні властивості