Ai Python

Вступ до штучного інтелекту та машинного навчання

Що таке AI, ML та Data Science, чим вони відрізняються, як комп'ютер навчається на даних — без формул, але з ясними аналогіями та хронологією розвитку від 1950 до ChatGPT

Вступ до штучного інтелекту та машинного навчання

Розмова, якої не було

Уявіть: ви відкриваєте застосунок для перегляду фільмів. Він пропонує вам нову кінокартину — і ви розумієте, що вона ідеально вам підходить. Хтось ніби знає ваші смаки краще, ніж деякі друзі.

Або: ви фотографуєте текст на іноземній мові, а телефон миттєво його перекладає прямо на екрані. Або: лікарська система аналізує знімок і виявляє пухлину розміром в кілька міліметрів, яку людське oko могло б пропустити.

За всіма цими речами стоїть одна ідея — машинне навчання. І ця ідея набагато простіша, ніж здається на перший погляд.

У цьому курсі ми побудуємо все з нуля: від розуміння того, що таке «навчання» взагалі, до власних програм, які розпізнають зображення, аналізують текст та спілкуються зі штучним інтелектом через API.

Але починати потрібно з початку. З питання: а що взагалі відбувається, коли ми кажемо, що комп'ютер «навчився»?


Коротка історія: від ідеї до ChatGPT

Перш ніж занурюватися в деталі, корисно побачити, звідки все це взялося. Штучний інтелект — не новинка 2022 року. Ідеї, на яких він базується, зароджувалися більше 70 років тому.

Аналогія: розвиток AI можна порівняти з освоєнням космосу. Були періоди ейфорії (перші запуски ракет), тривалі «зими» (скорочення програм через відсутність результатів) і справжні прориви, які змінювали все (висадка на Місяць). Так само і в AI — за хвилями ентузіазму йшли «зими», а потім раптово — революція.

РікПодіяЧому важливо
1950Алан Тюрінг публікує «Чи може машина думати?» та описує Тест ТюрінгаПерша формалізація поняття «інтелект машини»
1956Дартмутська конференція — Джон Маккарті вводить термін «Artificial Intelligence»Народження AI як наукової галузі
1957Перцептрон Розенблатта — перша штучна нейронна мережаПерша спроба змоделювати нейрон мозку математично
1966–1974Перша «зима AI» — розчарування, скорочення фінансуванняРанні обіцянки не справдилися: задачі виявилися набагато складнішими
1980-тіБум експертних систем — AI кодує знання людей-експертів у правилаПовернення інтересу та інвестицій в AI
1987–1993Друга «зима AI» — експертні системи занадто дорогі та крихкіЗнову розчарування та скорочення фінансування
1997Deep Blue (IBM) перемагає чемпіона світу з шахів Гаррі КаспароваПерша гучна демонстрація: AI перевершує людину в конкретній задачі
2012AlexNet перемагає у змаганні ImageNet з величезним відривомРеволюція глибокого навчання — починається сучасна ера AI
2016AlphaGo (DeepMind) перемагає чемпіона світу з го Лі СедоляГо вважалося «недосяжним» для AI — виявилося, можливим
2017Стаття «Attention Is All You Need» — архітектура TransformerФундамент для всіх сучасних LLM: GPT, BERT, LLaMA
2022ChatGPT — LLM стають масовим продуктомAI у повсякденному житті мільярдів людей
Зверніть увагу на «зими AI» — моменти, коли дослідники обіцяли занадто багато, а реальність не встигала. Це корисний урок: AI — це потужний інструмент, але не магія. Розуміти його можливості і обмеження — однаково важливо.

Три поняття, які часто плутають

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

  • AI (Artificial Intelligence, Штучний інтелект)
  • ML (Machine Learning, Машинне навчання)
  • Data Science (Наука про дані)

Ці три поняття пов'язані, але не замінюють одне одного. Щоб зрозуміти їх співвідношення, використаємо просту аналогію.

Аналогія: місто, район та лабораторія

Уявіть велике місто під назвою «Штучний інтелект». Це місто — загальна ідея: створити комп'ютерні системи, які поводяться розумно, вирішують складні задачі, імітують людське мислення.

У цьому місті є багато районів. Один з найбільших і найпопулярніших — район «Машинне навчання». Це конкретний підхід до побудови AI: замість того, щоб вручну прописувати правила («якщо є вуха та хвіст — це кіт»), ми показуємо комп'ютеру тисячі прикладів і він сам виводить правила.

А поруч з цим містом є велика дослідницька лабораторія — «Data Science». Вона частково знаходиться в місті AI, але також існує незалежно. Data Science займається збором, аналізом та інтерпретацією даних — іноді використовуючи ML, а іноді — просто класичну статистику.

Коротко: AI — це мета (розумна машина). ML — один зі способів досягти цієї мети (навчання на даних). Data Science — робота з даними для знаходження закономірностей та ухвалення рішень.

Що таке AI

Штучний інтелект (AI) — це широка галузь комп'ютерних наук, що займається створенням систем, здатних виконувати задачі, які зазвичай вимагають людського інтелекту.

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

Важливо: AI — це не обов'язково «робот, що думає як людина». Це просто програма, яка виконує розумну задачу. Фільтр спаму у вашій пошті — теж AI.

Вузький AI (Narrow AI)

Виконує одну конкретну задачу краще або порівнянно з людиною. Саме такий AI існує сьогодні: рекомендаційні системи Netflix, розпізнавання обличчя у телефоні, ChatGPT. Кожна система — «вузький спеціаліст».

Загальний AI (AGI)

Гіпотетична система, яка може виконувати будь-яку розумову задачу на рівні людини або краще. Поки не існує. Саме такий AI показують у фантастичних фільмах.

Що таке Machine Learning

Машинне навчання (ML) — це підхід до побудови AI, при якому система навчається на даних, а не програмується вручну через явні правила.

Порівняйте два підходи:

Класичне програмування:

Правило 1: якщо в листі є слово "виграш" → спам
Правило 2: якщо в листі є "безкоштовно" → спам
Правило 3: якщо відправник невідомий → можливо, спам
... (тисячі правил, і все одно щось пропустимо)

Machine Learning:

Покажи системі 100 000 листів із мітками "спам" / "не спам"
→ Система сама виведе правила
→ Нові листи класифікуються автоматично

Аналогія: уявіть, що ви вчите дитину розпізнавати котів. Перший підхід — написати інструкцію: «кіт має чотири лапи, вуха, хвіст, мурчить...». Але що, якщо кіт сфотографований незвично? Що якщо вуха не видно? Другий підхід — просто показати дитині тисячу фотографій котів і не-котів, сказавши «ось кіт» або «це не кіт». Через деякий час дитина навчиться розпізнавати котів навіть на незвичних фото. Саме так працює ML.

Що таке Data Science

Data Science (Наука про дані) — це міждисциплінарна галузь, що поєднує статистику, програмування та доменні знання для витягування цінної інформації з даних.

Data Scientist — це людина, яка:

  • Збирає та очищує дані
  • Аналізує дані, шукає закономірності та аномалії
  • Будує моделі (часто з використанням ML)
  • Інтерпретує результати та переводить їх у бізнес-рішення
  • Презентує висновки у зрозумілому вигляді

Аналогія: якщо ML — це кухонний комбайн, то Data Scientist — це шеф-кухар. Шеф знає, коли і який інструмент використовувати, але головне — він знає, що хоче приготувати і як це має смакувати в кінці.

Чим Data Science відрізняється від ML?

ML — це технічний метод (алгоритм, що навчається). Data Science — це повний процес: від питання бізнесу до прийнятого рішення. ML може бути одним з інструментів у роботі Data Scientist, але Data Science включає набагато більше: статистику, візуалізацію, A/B-тестування, роботу з базами даних, комунікацію результатів.

Вкладеність понять: AI ⊃ ML ⊃ Deep Learning

Ці три поняття утворюють вкладену структуру — кожне наступне є підмножиною попереднього:

Loading diagram...
@startuml
skinparam style plain
skinparam defaultFontName "JetBrains Mono"
skinparam backgroundColor #f8fafc
skinparam defaultFontSize 13

title Вкладеність понять: AI ⊃ ML ⊃ Deep Learning

rectangle "Штучний інтелект (AI)" as ai #64748b {
  rectangle "Правила та логіка\n(if-else, експертні системи)" as rules #475569

  rectangle "Машинне навчання (ML)" as ml #3b82f6 {
    rectangle "Класичні алгоритми\n(регресія, дерева рішень, SVM)" as classical #2563eb

    rectangle "Глибоке навчання (Deep Learning)" as dl #f59e0b {
      rectangle "Нейронні мережі\n(CNN, RNN, Transformer)" as nn #d97706
    }
  }
}

note bottom of ai
  AI — найширше поняття.
  Включає будь-який підхід до «розумної» поведінки машини.
end note

note bottom of ml
  ML — підмножина AI.
  Система навчається на даних,
  а не отримує явні правила.
end note

note bottom of dl
  Deep Learning — підмножина ML.
  Використовує нейронні мережі
  з багатьма шарами.
end note

@enduml

Аналогія: AI — це бібліотека цілком. ML — це великий розділ «Технічні науки» в цій бібліотеці. Deep Learning — це конкретна полиця в цьому розділі з книгами про нейронні мережі. Якщо ви берете книгу з тієї полиці — ви, звичайно, читаєте й з розділу, і з бібліотеки. Але бібліотека містить набагато більше, ніж одна полиця.

ХарактеристикаAIMLDeep Learning
Обсяг поняттяНайширшеПідмножина AIПідмножина ML
ПідхідБудь-який — від правил до нейромережНавчання з данихНейронні мережі з багатьма шарами
Потрібні дані?Не обов'язковоТакДуже багато
ПрикладШаховий движок на правилахРекомендації NetflixРозпізнавання облич, GPT

Як комп'ютер «навчається»: інтуїція

Перш ніж заглиблюватися в алгоритми, давайте побудуємо правильну інтуїцію. Що взагалі відбувається під час «навчання»?

Навчання — це пошук закономірностей

Уявіть: перед вами лежать 1000 фотографій будинків і поруч із кожною — ціна продажу. Ваше завдання — зрозуміти, від чого залежить ціна, щоб потім оцінювати нові будинки.

Ви починаєте розглядати фото і поступово помічаєте:

  • Великі будинки → дорожчі
  • Будинки в центрі міста → дорожчі
  • Нові будинки → дорожчі
  • З гаражем → трохи дорожчі

Ви не вигадали ці правила наперед — ви виявили їх у даних. Саме це робить ML-алгоритм: шукає приховані закономірності між вхідними даними (характеристиками будинку) та виходом (ціною).

Три компоненти машинного навчання

Будь-яка задача ML складається з трьох обов'язкових елементів:

Дані (Data)

Приклади, на яких система навчається. Чим більше якісних даних — тим краще. Дані — це «досвід» для машини. Без даних машинне навчання неможливе.

Модель (Model)

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

Алгоритм навчання (Learning Algorithm)

Процес, що визначає, як саме модель змінює свої параметри, дивлячись на дані. Це і є «навчання». Алгоритм мінімізує помилку між передбаченнями моделі та реальними відповідями.

Аналогія: уявіть студента, що готується до іспиту.

  • Дані — підручники, задачники, лекції (приклади з правильними відповідями)
  • Модель — знання студента (що він «тримає в голові»)
  • Алгоритм навчання — процес навчання: розв'язати задачу → перевірити відповідь → зрозуміти помилку → запам'ятати правило

Що всередині «навчання»: спрощений погляд

Щоб не залишати «навчання» магічною чорною скринькою, розглянемо базовий механізм на простому прикладі.

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

Площа (м²)Ціна (тис. грн)
301 200
501 900
702 800
1003 900

Ми припускаємо, що зв'язок лінійний: Ціна = a × Площа + b. Наша модель — це просте рівняння з двома параметрами a та b.

Спочатку параметри випадкові: нехай a = 10, b = 0. Для квартири 50 м² модель передбачить 10 × 50 + 0 = 500. Реальна ціна — 1 900. Помилка величезна.

Алгоритм навчання дивиться на помилку і запитує: «а якби я збільшив a, помилка б зменшилася?» Так. Він трохи збільшує a. Потім знову перевіряє, знову коригує. Після тисячі таких маленьких кроків параметри a і b стають такими, що модель передбачає ціни досить точно для всіх прикладів.

Це і є навчання: ітеративний процес коригування параметрів моделі для зменшення помилки.

Ми щойно описали алгоритм лінійної регресії — один з найпростіших і найважливіших алгоритмів ML. У Модулі 3 ми розберемо його детально, з математикою і кодом. Зараз важлива лише інтуїція.

Типи задач у машинному навчанні

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

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

Навчання з учителем — це коли для кожного прикладу в навчальних даних ми знаємо правильну відповідь (мітку).

Аналогія: учитель показує учневі задачі разом із відповідями: «ось задача, ось правильне рішення». Учень навчається на прикладах з відповідями — звідси й назва «навчання з учителем».

Два головних підтипи:

Регресія — передбачення числа (неперервного значення):

  • Площа та район → Ціна квартири (число в гривнях)
  • Температура, вологість → Врожай пшениці (тонн з гектара)
  • Стаж та освіта → Зарплата (число)

Класифікація — передбачення категорії (одного з фіксованого набору варіантів):

  • Зображення → «кіт» або «не кіт»
  • Лист → «спам» або «не спам»
  • Рентгенівський знімок → «норма», «пневмонія» або «інша патологія»

Більша частина практичних ML-задач — це саме навчання з учителем. Більша частина цього курсу теж буде присвячена йому.

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

Навчання без учителя — це коли правильних відповідей немає. Система сама шукає приховану структуру в даних.

Аналогія: уявіть, що вам дали 10 000 фотографій людей без будь-яких підписів і попросили «згрупувати схожих». Ви не знаєте наперед, скільки груп буде і за яким принципом їх ділити. Ви просто дивитеся і помічаєте: ці троє схожі між собою, ті п'ятеро — інша компанія. Це і є навчання без учителя.

Основні задачі:

  • Кластеризація — поділ даних на групи схожих елементів. Приклад: поділ клієнтів на сегменти для маркетингу
  • Зниження розмірності — спрощення даних зі збереженням ключової інформації. Корисно для візуалізації та прискорення навчання

Навчанню без учителя присвячений Модуль 7.

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

Навчання з підкріпленням — це принципово інший підхід: система (агент) взаємодіє з середовищем, отримуючи нагороду за корисні дії та «штраф» за шкідливі. Мета — навчитися максимізувати нагороду.

Аналогія: так дресирують тварин. Собака сіла за командою → отримала ласощі (нагорода). Собака гавкнула недоречно → нагороди немає (штраф). Поступово собака навчається, яка поведінка приносить ласощі.

Саме так AlphaGo навчився грати в го краще за будь-яку людину: він зіграв мільйони партій проти себе, отримуючи «нагороду» за перемогу.

Reinforcement Learning — складна і окрема велика тема; у цьому курсі ми зосередимося на перших двох типах.


Ключові поняття: словник ML

Перш ніж рухатися до практики, потрібно ввести базовий словник. Ці терміни ви будете зустрічати в кожній наступній статті.

Дані та їх структура

У задачах з учителем дані зазвичай представлені у вигляді таблиці. Кожен рядок — це один об'єкт (спостереження, зразок, sample). Кожен стовпець — це ознака (feature, атрибут) цього об'єкта.

Приклад датасету будинків:

IDПлоща (м²)ПоверхРайонВік (років)Ціна (тис. грн)
1453Центр102 100
2907Захід23 400
3301Схід25900

Стовпці «Площа», «Поверх», «Район», «Вік» — це ознаки (features). Виділений стовпець «Ціна» — це цільова змінна (target, label) — те, що ми хочемо передбачити.

Типи ознак

Не всі ознаки однакові. Подивіться ще раз на наш датасет: «Площа» — це число, «Район» — це слово. З числами можна виконувати арифметику, а зі словами — ні. Саме тому в ML розрізняють два фундаментальних типи ознак.

Числові ознаки (Numerical)

Мають кількісне значення — над ними можна виконувати арифметичні операції.

Приклади: площа (м²), поверх, вік будинку, ціна, температура, зарплата.

Підтипи:

  • Неперервні (continuous) — можуть приймати будь-яке значення в діапазоні: площа = 47.5 м²
  • Дискретні (discrete) — лише цілі значення: кількість кімнат = 2

Аналогія: числові ознаки — це як позначки на лінійці. Між 45 і 90 є нескінченно багато значень, і можна сказати «90 — це вдвічі більше, ніж 45».

Категоріальні ознаки (Categorical)

Мають якісне значення — фіксований набір категорій, між якими немає числового порядку (або він умовний).

Приклади: район (Центр / Захід / Схід), тип будинку (цегляний / панельний), стать, колір.

Підтипи:

  • Номінальні — без порядку: район «Центр» не «більший» за «Схід»
  • Порядкові (ordinal) — є природний порядок: «відмінно» > «добре» > «задовільно»

Аналогія: категоріальні ознаки — це як назви країн на карті. «Франція» не дорівнює якомусь числу, і не можна сказати «Франція в 3 рази більша за Іспанію» у сенсі назви.

Тип ознаки визначає, як її потрібно обробляти перед подачею в модель. Числові ознаки часто нормалізують (щоб великі числа не «домінували» над малими). Категоріальні — перетворюють у числа через кодування (наприклад, «Центр»=0, «Захід»=1, «Схід»=2). Про це детально поговоримо у Модулі 2.
ТермінОпис
Dataset (датасет)Набір даних — вся таблиця цілком
Sample / Instance (зразок)Один рядок таблиці — один будинок
Feature (ознака)Одна характеристика об'єкта — один стовпець
Target / Label (мітка)Те, що передбачаємо — стовпець «Ціна» або «Клас»
Feature vector (вектор ознак)Набір усіх ознак одного об'єкта — один рядок без target
XМатриця ознак (усі стовпці крім target)
yВектор цільових значень (стовпець target)

Модель та навчання

ТермінОпис
Model (модель)Математична структура, що описує зв'язок між X та y
Parameters (параметри)Внутрішні числа моделі, що змінюються під час навчання (наприклад, a і b у лінійній регресії)
Training (тренування)Процес навчання — підбір параметрів на навчальних даних
Prediction (передбачення)Вихід моделі для нового прикладу
Loss / Error (втрати / помилка)Числова міра того, наскільки передбачення моделі відрізняється від реальної відповіді

Оцінка якості

ТермінОпис
Training setНавчальний набір — дані, на яких модель навчається
Test setТестовий набір — дані, на яких ми оцінюємо якість навченої моделі. Модель їх ніколи не бачила під час навчання
Overfitting (перенавчання)Модель «заучила» тренувальні дані, але погано узагальнює на нові
Underfitting (недонавчання)Модель занадто проста і не вловлює закономірності навіть у тренувальних даних
Розбиття даних на тренувальний та тестовий набір — один з найважливіших принципів ML. Якщо оцінювати модель на тих самих даних, де вона навчалася, — результат буде нечесним та надто оптимістичним. Ми детально розглянемо це у Статті 3.2.

Огляд екосистеми Python для ML

Python став стандартною мовою для машинного навчання та Data Science — і не випадково. Розглянемо чому і що саме ми будемо використовувати.

Чому Python

  • Простий синтаксис — можна зосередитися на алгоритмах, а не на мові програмування
  • Найбільша екосистема бібліотек для ML — NumPy, pandas, scikit-learn, PyTorch — всі головні інструменти написані для Python
  • Інтерактивність — Jupyter Notebook дозволяє поєднувати код, результати та пояснення в одному документі
  • Спільнота — майже будь-яке запитання з ML вже хтось ставив і отримав відповідь на Stack Overflow або GitHub

Бібліотеки, з якими ми будемо працювати

Нижче — «карта» нашого курсу. Кожна бібліотека вводиться поступово, тому зараз не потрібно розуміти всі деталі — просто отримайте загальне уявлення.

NumPy

Основа всього. Надає ефективні числові масиви та математичні операції над ними. Під капотом майже всіх ML-бібліотек — NumPy. Модуль 2.

pandas

Робота з таблицями даних (DataFrame). Завантаження, очищення, фільтрація, трансформація даних. Перший інструмент Data Scientist'а. Модуль 2.

matplotlib / seaborn

Візуалізація даних: графіки, діаграми, теплові карти. Побачити дані — це перший крок до їх розуміння. Модуль 2.

scikit-learn

«Комбайн» для класичного ML: лінійна регресія, дерева рішень, кластеризація, крос-валідація — і все це за єдиним інтерфейсом .fit() / .predict(). Модулі 3 та 7.

PyTorch

Основна бібліотека для нейронних мереж. Дозволяє будувати довільні архітектури, автоматично обчислює градієнти, підтримує GPU. Модулі 4–6.

Hugging Face

Бібліотека та платформа для готових мовних моделей: BERT, GPT, LLaMA та тисячі інших. Fine-tuning та використання для NLP-задач. Модуль 6.

Також ми познайомимося з XGBoost — надзвичайно ефективною бібліотекою для градієнтного бустингу, яка перемагає на більшості Kaggle-змагань із табличними даними (Модуль 3), та з OpenAI API і Ollama для роботи з великими мовними моделями (Модуль 8).


Практика

Рівень 1: Впізнати AI навколо себе

Наведіть 3 приклади задач машинного навчання з вашого повсякденного життя (застосунки, сервіси, пристрої). Для кожного прикладу визначте:

  1. Тип навчання — з учителем, без учителя або з підкріпленням?
  2. Вхідні ознаки — які дані подаються на вхід системи?
  3. Цільова ознака (target) — що система передбачає або вирішує?

Приклад відповіді:

СистемаТип навчанняВхідні ознакиTarget
Фільтр спаму в GmailЗ учителемТекст листа, відправник, частота слів«спам» / «не спам»
????
????
????
Зверніть увагу: для задач з учителем target завжди чіткий («яке число?» або «яка категорія?»). Для задач без учителя target відсутній — система сама визначає структуру.

Рівень 2: Спроектувати датасет

Уявіть, що вам потрібно побудувати систему, яка передбачає, чи сподобається людині фільм (1 = так, 0 = ні).

Створіть власний датасет із 5–7 рядків у вигляді таблиці. Ваш датасет має містити:

  • Щонайменше 3 числові ознаки та 2 категоріальні ознаки
  • Цільову змінну (target): liked = 1 або 0
  • Реалістичні дані (заповніть таблицю самостійно)

Після заповнення відповідайте на запитання:

  1. Які ознаки, на вашу думку, найсильніше впливають на те, чи сподобається фільм?
  2. Яку ознаку ви б назвали «шумовою» — тобто такою, що навряд чи допоможе моделі?
  3. Як би ви закодували категоріальну ознаку «жанр» (бойовик / драма / комедія) у числа?
Немає єдиної правильної відповіді — завдання навчить вас думати як Data Scientist: «які дані я маю?», «що хочу передбачити?», «які ознаки корисні?»

Резюме

Ви щойно отримали карту місцевості, перш ніж відправитися в подорож. Ось ключові ідеї цієї статті:

  • AI — широка ідея розумних машин. ML — один підхід: навчання на даних. Data Science — повний процес від даних до рішень.
  • Машинне навчання — це пошук закономірностей у даних для передбачення або класифікації нових прикладів.
  • Три компоненти ML: дані (приклади), модель (математична структура) та алгоритм навчання (процес коригування моделі).
  • Три типи задач: навчання з учителем (є правильні відповіді), навчання без учителя (немає відповідей, шукаємо структуру), навчання з підкріпленням (нагороди та штрафи від середовища).
  • Основний словник: dataset, sample, feature, target, model, training, overfitting, underfitting.
  • Основні інструменти в Python: NumPy, pandas, matplotlib, scikit-learn, PyTorch.
Наступна стаття — Jupyter Notebook: інтерактивне середовище, в якому ми будемо писати весь код курсу. Ви встановите необхідне середовище та напишете свої перші рядки Python для аналізу даних.
Copyright © 2026