You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ML-For-Beginners/translations/uk/1-Introduction/4-techniques-of-ML
leestott ffd4047095
🌐 Update translations via Co-op Translator
3 weeks ago
..
README.md 🌐 Update translations via Co-op Translator 3 weeks ago
assignment.md 🌐 Update translations via Co-op Translator 3 weeks ago

README.md

Техніки машинного навчання

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

  • Зрозумієте процеси, що лежать в основі машинного навчання на високому рівні.
  • Дослідите базові концепції, такі як "моделі", "прогнози" та "навчальні дані".

Тест перед лекцією

ML для початківців - Техніки машинного навчання

🎥 Натисніть на зображення вище, щоб переглянути коротке відео, яке пояснює цей урок.

Вступ

На високому рівні мистецтво створення процесів машинного навчання (ML) складається з кількох етапів:

  1. Визначте питання. Більшість процесів ML починаються з постановки питання, яке не можна вирішити за допомогою простих умовних програм або систем на основі правил. Ці питання часто стосуються прогнозів на основі зібраних даних.
  2. Зберіть і підготуйте дані. Щоб відповісти на ваше питання, вам потрібні дані. Якість і, іноді, кількість ваших даних визначатиме, наскільки добре ви зможете відповісти на початкове питання. Візуалізація даних є важливим аспектом цього етапу. Цей етап також включає розділення даних на навчальну та тестову групи для створення моделі.
  3. Виберіть метод навчання. Залежно від вашого питання і природи ваших даних, вам потрібно вибрати, як ви хочете навчати модель, щоб вона найкраще відображала ваші дані і робила точні прогнози. Ця частина процесу ML вимагає спеціальних знань і часто значної кількості експериментів.
  4. Навчіть модель. Використовуючи ваші навчальні дані, ви будете використовувати різні алгоритми для навчання моделі розпізнавати шаблони в даних. Модель може використовувати внутрішні ваги, які можна налаштувати, щоб надавати перевагу певним частинам даних над іншими для створення кращої моделі.
  5. Оцініть модель. Ви використовуєте дані, які модель раніше не бачила (ваші тестові дані), щоб перевірити, як вона працює.
  6. Налаштування параметрів. Виходячи з продуктивності вашої моделі, ви можете повторити процес, використовуючи різні параметри або змінні, які контролюють поведінку алгоритмів, що використовуються для навчання моделі.
  7. Прогнозуйте. Використовуйте нові вхідні дані, щоб перевірити точність вашої моделі.

Яке питання ставити

Комп'ютери особливо добре вміють знаходити приховані шаблони в даних. Ця здатність дуже корисна для дослідників, які мають питання про певну область, на які не можна легко відповісти, створивши систему на основі умовних правил. Наприклад, у задачі актуарного аналізу дата-сайєнтист може створити вручну правила щодо смертності курців і некурців.

Однак, коли до рівняння додається багато інших змінних, модель ML може виявитися більш ефективною для прогнозування майбутніх показників смертності на основі історії здоров'я. Більш оптимістичний приклад може включати прогнозування погоди на квітень у певному місці на основі даних, які включають широту, довготу, зміни клімату, близькість до океану, шаблони струменевих потоків тощо.

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

Завдання перед створенням моделі

Перед тим як почати створювати модель, є кілька завдань, які потрібно виконати. Щоб перевірити ваше питання і сформувати гіпотезу на основі прогнозів моделі, вам потрібно визначити і налаштувати кілька елементів.

Дані

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

  • Зберіть дані. З огляду на попередній урок про справедливість в аналізі даних, збирайте дані з обережністю. Звертайте увагу на джерела цих даних, будь-які властиві їм упередження і документуйте їх походження.
  • Підготуйте дані. У процесі підготовки даних є кілька кроків. Можливо, вам доведеться об'єднати дані і нормалізувати їх, якщо вони надходять з різних джерел. Ви можете покращити якість і кількість даних різними методами, такими як перетворення рядків у числа (як ми робимо в Кластеризації). Ви також можете генерувати нові дані на основі оригінальних (як ми робимо в Класифікації). Ви можете очищати і редагувати дані (як ми будемо робити перед уроком Веб-додаток). Нарешті, можливо, вам доведеться рандомізувати і перемішати їх залежно від ваших технік навчання.

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

Ознаки і ціль

Ознака — це вимірювана властивість ваших даних. У багатьох наборах даних вона виражається як заголовок стовпця, наприклад, "дата", "розмір" або "колір". Змінна ознаки, зазвичай представлена як X у коді, представляє вхідну змінну, яка буде використовуватися для навчання моделі.

Ціль — це те, що ви намагаєтеся передбачити. Ціль, зазвичай представлена як y у коді, представляє відповідь на питання, яке ви намагаєтеся поставити до ваших даних: у грудні, якого кольору гарбузи будуть найдешевшими? У Сан-Франциско, які райони матимуть найкращу ціну на нерухомість? Іноді ціль також називають атрибутом мітки.

Вибір змінної ознаки

🎓 Вибір ознак і витяг ознак Як зрозуміти, яку змінну вибрати при створенні моделі? Ви, ймовірно, пройдете процес вибору ознак або витягу ознак, щоб вибрати правильні змінні для найкращої моделі. Однак це не одне й те саме: "Витяг ознак створює нові ознаки з функцій оригінальних ознак, тоді як вибір ознак повертає підмножину ознак." (джерело)

Візуалізація даних

Важливим аспектом інструментарію дата-сайєнтиста є здатність візуалізувати дані за допомогою кількох чудових бібліотек, таких як Seaborn або MatPlotLib. Візуалізація даних може дозволити вам виявити приховані кореляції, які ви можете використати. Ваші візуалізації також можуть допомогти вам виявити упередження або незбалансовані дані (як ми виявляємо в Класифікації).

Розділення набору даних

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

  • Навчання. Ця частина набору даних використовується для навчання моделі. Цей набір складає більшість оригінального набору даних.
  • Тестування. Тестовий набір даних — це незалежна група даних, часто зібрана з оригінальних даних, яку ви використовуєте для підтвердження продуктивності створеної моделі.
  • Валідація. Набір для валідації — це менша незалежна група прикладів, яку ви використовуєте для налаштування гіперпараметрів або архітектури моделі, щоб покращити її. Залежно від розміру ваших даних і питання, яке ви ставите, вам може не знадобитися створювати цей третій набір (як ми зазначаємо в Прогнозуванні часових рядів).

Створення моделі

Використовуючи ваші навчальні дані, ваша мета — створити модель, або статистичне представлення ваших даних, використовуючи різні алгоритми для її навчання. Навчання моделі дозволяє їй робити припущення про виявлені шаблони, перевіряти їх і приймати або відхиляти.

Вибір методу навчання

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

Навчання моделі

Озброївшись вашими навчальними даними, ви готові "підганяти" їх для створення моделі. Ви помітите, що в багатьох бібліотеках ML ви знайдете код 'model.fit' — саме в цей момент ви передаєте змінну ознаки як масив значень (зазвичай 'X') і змінну цілі (зазвичай 'y').

Оцінка моделі

Після завершення процесу навчання (для навчання великої моделі може знадобитися багато ітерацій або "епох"), ви зможете оцінити якість моделі, використовуючи тестові дані для оцінки її продуктивності. Ці дані є підмножиною оригінальних даних, які модель раніше не аналізувала. Ви можете вивести таблицю метрик про якість вашої моделі.

🎓 Підгонка моделі

У контексті машинного навчання підгонка моделі стосується точності функції моделі, коли вона намагається аналізувати дані, з якими вона не знайома.

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

перепідгонка моделі

Інфографіка від Jen Looper

Налаштування параметрів

Після завершення початкового навчання спостерігайте за якістю моделі і розгляньте можливість її покращення шляхом налаштування її "гіперпараметрів". Дізнайтеся більше про процес у документації.

Прогнозування

Це момент, коли ви можете використовувати абсолютно нові дані, щоб перевірити точність вашої моделі. У "прикладному" середовищі ML, де ви створюєте веб-ресурси для використання моделі в продакшені, цей процес може включати збір даних від користувача (наприклад, натискання кнопки), щоб встановити змінну і передати її моделі для інференсу або оцінки.

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


🚀Завдання

Намалюйте блок-схему, яка відображає кроки практикуючого ML. Де ви бачите себе зараз у процесі? Де, на вашу думку, ви зіткнетеся з труднощами? Що здається вам легким?

Тест після лекції

Огляд і самостійне навчання

Шукайте в інтернеті інтерв'ю з дата-сайєнтистами, які обговорюють свою щоденну роботу. Ось одне.

Завдання

Інтерв'ю з дата-сайєнтистом


Відмова від відповідальності:
Цей документ було перекладено за допомогою сервісу автоматичного перекладу Co-op Translator. Хоча ми прагнемо до точності, звертаємо вашу увагу, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ мовою оригіналу слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний переклад людиною. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.