Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Застосування ML в реальних проектах - Андрій Де...

GDG Ternopil
December 12, 2017

Застосування ML в реальних проектах - Андрій Дерень

Застосування ML в реальних проектах - Андрій Дерень

GDG Ternopil

December 12, 2017
Tweet

More Decks by GDG Ternopil

Other Decks in Programming

Transcript

  1. Agenda • Machine Learning в ІТ проектах • Аналіз та

    проектування • Реалізація Machine Learning алгоритмів • Тестування та верифікація результатів • Доставка рішень та супровід
  2. Типи задач • Задачі розпізнавання вмісту – data/text/images mining, voice

    to text, OCR • Задачі розпізнавання смислу (семантики) – opinion mining, visual recognition • Рекомендаційні алгоритми • Оціночна аналітика • «Глибинна» аналітика та пошук інсайдів • Прийняття рішень
  3. Типи завдань • Статистична (кількісна, якісна) оцінка – регресійний аналіз,

    оцінка густини • Пошук шаблонів • Класифікація • Кластеризація • Зменшення розмірності (відображення)
  4. Приклади застосування • Автоматизовані системи підтримки (чат-боти з базою знань

    та навчанням) • Моделювання маркетингових кампаній • Автоматична оцінка якості обслуговування клієнтів • Персоналізовані рекомендаційні сервіси • Лідогенерація
  5. Види ML підходів • Статистичні методи • Пошук по шаблону

    • Асоціативні правила • Нейронні мережі • Дерева рішень • Метод опорних векторів (векторні машини) • Генетичні алгоритми • та багато інших
  6. Задачі етапу аналізу та проектування • Постановка цілі • Оцінка

    об'єму даних (а також наявності, якості та ін.) • Підготовка навчального, тестового та контрольного набору • Підбір ML алгоритму • Навчання алгоритму • Підготовка необхідних артефактів (наборів правил, баз знань, тощо)
  7. Проблеми та рішення етапу Задача Проблема Рішення Постановка цілі Масивні

    вхідні вимоги / різнорідні цілі Розбиття вимог – використовуємо стандартні типи завдань ML Оцінка та підготовка даних Великий об'єм даних Застосування сучасних технологій BigData / Cloud Оцінка та підготовка даних Малий об’єм даних Штучне «насичення» даних - генерація Оцінка та підготовка даних Неоднорідність вхідних даних Відображення на єдину вхідну модель із приведенням шкал Підбір ML алгоритму Великий час оцінювання алгоритмів Обмежуємо вхідний набір алгоритмів Використовуємо Cloud ресурси та інструментарій Підбір ML алгоритму Трудомісткий процес оцінювання Використовуємо Cloud ресурси та інструментарій Будуємо «Фабрику алгоритмів» Підбір ML алгоритму Не отримано необхідного рівня якості Підвищуємо «якість» даних Кращий features selection Будуємо «змішаний» алгоритм
  8. Оцінка алгоритму • Точність – співвідношення якісних спрацювань до всіх

    спрацювань • Повнота – співвідношення якісних спрацювань до еталонної (реальної) кількості включень • Показник логарифмічних втрат – оцінка «ціни помилки», алгоритм скорінгу для коректних та некоректних спрацювань • Mean Absolute Error (MAE, алгоритми регресії) – оцінка абсолютної різниці між визначеними та еталонними показниками
  9. Інструментарій • Спеціалізоване ПЗ – MATLAB, MATCAD, тощо. • Готові

    бібліотеки та платформи – scikit, Mahout, OpenCV, Tesseract, TensorFlow, Spark • Спеціалізовані VM з набором ML tools • Готові cloud-платформи та АРІ – Azure ML Studio, Google Cloud Machine Learning, Amazon Machine Learning, Microsoft Cognitive Services, Wolfram|Alpha API
  10. Особливості реалізації в проектах із ML • Важливі аналітичні навики

    та знання в області математики / ML • Базовані на ML системи зазвичай динамічні та розподілені а • При реалізації важливими метриками є продуктивність та ефективність • Знання технологічних пакетів (та їх особливостей) так само важливе як вміння будувати алгоритми
  11. Рекомендації • Вкладайте в «наукові» навики технічних спеціалістів • Залучайте

    data scientists та аналітиків до роботи з кодом • Максимальна орієнтація на досягнення цілей, а не на час реалізації • Використовуйте OS-рішення та industry standards технології • Але не бійтесь експериментувати де це доцільно • В рішенні важлива кінцева цінність, а не тільки внутрішня механіка
  12. Особливості тестування • Unit-тести неефективні • Будуйте демо-систему • Уникайте

    «засмічення» баз знань та алгоритмів • Регулярно оновлюйте тестові набори • Розрізняйте помилки навчання та помилки реалізації