🎓 Типи машинного навчання
Навчання з вчителем (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, інтеграція в додатки, автоматизація).
Моніторинг: Відстеження продуктивності моделі в реальних умовах, виявлення дрифту даних, регулярне переобучення.
📈 Метрики оцінки
Метрики для класифікації
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