Розпочинаємо роботу з машинним навчанням

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

Що таке машинне навчання?

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

Тепер, коли ви маєте загальне уявлення про те, що таке ML, давайте розглянемо це детальніше. Машинне навчання — це не одна річ, воно має різні типи в залежності від того, як комп’ютер вчиться. Подумайте про це, як про різні методи навчання:

1. Навчання з учителем

Це як коли вчитель веде вас крок за кроком. Комп’ютер отримує набір прикладів з відповідями (це називається "позначені дані") і вчиться передбачати правильні відповіді для нових, подібних прикладів. Наприклад:

  • Передбачення ціни будинку на основі його розміру та місця розташування.
  • Розпізнавання рукописних цифр, наприклад, визначення, чи є число 3 чи 5.

2. Навчання без учителя

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

  • Групування клієнтів за їх покупательськими звичками.
  • Виявлення підозрілих транзакцій у банківському рахунку (детекція шахрайства).

3. Навчання з підкріпленням

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

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

Конвеєр ML

Мета: Передбачити, чи складе студент іспит на основі кількості годин, що він вивчав, і чи робив він нотатки на уроці.

1. Збір даних

Набір даних збирається від студентів, відстежуючи:

  • Особливості: Години вивчення і Робить нотатки.
  • Ціль (мітка): Здав/не здав.

pic

2. Попередня обробка даних

Очищення даних: Перевірка на відсутні або некоректні записи.

Наприклад, якщо в записі значення Години вивчення = NULL, його потрібно виправити (наприклад, заповнивши середнім значенням годин вивчення).

Кодування категоріальних змінних:

  • Перетворіть Робить нотатки (Так/Ні) на бінарне: Так = 1, Ні = 0.
  • Перетворіть Здав/не здав на числові мітки: Здав = 1, Не здав = 0.

Нормалізація даних (якщо необхідно):

  • Масштабувати Години вивчення в діапазон від 0 до 1 (наприклад, використовуючи нормалізацію Min-Max).

Попередньо оброблений набір даних:

pic

3. Інженерія ознак

Вибір ознак для моделі: Використовувати Години вивчення і Робить нотатки.

Створення нових ознак, якщо потрібно:

  • Ознака взаємодії: Поєднати Години вивчення і Робить нотатки: Ефективні години вивчення = Години вивчення * Робить нотатки.
  • Додати цей стовпець до набору даних.

Набір даних з новою ознакою:

pic

4. Вибір моделі

  • Тип проблеми: Передбачення бінарних результатів (Здав або Не здав) є задачею класифікації.
  • Обрана модель: Використовуємо Логістичну регресію, оскільки вона проста та інтерпретована для бінарної класифікації.

5.

текст перекладу

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

  • Розподіл набору даних:
  • Навчальний набір (80%): Використовуємо 8 записів для навчання моделі.
  • Тестовий набір (20%): Використовуємо 2 записи для оцінки моделі.

Навчальні дані:

pic

Тестові дані:

pic

  • Навчаємо модель машинного навчання, таку як логістична регресія, на навчальних даних:
  • Модель вчиться, як Години вивчення, Робить нотатки і Ефективні години вивчення передбачають Здав/Не здав.

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

Використовуємо тестові дані для оцінки ефективності:

a. Передбачення Здав/Не здав для тестового набору:

  • Вхід: Години вивчення = 3, Робить нотатки = 0, Ефективні години вивчення = 0
  • Прогноз: Не здав (0).

b. Порівнюємо прогнози з реальними мітками (Здав/Не здав).

Розраховуємо метрики:

  • Точність: % правильних прогнозів.
  • Матриця сплутаності: Кількість правильних позитивних, правильних негативних, хибних позитивних і хибних негативних.

7. Розгортання моделі

a. Розгортаємо навчену модель в додатку або системі:

  • Приклад: Створюємо веб-додаток, де студенти вводять Години вивчення і Робить нотатки, щоб передбачити, чи складуть вони іспит.

b. Вхід: Години вивчення = 5, Робить нотатки = Так

c. Прогноз: Здав.

Як поділяються проблеми?

1. Проблеми класифікації

  • Що це таке: Коли мета полягає в тому, щоб розподілити дані за категоріями або класами.
  • Приклад: Передбачення, чи складе студент іспит — Здав чи Не здав на основі кількості годин, що він вивчав.
  • Ключові характеристики:
    • Вихід є міткою (наприклад, Здав або Не здав).
    • Є певна кількість категорій (наприклад, бінарна класифікація, як Здав/Не здав або багатокласова класифікація, як Низький/Середній/Високий).

Приклади з реального життя:

  • Детекція спам-листів: Чи є електронний лист спамом (Так/Ні)?
  • Медична діагностика: Чи є пухлина доброякісною чи злоякісною?
  • Соціальні мережі: Прогнозування, чи є пост позитивним, нейтральним чи негативним.

2. Проблеми регресії

  • Що це таке: Коли мета полягає в тому, щоб передбачити неперервне значення.
  • Приклад: Передбачення бали на іспиті студентом на основі кількості годин, що він вивчав.
  • Ключові характеристики:
    • Вихід є числом (наприклад, 75% або 85%).
    • Прогноз на неперервній шкалі (наприклад, ціни на будинки, температура).

Приклади з реального життя:

  • Прогнозування ціни будинку на основі розміру, розташування і характеристик.
  • Оцінка продажів продукту на наступний місяць.
  • Прогнозування температури погоди на завтра.

Алгоритми для класифікації та регресії

Тепер, коли аудиторія знає, що таке проблеми класифікації та регресії, давайте розглянемо деякі прості алгоритми для кожного типу задач.

Алгоритми для класифікації

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

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

Дерев'яні дерева:

  • Як блок-схема; ставить питання Так/Ні, щоб розподілити дані по класах.

Случайний ліс:

  • Розширення дерев рішень, яке використовує кілька дерев для кращої точності.

K-найближчі сусіди (KNN):

  • Знаходить найближчі точки даних і присвоює більшість класу.

Алгоритми для регресії

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

  • Прогнозує прямолінійний зв'язок між вхідними і вихідними даними (наприклад, Години вивчення vs. Оцінка на іспиті).

Дерев'яні дерева (регресія):

  • Розбиває дані на діапазони для здійснення прогнозів.

Случайний ліс (регресія):

  • Використовує кілька дерев для прогнозування значення, середнє за результатами.

Регресія за допомогою підтримуючих векторів (SVR):

  • Більш складний метод для прогнозування неперервних результатів.

Покращення ефективності моделі:

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

Перевірка (Validation):

  • Що це таке: Розподіл набору даних на навчальний, перевірочний і тестовий набори для оцінки моделі.
  • Чому це важливо: Перевірочний набір допомагає налаштувати модель без упередженості до тестового набору.
  • Приклад: Використовувати 60% даних для навчання, 20% для перевірки (для налаштування гіперпараметрів), і 20% для тестування.

Перехресна перевірка (Cross-Validation):

a. Що це таке: Замість одного розподілу набір даних ділиться на кілька частин, і модель тренується і тестується на різних комбінаціях.

b. Чому це важливо: Забезпечує, щоб модель працювала добре на всіх частинах даних, а не лише на одному конкретному розподілі.

c. Як це працює: Наприклад, у 5-кратній перехресній перевірці:

  • Розділити дані на 5 частин.
  • Навчати на 4 частинах і тестувати на 5-й.
  • Повертати до тих пір, поки кожна частина не буде використана як тестовий набір.

d. Практичне застосування:

  • Поєднуйте перехресну перевірку з метриками, такими як точність, для отримання надійної оцінки ефективності.

Пошук по сітці (Grid Search):

  • Що це таке: Метод пошуку найкращих гіперпараметрів для вашої моделі шляхом тестування всіх можливих комбінацій.
  • Чому це важливо: Ефективність моделей машинного навчання сильно залежить від гіперпараметрів (наприклад, швидкість навчання, кількість розподілів дерева рішень).
  • Як це працює: Визначте гіперпараметри і їх можливі значення. Тестуйте кожну комбінацію, щоб знайти ту, яка дасть найкращу ефективність на перевірочному наборі.

Приклад:

  • Для дерева рішень:
    • Тестувати значення max_depth: [3, 5, 10].
    • Тестувати значення minsamplessplit: [2, 5, 10].
    • Найкраща комбінація обирається на основі точності на перевірці.

Висновок

Машинне навчання змінює наш світ, дозволяючи комп'ютерам навчатися з даних і вирішувати реальні проблеми, такі як прогнози, рекомендації та автоматизація. Розуміння основ — класифікація, регресія та конвеєр машинного навчання — може допомогти вам розпочати створення важливих рішень. З доступними інструментами і ресурсами кожен може почати вивчати машинне навчання сьогодні. Зробіть перший крок, і ви можете створити наступну велику інновацію!

Перекладено з: Getting started with Machine learning

Leave a Reply

Your email address will not be published. Required fields are marked *