1. Навіщо машинному навчанню математика
Машинне навчання (ML) — це побудова алгоритмів, які знаходять закономірності в даних і використовують їх для прогнозів. За фасадом зручних бібліотек на кшталт scikit-learn чи PyTorch стоїть цілком конкретна математика: дані представляються числовими структурами, моделі навчаються шляхом мінімізації помилки, а невизначеність описується мовою ймовірності.
Розуміти цю математику потрібно не для того, щоб «переписати» бібліотеки заново, а щоб читати помилки навчання, підбирати гіперпараметри, інтерпретувати результати моделі та адаптувати алгоритми під нову задачу. Нижче — чотири розділи математики, які формують основу ML, і те, за що саме кожен з них відповідає.
2. Лінійна алгебра: мова, якою «розмовляють» дані
У машинному навчанні майже все представлено як вектори й матриці:
- Вектор ознак — один приклад даних (наприклад, площа, кількість кімнат і рік будівництва квартири) записується як вектор чисел.
- Матриця даних — увесь навчальний набір — це матриця, де кожен рядок є одним прикладом, а кожен стовпець — однією ознакою.
- Ваги моделі — параметри лінійної регресії чи шару нейромережі теж зберігаються як вектор або матриця.
Множення матриці на вектор — це базова операція, що виконується мільярди разів під час навчання й інференсу нейромереж. А власні вектори та власні значення (eigenvectors, eigenvalues) лежать в основі методу зменшення розмірності PCA (метод головних компонент), який знаходить напрямки найбільшої мінливості в даних.
Практичний висновок: якщо ви розумієте, що таке множення матриць, транспонування та власні вектори, вам буде значно легше читати архітектури нейромереж і документацію бібліотек ML.
3. Числення: як модель «вчиться» на своїх помилках
Навчання моделі — це процес поступового покращення параметрів так, щоб зменшити помилку на навчальних даних. Щоб знати, в який бік і наскільки сильно змінювати кожен параметр, потрібна похідна функції втрат за цим параметром — тобто те, як сильно змінюється помилка при малій зміні параметра.
Для моделі з багатьма параметрами замість однієї похідної обчислюють градієнт — вектор усіх часткових похідних, який вказує напрямок найшвидшого зростання функції. Рухаючись у протилежному напрямку, ми зменшуємо помилку. Це і є суть градієнтного спуску:
Формула читається так: новий набір параметрів дорівнює старому мінус градієнт втрат, помножений на невеликий крок α. Якщо α замала — навчання йде надто повільно; якщо завелика — модель може «перестрибувати» мінімум і не сходитися.
4. Ймовірність і статистика: робота з невизначеністю
Реальні дані завжди містять шум і невизначеність, тому ML активно використовує ймовірнісний апарат:
- Розподіли ймовірностей описують, наскільки правдоподібні різні значення ознаки чи прогнозу (наприклад, нормальний розподіл для помилок вимірювання).
- Теорема Байєса дозволяє оновлювати оцінку ймовірності гіпотези з появою нових даних — на ній побудований наївний байєсівський класифікатор (Naive Bayes) і ширший напрям байєсівського машинного навчання.
- Описова статистика — середнє, дисперсія, стандартне відхилення, кореляція — використовується на етапі підготовки даних: нормалізація ознак, виявлення викидів, оцінка залежності між змінними.
Для перевірки лінійної залежності між двома ознаками зручно скористатися калькулятором коефіцієнта кореляції — він показує, наскільки сильно й в якому напрямку пов'язані дві змінні, що часто є першим кроком аналізу даних перед побудовою моделі.
5. Оптимізація: пошук найкращих параметрів
Навчання практично будь-якої ML-моделі можна сформулювати як задачу оптимізації: знайти такі параметри моделі, за яких функція втрат (міра помилки) набуває мінімального значення. Базовий метод — уже згаданий градієнтний спуск, але на практиці використовують його варіанти:
- Стохастичний градієнтний спуск (SGD) — градієнт обчислюється не на всьому наборі даних, а на невеликій випадковій підвибірці (батчі), що значно прискорює кожен крок навчання на великих датасетах.
- Adam та подібні адаптивні методи — автоматично підлаштовують швидкість навчання для кожного параметра окремо, спираючись на історію попередніх градієнтів, що часто пришвидшує та стабілізує збіжність.
Ці методи не змінюють суть підходу — рух у бік зменшення помилки, — а лише роблять його ефективнішим і стабільнішим на великих і складних моделях.
6. Міні-приклад: лінійна регресія на пальцях
Розглянемо просту модель прямої y = m·x + b, яка передбачає значення y за значенням x. Наскільки добре пряма описує дані, вимірюють сумою квадратів відхилень:
Це і є функція втрат для лінійної регресії. Градієнтний спуск обчислює, як L змінюється при малих змінах m і b (тобто ∂L/∂m та ∂L/∂b), і зсуває m та b у напрямку, що зменшує L. Кожна ітерація трохи «підкручує» нахил і зсув прямої, доки сума квадратів відхилень не перестане суттєво зменшуватися.
Наприклад, якщо для трьох точок (1, 2), (2, 3), (3, 5) взяти стартові значення m = 0, b = 0, початкова помилка буде великою — пряма y = 0 не описує жодної точки. Після кількох ітерацій градієнтного спуску m і b поступово наближаються до значень, за яких пряма проходить близько до всіх трьох точок (приблизно m ≈ 1,5, b ≈ 0,17), а сума квадратів відхилень стає значно меншою. Детальніше про побудову лінії регресії та формули коефіцієнтів можна прочитати в шпаргалці з регресійного аналізу.
7. Скільки математики насправді потрібно
Тут важливо бути чесним: щоб почати користуватися інструментами ML — навчити класифікатор у scikit-learn чи fine-tune готову нейромережу — глибока математична підготовка не обов'язкова. Бібліотеки беруть на себе обчислення градієнтів, множення матриць і оптимізацію.
Але математика стає критично важливою, коли потрібно:
- зрозуміти, чому модель не навчається або «розходиться» (diverges) під час тренування;
- підібрати правильну швидкість навчання, розмір батчу чи регуляризацію;
- читати наукові статті та реалізовувати нові архітектури чи алгоритми;
- оцінити статистичну значущість результатів і уникнути хибних висновків через шум у даних.
Практична порада: починайте з базового рівня — векторів, похідних, ймовірності — і поглиблюйте знання разом із задачами, які реально виникають у вашій роботі. Це ефективніше, ніж намагатися «вивчити всю математику» наперед.
Про цю статтю
Ця стаття є частиною бази знань calculator.party — освітнього ресурсу, що поєднує теорію з практичними інструментами. Матеріал орієнтований на студентів, початківців у машинному навчанні та фахівців, що прагнуть систематизувати математичну базу ML. Тут зібрані ключові концепції, формули та реальні приклади застосування.
Статистика й аналіз даних лежать в основі прийняття обґрунтованих рішень — від наукових досліджень до бізнес-аналітики та машинного навчання.
Навіщо читати цю статтю
Після прочитання ви зможете впевнено пояснити роль лінійної алгебри, числення, ймовірності та оптимізації в машинному навчанні, розуміти суть градієнтного спуску та усвідомлено оцінювати, яку глибину математичних знань потрібно розвивати для власних цілей у ML.