01 - Огляд машинного навчання

Machine Learning

Ігор Мірошниченко

КНЕУ::ІІТЕ

2/7/23

Про мене

  • Мірошниченко Ігор Вікторович
  • кандидат економічних наук, доцент
  • доцент кафедри математичного моделювання і статистики КНЕУ
  • викладач Міжнародного інституту бізнесу (MBA)

miroshnychenko.ihor@kneu.edu.ua

Data Mirosh

@ihormiroshnychenko

@aranaur

aranaur.rbind.io

Основи ML

Що таке ML?

Машинне навчання - це розділ інформатики, який присвячений створенню алгоритмів для досягнення певних цілей на підґрунті набору даних про досліджуваний об’єкт.

Три складові ML:

  • данні

  • ознаки (features)

  • алгоритм

Навчання vs. Інтелект

  • Штучний інтелект - загальна назва сфери.

  • Машинне навчання - розділ штучного інтелекту.

  • Нейромережі - вид з видів машинного навчання.

  • Глибоке навчання - архітектура нейромереж, підхід до побудови.

Види ML

Мапа машинного навчання

Види машинного навчання

  • Класичне навчання: прості дані, зрозумілі ознаки
  • Навчання з підкріпленням: даних не має, але є оточення з котрим можна взаємодіяти
  • Ансамблі: коли треба краще!
  • Нейромережі та глибоке навчання: складі данні, незрозумілі ознаки, магія!

Класичне навчання

1. Класичне навчання

  • З вчителем (supervised learning)
    • класифікація
    • регресія
  • Без вчителя (unsupervised learning)
    • кластеризація
    • зменшення розмірності
    • асоціації
  • Напівконтрольне навчання (semi-supervised learning)

З вчителем (supervised learning)

Що в нас є: 1. Розмічені дані 2. Вектор ознак.

На основі даних, побудувати модель, яка приймає значення (x) на вході і повертає інформацію, яка дозволяє визначити мітку для цього вектора показників (y).

  • Регресія: визначаємо число
  • Класифікація: визначаємо клас

Регресія

Приклади використання:

  • прогноз вартості цінних бумаг
  • аналіз попиту, об’єм продажів
  • часові ряди у всіх проявах

Популярні алгоритми:

  • Лінійна регресія
  • Поліноміальна регресія
  • Рідж/Лассо регресія
  • Квантильна регресія

Класифікація

Приклади використання:

  • спам-фільтри
  • визначення мови
  • пошук подібних документів
  • аналіз тональності
  • розпізнавання рукописного тексту
  • визначення підозрілих транзакцій

Популярні алгоритми:

  • Наївний байєсовський класифікатор
  • Дерева прийняття рішень (CART, C4.5)
  • Логістична регресія
  • К-ближчих сусідів
  • Метод опорних векторів

Без вчителя (unsupervised learning)

Що в нас є: 1. Нерозмічені дані. 2. Вектор ознак.

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

  • Кластеризація: ідентифікація кластеру
  • Зменшення розмірності: повертається вектор меншої розмірності
  • Виявлення аномалій: визначаємо які значення x відрізняється від “типових” даних

Кластеризація

Приклади використання:

  • сегментація ринку
  • об’єднання близьких точок на карті
  • стиснення зображень
  • аналіз та розмітки нових даних
  • детектори аномальної поведінки

Популярні алгоритми:

  • Метод К-середніх
  • Mean-Shift
  • DBSCAN

Метод К-середніх

DBSCAN

Зменшення розмірності

Приклади використання:

  • рекомендовані системи
  • візуалізація
  • визначення тематики та пошуку схожих документів
  • аналіз фейкових зображень
  • ризик-менеджмент

Популярні алгоритми:

  • Метод головних компонентів (PCA)
  • Сингулярне розкладання (SVD)
  • Латентне розміщення Діріхле (LDA)
  • Латентно-семантичний аналіз (LSA, pLSA, GLSA)
  • t-SNE (для візуалізації)

Метод головних компонентів (PCA)

Сингулярне розкладання (SVD)

Асоціативні правила

Приклади використання:

  • прогноз акцій та розпродажів
  • аналіз товарів, які купують разом
  • розміщення товарів на поличках
  • аналіз поведінки на сайті

Популярні алгоритми:

  • Apriori
  • Euclat
  • FP-growth

Напівконтрольне навчання (semi-supervised)

Що в нас є: 1. Частково розмічені дані. 2. Вектор ознак.

На основі даних, побудувати модель, яка приймає значення (x) на вході і повертає інформацію, яка дозволяє визначити мітку для нерозмічених даних.

Напівконтрольне навчання (semi-supervised)

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

2. Навчання з підкріпленням (reinforcement)

Приклади використання:

  • Самокеровані автомобілі
  • Роботи пилососи
  • Ігри
  • Автоматична торгівля
  • Управління ресурсами підприємства

Популярні алгоритми:

  • Q-Learning
  • SARSA
  • DQN,
  • A3C,
  • Генетичний алгоритм

Ансамблі

3. Ансамблі

Приклади використання:

  • Там де й класичні підходи, але працюють краще
  • Пошукові системи
  • Комп’ютерний зір
  • Розпізнавання об’єктів

Популярні алгоритми:

  • Випадковий ліс
  • Градіентний бустінг

Варіанти побудови:

  • Стекінг
  • Беггінг
  • Бустінг

Стекінг

Беггінг (Bootstrap AGGregatING)

Бустінг

Нейронні мережі і глибоке навчання

4. Нейронні мережі і глибоке навчання

Приклади використання:

  • Всі задачі, що були перечислені до цього
  • Переклад
  • Обробка фото та відео
  • Розпізнавання та синтез мови
  • Визначення об’єктів на фото та відео

Популярні алгоритми:

  • Перцептрон
  • Згорткові (CNN)
  • Рекурентні (RNN)
  • Автоенкодери

Перцептрон

Багатошаровий перцептрон (MLP)

Згорткові нейромережі (CNN)

Згорткові нейромережі (CNN)

Зоопарк архітектур нейромереж

THE NEURAL NETWORK ZOO

Дякую за увагу!