Головна▸Статті▸Data Science

Основи машинного навчання

Вступ до ML та алгоритмів

mysimulator teamОновлено — липень 2026≈ 5 хв читання▶ Відкрити симуляцію

🎓 Типи машинного навчання

Навчання з вчителем (Supervised Learning)

Модель навчається на помічених даних, де відомі правильні відповіді:

Класифікація: Передбачення категоричних значень (наприклад, спам/не спам, рак/без раку). Алгоритми: логістична регресія, дерева рішень, SVM, нейронні мережі.

Регресія: Передбачення неперервних значень (наприклад, ціна будинку, температура). Алгоритми: лінійна регресія, поліноміальна регресія, регресія опорних векторів.

Приклад: Навчання моделі розпізнавання кішок: модель отримує тисячі зображень кішок з міткою "кішка" та інших тварин з міткою "не кішка", навчається розпізнавати патерни.

Навчання без вчителя (Unsupervised Learning)

Модель знаходить патерни в даних без міток:

Кластеризація: Групування подібних об'єктів (k-means, DBSCAN, ієрархічна кластеризація). Використовується для сегментації клієнтів, виявлення аномалій.

Зниження розмірності: Скорочення кількості ознак (PCA, t-SNE). Використовується для візуалізації та видалення шуму.

Асоціаційні правила: Знаходження зв'язків між об'єктами (market basket analysis). Використовується для рекомендаційних систем.

Навчання з підкріпленням (Reinforcement Learning)

Агент навчається через взаємодію з середовищем, отримуючи нагороди:

Концепція: Агент виконує дії в середовищі, отримує нагороди або штрафи, навчається максимізувати сумарну нагороду.

Застосування: Навчання ігор (AlphaGo, шахові рушії), робототехніка, автоматизоване торгування, рекомендації.

Алгоритми: Q-learning, Deep Q-Networks (DQN), Policy Gradient, Actor-Critic. Відрізняються підходом до навчання.

🔧 Популярні алгоритми ML

Лінійна регресія

Найпростіший алгоритм для передбачення неперервних значень:

Концепція: Знаходить лінійну залежність між ознаками (features) та цільовою змінною (target). y = mx + b.

Множинна регресія: Коли є кілька ознак: y = b₀ + b₁x₁ + b₂x₂ + ... + bₙxₙ.

Переваги: Простота, інтерпретативність, швидкість. Добре працює для лінійних зв'язків.

Недоліки: Припускає лінійність, чутливий до викидів (outliers), не працює для складних патернів.

Логістична регресія

Використовується для бінарної класифікації:

Концепція: Передбачає ймовірність належності до класу (0 або 1). Використовує сигмоїдну функцію для обмеження виходу між 0 та 1.

Застосування: Медична діагностика (хвороба/здоров'я), фінанси (дефолт/безпека), маркетинг (покупка/відмова).

Переваги: Інтерпретативність (можна зрозуміти вплив кожної ознаки), швидкість, не потребує багато даних.

Дерева рішень

Інтуїтивний алгоритм, що створює правила на основі даних:

Концепція: Розбиває дані на підмножини на основі значень ознак, створюючи дерево "якщо-то".

Приклад: "Якщо вік > 30 і зарплата > 50000, то кредит затверджено". Легко інтерпретувати.

Переваги: Легка інтерпретація, працює з категоріальними та числовими даними, не потребує нормалізації.

Недоліки: Схильні до переобучення, нестабільні (малі зміни даних можуть змінити дерево).

Випадкові ліси (Random Forest)

Ансамбль дерев рішень для покращення точності:

Концепція: Створює багато дерев на різних підмножинах даних, комбінує їх прогнози. Зменшує переобучення.

Переваги: Вища точність за дерева рішень, менше переобучення, може визначати важливість ознак.

Застосування: Широко використовується в індустрії для класифікації та регресії через надійність.

Нейронні мережі

Потужні моделі, натхненні біологічними нейронами:

Архітектура: Складається з шарів нейронів: вхідний шар, приховані шари, вихідний шар.

Навчання: Backpropagation — алгоритм зворотного поширення помилки для оновлення ваг.

Глибоке навчання: Нейронні мережі з багатьма прихованими шарами. Потужні для складних задач (зображення, текст, мова).

Переваги: Можуть навчатися складних нелінійних патернів, універсальність, висока точність для великих даних.

Недоліки: Чорний ящик (важко інтерпретувати), потребує багато даних та обчислювальних ресурсів, довше навчання.

📊 Процес роботи з ML

1. Збір та підготовка даних

Основа успішного ML проєкту:

Збір даних: API, бази даних, файли, веб-скрапінг. Важлива якість та релевантність.

Очищення: Видалення дублікатів, обробка пропусків (missing values), видалення викидів, виправлення помилок.

Трансформація: Нормалізація, стандартизація, кодування категоріальних змінних (one-hot encoding, label encoding).

Feature engineering: Створення нових ознак з існуючих (наприклад, день тижня з дати, вік з дати народження).

2. Розділення даних

Критично важливий крок для оцінки моделі:

Train set (60-80%): Дані для навчання моделі. Модель навчається на цих даних.

Validation set (10-20%): Дані для налаштування гіперпараметрів та вибору моделі. Не використовується для навчання.

Test set (10-20%): Дані для фінальної оцінки. Використовується тільки один раз після вибору моделі.

Stratified split: Для незбалансованих даних важливо зберігати розподіл класів у кожному наборі.

3. Вибір та навчання моделі

Вибір залежить від задачі та даних:

Вибір алгоритму: Залежить від типу задачі (класифікація/регресія), розміру даних, потреб в інтерпретативності.

Налаштування гіперпараметрів: Grid search, random search, Bayesian optimization для пошуку оптимальних параметрів.

Навчання: Модель навчається на train set, оптимізує ваги/параметри для мінімізації помилки.

Крос-валідація: k-fold cross-validation для надійнішої оцінки продуктивності моделі.

4. Оцінка та впровадження

Перевірка якості перед впровадженням:

Метрики: Вибір відповідних метрик для оцінки (accuracy, precision, recall, F1 для класифікації; MSE, MAE, R² для регресії).

Тестування: Оцінка на test set для перевірки узагальнюючої здатності. Потрібна низька різниця між train та test помилками.

Впровадження: Деплой моделі у продакшн середовище (API, інтеграція в додатки, автоматизація).

Моніторинг: Відстеження продуктивності моделі в реальних умовах, виявлення дрифту даних, регулярне переобучення.

жива демонстрація · пов'язана симуляція● LIVE

📈 Метрики оцінки

Метрики для класифікації

Accuracy (Точність): Частка правильних передбачень. Може бути оманливою для незбалансованих даних.

Precision (Прецизійність): Частка правильних позитивних передбачень серед усіх позитивних. Важливо, коли помилка типу I дорога.

Recall (Відгук): Частка знайдених позитивних випадків. Важливо, коли помилка типу II дорога.

F1-score: Гармонічне середнє precision та recall. Балансує обидві метрики.

ROC-AUC: Площа під кривою ROC. Показує здатність моделі розрізняти класи.

Confusion Matrix: Таблиця, що показує правильні та неправильні передбачення для кожного класу.

Метрики для регресії

MSE (Mean Squared Error): Середнє квадратичне відхилення. Штрафує великі помилки більше.

RMSE (Root Mean Squared Error): Квадратний корінь з MSE. В тій самій одиниці, що й цільова змінна.

MAE (Mean Absolute Error): Середнє абсолютне відхилення. Менш чутливе до викидів, ніж MSE.

R² (Coefficient of Determination): Показує частку дисперсії, пояснену моделлю. Значення від 0 до 1, вище = краще.

MAPE (Mean Absolute Percentage Error): Відсоткова помилка. Корисно для порівняння моделей на різних масштабах.

⚠️ Виклики та рішення

Переобучення (Overfitting)

Модель запам'ятовує навчальні дані замість навчання загальних патернів:

Симптоми: Висока точність на train set, але низька на test set. Модель не узагальнює.

Причини: Складна модель, недостатньо даних, навчання занадто довго.

Рішення: Регуляризація (L1, L2), dropout для нейронних мереж, збільшення даних, спрощення моделі, early stopping.

Недонавчання (Underfitting)

Модель занадто проста, щоб захопити патерни в даних:

Симптоми: Низька точність як на train, так і на test set. Модель не може навчитися.

Причини: Занадто проста модель, недостатньо ознак, недостатньо навчання.

Рішення: Ускладнення моделі, додавання ознак, збільшення часу навчання, зменшення регуляризації.

Незбалансовані дані

Коли один клас значно переважає інший:

Проблема: Модель може досягти високої accuracy, просто передбачаючи завжди більшість клас.

Рішення: SMOTE (синтетичне генерування меншини), undersampling, oversampling, зміна порогу класифікації, використання класових ваг.

📚 Гайд з прикладами

Приклад 1: Класифікація спаму

Задача: Визначити, чи є email спамом.

Кроки:

Збір даних: 10,000 email з мітками "спам"/"не спам"

Обробка тексту: токенізація, видалення стоп-слів, TF-IDF векторизація

Розділення: 70% train, 15% validation, 15% test

Вибір моделі: Логістична регресія або Naive Bayes для початку

Навчання на train set

Оцінка на validation set: Precision = 0.95, Recall = 0.92, F1 = 0.93

Фінальна оцінка на test set

Впровадження у продакшн

Приклад 2: Передбачення ціни будинку

Задача: Передбачити ціну будинку на основі характеристик.

Ознаки: Площа, кількість кімнат, район, вік будинку, тип.

Модель: Лінійна регресія або Random Forest.

Метрики: RMSE = $25,000 (середнє відхилення від реальної ціни), R² = 0.85 (модель пояснює 85% варіації цін).

Приклад 3: Кластеризація клієнтів

Задача: Знайти групи подібних клієнтів для маркетингу.

Метод: K-means кластеризація (unsupervised learning).

Ознаки: Вік, дохід, частота покупок, середня сума покупки.

Результат: 3 кластери: "Преміум клієнти" (високий дохід, часті покупки), "Економні" (низькі витрати), "Середні" (баланс).

Спробуйте наживо

Усе, що вище, працює прямо у вашому браузері — відкрийте Dimensionality Reduction: PCA, t-SNE & UMAP і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.

▶ Відкрити симуляцію Dimensionality Reduction: PCA, t-SNE & UMAP

Що ви знайшли?

Додати кроки відтворення (опційно)