Машинне навчання: від інтуїції до розуміння
Кафедра ШІзики
Автор
35 хвилин
Час читання
11.08.2025
Дата публікації
Що таке Машинне Навчання? 🤖
Уявіть, що замість того, щоб пояснювати комп’ютеру кожен крок для розпізнавання кота на фото, ви просто показуєте йому тисячі фотографій котів і собак, і він сам навчається їх розрізняти. Це і є суть машинного навчання – здатність комп’ютерів навчатися з досвіду без явного програмування кожної деталі.
Навчання через приклади: Як дитина вчиться розпізнавати тварин 🐱🐕
Давайте зрозуміємо машинне навчання через просту аналогію:
Крок 1: Показуємо приклади
Уявіть, як дитина вчиться розрізняти котів і собак:
- Батьки показують: “Це кіт” 🐱
- Потім показують: “Це собака” 🐕
- І так багато разів з різними котами та собаками
Крок 2: Дитина помічає закономірності
Поступово дитина починає помічати:
- Коти зазвичай менші
- У котів гострі вуха
- Собаки гавкають, коти нявкають
- У котів інша форма морди
Крок 3: Формування внутрішньої моделі
В голові дитини формується “модель”:
- Набір ознак, які вказують на кота
- Набір ознак, які вказують на собаку
Крок 4: Застосування знань
Коли дитина бачить нову тварину, вона:
- Порівнює з внутрішньою моделлю
- Робить припущення: “Схоже на кота!”
Це і є машинне навчання! Тільки замість дитини - алгоритм, а замість тварин - дані.
Формальне визначення
Машинне навчання (Machine Learning, ML) – це галузь штучного інтелекту, яка займається створенням систем, що можуть навчатися та покращувати свою продуктивність на основі даних, без необхідності явного програмування для кожної конкретної задачі.
Артур Семюель, який придумав термін у 1959 році, визначив ML як:
“Галузь навчання, яка дає комп’ютерам здатність навчатися без явного програмування”
Чому машинне навчання стало революцією? 🚀
Традиційне програмування vs Машинне навчання
Традиційний підхід:
Правила + Дані → Програма → Результат
Приклад: Щоб визначити спам, програміст пише правила:
- ЯКЩО лист містить “виграш” І “гроші” → СПАМ
- ЯКЩО відправник у чорному списку → СПАМ
- …сотні інших правил
Підхід машинного навчання:
Дані + Очікувані результати → Алгоритм ML → Модель → Прогнози
Приклад: Показуємо алгоритму тисячі листів з мітками “спам”/“не спам”, і він сам виявляє закономірності.
Переваги ML:
- Адаптивність: Моделі можуть оновлюватися з новими даними
- Масштабованість: Одна модель може обробляти мільйони варіантів
- Виявлення прихованих закономірностей: ML знаходить зв’язки, які людина може не помітити
- Автоматизація: Зменшує потребу в ручній роботі
Три ключові компоненти ML 🧩
1. Дані (Data) 📊
Що це: Приклади, з яких вчиться машина
Аналогія: Фотографії котів і собак, які ми показуємо
В реальності:
- Історія покупок для прогнозування вподобань
- Медичні знімки для діагностики
- Тексти для перекладу
2. Ознаки (Features) 🔍
Що це: Характеристики, на які звертає увагу машина
Аналогія: Розмір, форма вух, звук - для тварин
В реальності:
- Для будинку: площа, кількість кімнат, район
- Для email: слова, відправник, час відправлення
- Для зображення: кольори, контури, текстури
3. Модель (Model) 🎯
Що це: “Розуміння” машини про закономірності
Аналогія: Внутрішнє уявлення дитини про котів/собак
В реальності: Математична функція, яка робить прогнози
Три основні типи машинного навчання
1. Навчання з учителем (Supervised Learning) 👨🏫
Історія про вчителя фруктів 🍎
Уявіть молодого робота на фруктовому ринку. Його наставник - досвідчений продавець Петро, який 30 років працює з фруктами.
День 1: Перший урок “Дивись уважно,” - каже Петро, піднімаючи червоне яблуко. “Бачиш? Червоний колір, круглий, твердий, близько 150 грамів - це яблуко. Запам’ятай.”
Робот старанно записує: Червоний + Круглий + 150г = 🍎
День 2-5: Більше прикладів Петро продовжує навчання:
- “Жовтий, вигнутий, м’який - банан”
- “Оранжевий, круглий, з порами на шкірці - апельсин”
- “Зелений, круглий, твердий - теж яблуко! Не всі яблука червоні!”
День 6: Іспит Приходить покупець з незнайомим фруктом. Робот аналізує: червоний, круглий, 160г… “Це яблуко!” - впевнено каже робот. “Молодець!” - усміхається Петро.
Суть методу: Вчитель (Петро) дає учню (роботу) приклади з правильними відповідями. Учень вчиться знаходити закономірності і застосовувати їх до нових ситуацій.
Простий приклад - Навчаємо розпізнавати фрукти:
📊 Навчальні дані
🤔 Чому модель передбачила “Яблуко”?
Модель проаналізувала нові дані і знайшла найближчі збіги:
- Червоний → У навчальних даних червоним було тільки яблуко (рядок 1)
- Круглий → Круглими були яблука та апельсин, але не банани
- 160г → Найближче до 150г (яблуко) та 140г (яблуко), ніж до 200г (апельсин)
Висновок моделі: 3 з 3 ознак вказують на яблуко з високою впевненістю!
Два основні підтипи навчання з учителем:
📊 Типи задач навчання з учителем
Ключова різниця:
- Класифікація відповідає на питання “ЩО це?” або “ДО ЯКОЇ ГРУПИ належить?”
- Регресія відповідає на питання “СКІЛЬКИ?” або “ЯКЕ ЗНАЧЕННЯ?”
Реальні застосування:
- Медицина: “Це рентген → Є пневмонія” (тисячі знімків з діагнозами)
- Банки: “Дані клієнта → Поверне кредит/Не поверне” (історія кредитів)
- Перекладачі: “Речення англійською → Речення українською” (мільйони пар)
Коли використовувати: Коли у вас є історичні дані з відомими результатами і ви хочете передбачати такі ж результати для нових даних.
Детальний приклад: Виявлення спаму в email 📧
Розглянемо, як працює виявлення спаму - одна з найпоширеніших задач машинного навчання:
📧 Навчальні дані - Електронні листи
🤔 Як модель навчилась розпізнавати спам?
Етап 1: Аналіз ознак Модель виявила закономірності в навчальних даних:
- Слова-маркери спаму: “виграй”, “мільйон”, “безкоштовно”, “терміново”, “дарунок”
- Слова нормальних листів: “зустріч”, “звіт”, “привіт”, “квартал”
- Стиль спаму: ВЕЛИКІ ЛІТЕРИ, багато знаків оклику (!!!), обіцянки грошей
- Відправники спаму: невідомі адреси, noreply@, підозрілі домени
Етап 2: Створення “профілю” спаму Модель зрозуміла типові характеристики:
Ознака | Спам | Не спам |
---|---|---|
Знаки оклику | 3-5 штук | 0-1 штука |
Відправник | Невідомий/підозрілий | Знайомий/корпоративний |
Ключові слова | Гроші, виграш, безкоштовно | Робота, зустріч, документи |
Посилання | Багато, скорочені URL | Мало або немає |
Етап 3: Аналіз нового листа Новий лист: “‘ВІТАЮ! Ви виграли!’, winner@lottery.com, 3 знаки оклику, підозрілі посилання”
Модель перевіряє кожну ознаку:
- ✓ Слово “виграли” → типове для спаму (+30% до ймовірності спаму)
- ✓ ВЕЛИКІ ЛІТЕРИ “ВІТАЮ” → часто в спамі (+20%)
- ✓ 3 знаки оклику → характерно для спаму (+15%)
- ✓ winner@lottery.com → підозрілий домен (+25%)
- ✓ Підозрілі посилання → дуже високий ризик (+5%)
Результат: 95% впевненість, що це спам! → Лист йде в папку “Спам”
Коли використовувати: Коли у вас є історичні дані з відомими результатами і ви хочете передбачати такі ж результати для нових даних.
2. Навчання без учителя (Unsupervised Learning) 🔍
Історія про бібліотекаря-детектива 📚
У великій музичній бібліотеці працює робот-бібліотекар Софія. Одного дня директор приносить тисячу старих вінілових платівок без підписів.
Проблема: “Софіє, тут музика різних жанрів, але всі етикетки втрачені. Ніхто не знає, що це за пісні. Розсортуй їх якось логічно, щоб відвідувачі могли знайти схожу музику.”
Софія починає слухати:
- Перша платівка: швидкий ритм, електронні звуки, 128 ударів на хвилину
- Друга: повільна мелодія, акустична гітара, 70 ударів на хвилину
- Третя: знову швидка, електронна, 120 ударів на хвилину
Через тиждень: “Я помітила закономірності!” - радісно повідомляє Софія. “Хоча я не знаю назв жанрів, але ось три чіткі групи:
- Полиця А: Швидкі енергійні треки (можливо, для танців?)
- Полиця Б: Повільні акустичні мелодії (схоже на романтичну музику?)
- Полиця В: Середній темп з барабанами (може, рок?)”
Результат: Софія не знала, як називаються жанри, але знайшла природні групи за схожістю. Тепер відвідувачі кажуть: “Дайте щось з полиці А” - і отримують схожу музику!
Суть методу: Без вчителя і підказок алгоритм сам виявляє приховані структури в даних.
Простий приклад - Групування музичних треків:
🎵 Дані пісень (без жанрових міток)
🔍 Алгоритм знаходить групи:
🤔 Як алгоритм знайшов ці групи?
Алгоритм виміряв “відстань” між піснями за всіма характеристиками:
- Полиця А (🔵): Швидкий темп (118-128 BPM), висока енергія, електронне звучання → схожі характеристики
- Полиця Б (🟢): Повільний темп (70-75 BPM), низька енергія, акустичні інструменти → інший тип музики
- Полиця В (🟣): Середній темп (95-100 BPM), середня енергія, баланс електроніки та акустики → третій тип
📐 Нагадування про вектори та відстані:
Кожна пісня - це точка в 3D просторі (темп, енергія, акустичність):
- Трек 1: [120, 0.8, 0.2] - вектор з трьох чисел (нормалізовані значення)
- Трек 3: [70, 0.3, 0.9] - інший вектор
Відстань між треками (спрощено):
Відстань = √[(120-70)² + (0.8-0.3)² + (0.2-0.9)²]
= √[2500 + 0.25 + 0.49]
≈ 50 (велика відстань → різні групи)
📝 Примітка: Для наочності показані спрощені значення. В реальних музичних сервісах аналізуються десятки параметрів: тональність, танцювальність, настрій, присутність вокалу тощо. Всі значення нормалізуються (приводяться до діапазону 0-1) для коректного обчислення відстаней між треками.
Пісні з малою відстанню між собою потрапляють в одну групу!
Що виявив алгоритм:
- Швидкі енергійні треки природно групуються разом (можливо, танцювальна музика)
- Повільні акустичні композиції утворюють окрему групу (можливо, балади)
- Треки середнього темпу з помірною енергією - третя група (можливо, рок)
- Алгоритм знайшов три жанри без попередніх міток!
Основні задачі навчання без учителя:
🔍 Типи задач навчання без учителя
Реальні застосування:
- Netflix: Групує фільми за схожістю (без попередніх категорій)
- Маркетинг: Знаходить типи покупців автоматично
- Генетика: Виявляє групи схожих генів
- Безпека: Помічає незвичну активність в мережі
Коли використовувати: Коли у вас є дані, але немає міток, і ви хочете зрозуміти їх структуру або знайти приховані патерни.
3. Навчання з підкріпленням (Reinforcement Learning) 🎮
Історія про робота-шукача скарбів 🏴☠️
Маленький робот Максим прокидається в лабіринті. Його місія - знайти золотий скарб, уникаючи пасток.
Перша спроба - повна катастрофа: Максим не знає, де що. Йде наосліп: вниз, вниз, вниз… БУМ! Потрапив у вогняну пастку! Система: -100 балів. Спробуй ще раз.
Друга спроба - трохи краще: “Ліворуч внизу небезпечно, піду іншим шляхом.” Вниз, вправо… БАХ! Врізався в стіну. Система: -10 балів. Стіна - це не так боляче як вогонь, але теж погано.
Третя спроба - прорив: “Гаразд, не вниз і не в стіну. Спробую вправо до кінця, потім вгору.” Вправо, вправо, вправо, вгору… ЗОЛОТО! Система: +100 балів! Ти знайшов скарб!
Після 1000 спроб: Максим тепер - експерт лабіринту. Він знає:
- Кожна клітинка має “цінність” - наскільки вона наближає до скарбу
- Шлях вправо-вправо-вправо-вгору = найкоротший безпечний маршрут
- Навіть із зав’язаними очима він дійде до мети!
Мораль історії: Максим навчився не через інструкції, а через власний досвід. Кожна помилка зробила його розумнішим, кожна перемога - впевненішим.
Суть методу: Алгоритм вчиться через взаємодію з середовищем, отримуючи нагороди та покарання.
Простий приклад - Робот вчиться йти до цілі:
🎮 Лабіринт навчання
📈 Процес навчання:
🤔 Як робот навчився знаходити правильний шлях?
Спроба 1: Пішов прямо вниз → потрапив у небезпеку 🔥 → -100 балів → запам’ятав: “лівий нижній кут = небезпечно”
Спроба 2: Пішов вниз-вправо → врізався в стіну ⬛ → -10 балів → запам’ятав: “стіна блокує цей шлях”
Спроба 3: Пішов вправо до кінця, потім вгору → дійшов до цілі 🎯 → +100 балів → запам’ятав: “цей маршрут працює!”
Після багатьох спроб робот зрозумів:
- Кожна клітинка має “цінність” - наскільки вона наближає до цілі
- Клітинки біля небезпеки мають низьку цінність (ризиковано)
- Клітинки на шляху до цілі мають високу цінність
- Оптимальний шлях: йти через клітинки з найвищою цінністю
Результат: Робот тепер завжди обирає маршрут “вправо → вправо → вправо → вгору” - найкоротший безпечний шлях!
Ключові компоненти:
Агент: Той, хто навчається (робот, гравець, програма)
Середовище: Світ, де діє агент (лабіринт, гра, ринок)
Стан: Поточна ситуація (позиція робота)
Дія: Що може зробити агент (рух вгору/вниз/вліво/вправо)
Винагорода: Зворотній зв’язок (+100 за ціль, -10 за стіну)
Процес навчання:
- Агент спостерігає поточний стан
- Вибирає дію (спочатку випадково, потім розумніше)
- Отримує винагороду або штраф
- Запам’ятовує, що спрацювало, а що ні
- Повторює, покращуючи стратегію
Реальні застосування:
Ігри:
- AlphaGo: Перемогла чемпіона світу в го
- OpenAI Five: Грає в Dota 2 на рівні професіоналів
- Атарі ігри: Навчилась грати краще людей
Робототехніка:
- Роботи Boston Dynamics вчаться ходити
- Дрони вчаться літати та уникати перешкод
- Роботи-маніпулятори вчаться збирати предмети
Бізнес:
- Трейдинг: Алгоритми вчаться торгувати на біржі
- Реклама: Системи вчаться показувати найефективнішу рекламу
- Рекомендації: YouTube максимізує час перегляду
Коли використовувати: Коли потрібно знайти оптимальну послідовність дій в динамічному середовищі, особливо коли правила складні або невідомі.
Порівняння трьох типів:
Чому машини помиляються? 🤔
1. Історія про чорних котів (Недостатньо даних)
Уявіть, що ви навчаєте ШІ розпізнавати котів. Але в селі, де ви живете, всі коти чорні - просто так склалось історично. Ви показуєте моделі 100 фото чорних котів і кажете: “Це коти”.
Модель робить логічний висновок: “А, зрозуміло! Кіт = чорна пухнаста тварина”.
Потім приїжджає ваша подруга з рудою кішкою Сімою. Модель дивиться і каже: “Це не кіт. Коти чорні.”
Мораль: Модель може навчитись тільки з того, що бачила. Якщо дані не різноманітні - висновки будуть обмеженими. Це як людина, яка все життя прожила на острові і думає, що весь світ - це острів.
2. Історія про студента-зубрилу (Перенавчання / Overfitting)
Студент готується до іспиту з історії. Замість того, щоб зрозуміти причини та наслідки подій, він просто завчає дати та факти:
- “1648 рік - Хмельницький, повстання”
- “1709 рік - Полтавська битва”
- “1991 рік - незалежність України”
На іспиті його питають: “Чому Хмельницький підняв повстання?” Студент в паніці - він знає дату, але не розуміє причин!
Так само і модель може “зазубрити” навчальні дані. Вона запам’ятає, що “фото №1543 - це кіт”, але не зрозуміє, що робить кота котом. Коли покажуть нове фото кота в іншій позі - модель розгубиться.
Мораль: Справжнє навчання - це розуміння закономірностей, а не запам’ятовування конкретних прикладів.
3. Історія про ліниве правило (Недонавчання / Underfitting)
Маленька дитина вирішила створити просте правило для розпізнавання тварин: “Якщо більше за кішку - то собака, якщо менше - то кішка”.
Працює? Іноді. Чихуахуа менший за мейн-куна, але це все одно собака. А що робити з кроликом? З папугою? З поні?
Так само модель може бути занадто простою. Якщо ми намагаємось передбачити ціну квартири тільки за площею, ігноруючи район, поверх, рік будівництва - прогнози будуть дуже неточними.
Мораль: Складні проблеми потребують достатньо складних моделей. Не можна описати світ однією формулою.
Реальний приклад: Як працюють рекомендації YouTube 🎥
Давайте детально розберемо, як YouTube вирішує що показати далі:
Крок 1: Збір даних про вас
- ⏱️ Які відео ви дивитесь до кінця
- 👍 Що лайкаєте/дизлайкаєте
- 🔔 На які канали підписані
- ⏭️ Що пропускаєте
- 💬 Де коментуєте
Крок 2: Аналіз відео
Для кожного відео система знає:
- Тематику та ключові слова
- Хто зазвичай дивиться
- Середній час перегляду
- Як часто ведуть до підписки
Крок 3: Пошук закономірностей
Алгоритм помічає:
- “Люди, які дивились відео А, часто дивляться відео Б”
- “Цей користувач любить відео до 10 хвилин”
- “Вранці він дивиться новини, ввечері - розваги”
Крок 4: Створення рекомендацій
Система комбінує все це і пропонує:
- Відео схожі на ті, що ви любите
- Контент від каналів зі схожою аудиторією
- Нові теми, які можуть зацікавити
Крок 5: Навчання на результатах
- Подивились рекомендоване → добра рекомендація
- Пропустили → погана рекомендація
- Система коригує свої прогнози
🤔 Приклад конкретної рекомендації:
Якщо ви подивились:
- 5 відео про котів (середня тривалість перегляду 90%)
- 2 відео про собак (середня тривалість перегляду 30%)
- Лайкнули канал “Funny Cats”
YouTube зробить висновок:
- Ви любите котів більше ніж собак (90% vs 30% перегляду)
- Вам подобається гумористичний контент про тварин
- Ви готові дивитись довші відео про улюблену тему
Результат: В рекомендаціях з’являться більше відео про котів, канали схожі на “Funny Cats”, та компіляції смішних котів!
Виклики та обмеження ML 🚧
1. Проблема якості даних: “Сміття на вході = сміття на виході” 🗑️
Історія про фотографа-невдаху
Компанія найняла ШІ для сортування фотографій тварин. Але фотограф, який готував навчальні дані, завжди фотографував собак на вулиці, а котів - вдома.
Результат: ШІ вирішила, що головна ознака собаки - це асфальт на фоні! Коли їй показали собаку на дивані, вона сказала: “Це кіт, бо немає асфальту.”
Реальні приклади проблем з даними:
- Amazon відмовився від ШІ для найму (2018): Система дискримінувала жінок, бо навчалась на резюме за 10 років, де більшість були чоловіки
- Помилки в медичній діагностиці: ШІ навчена на знімках одного апарату не працює з іншими
- Расова упередженість у розпізнаванні облич: Системи гірше працюють з темношкірими, бо навчались переважно на світлошкірих
Як це виправляють:
- Збирають різноманітні дані з усіх можливих сценаріїв
- Перевіряють дані на упередженість перед навчанням
- Тестують моделі на різних групах користувачів
2. Проблема “Чорної скриньки”: Коли ШІ не може пояснити своє рішення 📦
Історія про загадкового лікаря
Уявіть лікаря-робота, який дивиться на ваші аналізи і каже: “У вас хвороба Х.”
- Ви: “Чому ви так думаєте?”
- Робот: “Не знаю. Просто відчуваю. Довіртеся мені, я маю 99% точності.”
Чи довірили б ви такому лікарю своє життя?
Реальні наслідки:
- Відмова в кредиті: Банк не може пояснити, чому відмовив (незаконно в ЄС)
- Судові рішення: ШІ рекомендує термін ув’язнення, але не пояснює чому
- Медичні діагнози: Лікарі не довіряють ШІ, яка не пояснює логіку
Сучасні рішення:
- LIME та SHAP: Технології, що пояснюють рішення ШІ
- Візуалізація уваги: Показує, на що дивилась модель
- Правило “права на пояснення” (GDPR): В ЄС люди мають право знати, чому ШІ прийняла рішення
3. Технічні обмеження: Коли ШІ не може того, що ви думаєте 🛑
ШІ не розуміє контекст як людина:
- Не розуміє сарказм: “Чудова погода!” під час зливи
- Не має здорового глузду: Може порадити з’їсти камінь, якщо запитати про дієту з каменями
- Не розуміє причинно-наслідкові зв’язки: Знає, що дощ = парасольки, але не розуміє ЧОМУ
ШІ може “галюцинувати”:
- ChatGPT може впевнено брехати про неіснуючі факти
- Генератори зображень додають зайві пальці людям
- Перекладачі можуть вигадувати слова
4. Проблема зміни даних: Коли світ змінюється швидше за модель 🔄
Історія про ресторанного критика
ШІ навчили передбачати популярність ресторанів за відгуками 2019 року. Потім прийшов 2020 рік і пандемія. Раптом:
- Люди перестали ходити в ресторани
- Важливою стала доставка, а не атмосфера
- Відгуки стали про безпеку, а не про смак
Модель стала непридатною за один місяць!
Реальні приклади:
- Торгові боти збанкрутіли під час GameStop короткого стиснення 2021
- Медичні моделі не працювали з COVID-19 (нова хвороба)
- Рекомендації YouTube не адаптувались до нових трендів TikTok
5. Юридична відповідальність: Хто винен, коли ШІ помиляється? ⚖️
Реальні випадки:
- Tesla Autopilot: Хто винен в аварії - водій чи Tesla?
- Помилковий арешт: Поліція заарештувала невинного через помилку розпізнавання облич
- Медична помилка: ШІ не помітила рак - хто відповідає?
Невирішені питання:
- Чи може ШІ свідчити в суді?
- Чи потрібна “страховка” для ШІ?
- Хто платить збитки від помилок ШІ?
- Чи може ШІ мати права (як Saudi Arabia дала громадянство роботу Софії)?
Ключові висновки 📝
✅ ML - це навчання через приклади, а не програмування правил
✅ Машини знаходять закономірності в даних самостійно
✅ Якість результату залежить від якості та кількості даних
✅ Модель - це спосіб машини “розуміти” закономірності
✅ ML вже змінив наше життя і продовжує розвиватися
Що далі?
Машинне навчання – це не магія, а потужний інструмент, який дозволяє комп’ютерам навчатися з досвіду. Від рекомендацій фільмів до діагностики хвороб, ML трансформує всі сфери нашого життя.
Тепер, коли ви розумієте основну ідею, можна переходити до:
- Глибшого вивчення типів задач ML
- Розуміння конкретних алгоритмів
- Практичних експериментів з даними
Пам’ятайте: Машинне навчання - це не футуристична технологія, а інструмент, який вже працює на нас щодня. Розуміння його принципів допомагає краще використовувати сучасні сервіси та розуміти, як вони працюють! 🚀