Комментарии, вопросы, пожелания приветствуются.
Буду рад ответить на ваши вопросы: alimbekovr@hotmail.com.

2 заметки с тегом

проект в области Machine Learning

Machine Learning — старт проекта. Часть 2

В предыдущей статье были рассмотрены вопросы запуска проекта в области Machine Learning. В этой же статье вкратце будут вопросы инфраструктуры, структуры платформы, цикла работы модели и самое главное метрик измерения качества моделей.

Machine Learning - старт проекта. Часть 2

Инфраструктура проекта в области Machine Learning:

  1. Создание данных
    • Стационарные и мобильные датчики
    • Системы сбора данных об использовании Интернета
    • Протоколирование событий, хранение протоколов
    • Аудио/видео записи
  2. Извлечение данных
    • Извлечение данных из открытых источников — социальные сети и т. п.
    • Импорт данных из внешних источников — покупка данных,
  3. Обработка данных
    • Инфраструктура для обработки данных пакетами или в реальном времени
  4. Инфраструктура облачная, собственная, переходные варианты

Платформа и сервисы для проекта в области Machine Learning:

  1. Структура платформы BD/ML
    • Средства сбора данных
    • Средства хранения данных
    • Среда разработки и обучения моделей
    • Runtime модули готовых моделей
    • Средства интеграции runtime моделей
  2. Внешние сервисы BD/ML

Цикл работы модели:
Этапы:

  • Data Upload — загрузка и преобразование данных
  • Model Learning — обучение модели на основании загруженных данных
  • Prediction — генерация предсказаний или предписаний в ответ на запросы заказчика
  • Application — применение предсказаний или предписаний
  • Evaluation — измерение результата, сравнение с контрольной выборкой

Теперь самое интересное — метрики оценки алгоритмов машинного обучения.
Метрики оценки алгоритмов классификация

  • Точность и полнота = precision and recall
  • Precision-recall curve
  • ROC curve
  • AUC = Area under the curve

Метрики оценки алгоритмов регрессия

  • MSE, RMSE
  • Log-likelihood, log-loss

Метрики оценки для бизнеса алгоритмов рекомендаций

  • Up-sell, cross-sell
  • Что порекомендовать, чтобы купил?
  • Оптимизируем отклики?
  • 1000 откликов на автоплатеж vs 1 ипотека
  • Оптимизируем выручку

Метрики оценки алгоритмов — Speech recognition

  • WER = Word Error Rate
Word Error Rate

, где C — число слов в эталоне, S — число замен, D — число пропущенных слов, I — число «лишних» слов

Сознательно не описывал каждую метрику формулой. Эти метрики достаточно стандартны. О них много информации в Интернете. Здесь больше справочно приведена информация для того, что бы помнить какую метрику когда применять.

Machine Learning — старт проекта

В этой статье постараюсь раскрыть мысли по поводу необходимых шагов для старта проекта в области Machine Learning. Но для начала немного вводной информации, о том, что понадобиться для старта проекта.

Machine Learning - старт проекта

Необходимы следующие данные:

  1. Набор данных для обучения
    • Исторические данные — для обучения предсказательных моделей
    • Обучающая выборка — образцы того, что мы хотим найти/предсказать — для обучения модели
    • Достаточной глубины (с учетом сезонности и т. п. до нескольких лет)
    • Достаточного объема, репрезентативная выборка
  2. Набор данных для тестирования
    • Исторические данные — для тестирования предсказательных моделей
    • Тестовая выборка — для проверки качества модели
    • Достаточного объема, репрезентативная выборка
  3. Актуальные данные — материал для работы модели

Можно использовать следующие источники данных:

  1. «Сырые» данные — логи разного рода, фотографии, аудиозаписи
  2. Структурированные данные — корпоративные системы, комплексные хранилища данных (КХД), системы управления контентом (ECM) в том числе метаданные
  3. Внешние данные
    • Открытые источники (соцсети , интернет)
    • Приобретаемые данные

Проблема с которой вы можете столкнуться, это чувствительность данных. Решает следующими методами:

  1. Деперсонализация — замена персональных идентификаторов на условные (хэширование, кодирование и т. п.)
    • Снижает категорию персональных данных
    • Облегчает обмен данными со сторонними организациями
    • Не решает проблему полностью
  2. Обфускация — искажение данных таким образом, чтобы снизить чувствительность, но сохранить полезность
    • Существенно снижает риски утечки или злоупотребления
    • Требует предварительного согласования в зависимости от использования данных

Теперь перейдем непосредственно к старту проекта. Для начала необходима стратегия работы, которую нужно определить заранее:

  1. Обеспечение наличия и доступности данных для произвольных задач
    • Сбор собственных данных
    • Сбор открытых данных
    • Приобретение чужих данных
  2. Экспериментальный подход к бизнесу (A/B тестирования и эксперименты как таковые)
  3. Использование своих и внешних ресурсов и инструментов

Раскроем каждый пункт подробнее.
Обеспечение сбора и доступности данных — собственные данные:

  1. Постулирование ценности данных, независимо от возможности их немедленного использования
  2. Переоценка полезности данных с учетом применения технологий BD/ML
    • Структрированные транзакционные
    • Неструктурированные
    • Логи и т. п.
  3. Инвентаризация потоков данных, с учетом переоценки, пересмотр подхода к хранению данных
    • Форматы
    • Сроки

Обеспечение сбора и доступности данных — внешние данные:

  1. Поиск внешних источников и поставщиков данных
  2. Создание и развитие механизмов сбора и «интеграции» внешних и внутренних данных
  3. Последовательная работа по оценке полезности внешних данных, включению их в повседневную деятельность

Экспериментальный подход к бизнесу:

  1. Постепенный переход от субъективных экспертных оценок к объективным экспериментальным
  2. Формирование культуры эксперимента
    • Постоянное проведение экспериментов
    • Значительное внимание к дизайну экспериментов
    • Требование измеримых результатов

Необходимо помнить, что проекты в области Machine Learning, обладают рядом особенностей:

  1. Внимание на данные, а не на функции. Функционально решение крайне бедное, в общем случае реализуется одна функция
  2. Ограниченная применимость отработанных подходов внедрения, ориентированных на функции
  3. Вместо функционального ТЗ — требования к качеству модели
  4. Вместо опытной эксплуатации — эксперимент
  5. Во время промышленной эксплуатации необходима постоянная оценка и подстройка модели

Теперь переходим к самой главной части статьи. Жизненный цикл проекта в области Machine Learning:

  1. Определение целей, ограничений, критериев успеха — инициирование
  2. Определение требований к данным, доступности данных, получение образцов данных
  3. Определение формата результатов и способов использования результатов, детальное описание эксперимента, фиксация рамок проекта
  4. Передача и прием данных, препроцессинг, мэтчинг
  5. Построение, обучение, тестирование модели
  6. Экспериментальная проверка модели, опытная эксплуатация
  7. Интеграция модели в ИТ-инфраструктуру
  8. Эксплуатация решения, завершение проекта, промышленная эксплуатация и поддержка

Этап первый — Инициирование проекта

  1. Определение цели и критериев успеха в терминах бизнеса
  2. Оценка доступности данных
  3. Оценка реалистичности задачи
  4. Определение возможности и формы экспериментальной проверки
  5. Предварительное планирование

Этап второй- Определение требований к данным

  1. Инвентаризация доступных данных
  2. Номенклатура
  3. Образцы
  4. Объем
  5. Глубина
  6. Наличие обучающей выборки (при необходимости)

Оценка достаточности данных и возможности получения дополнительных данных. Определение чувствительности данных, возможности и формы их передачи, методов защиты и снижения чувствительности данных.

Этап третий- Определение формата результатов, фиксация рамок проектам

  1. Определение формата и способа использования результатов проекта
    • Данные — выгрузка / загрузка
    • Сервис по обработке данных
    • Результаты анализа данных
    • Модель как таковая (вместе со средой исполнения или отдельно)
  2. Детальное описание эксперимента
  3. Планирование проекта
  4. Фиксация рамок проекта, включающих все аспекты проекта

Этап четвертый- Передача и прием данных, препроцессинг, мэтчинг

  1. Определение способа передачи данных
    • По каналам связи
    • На носителях
  2. Препроцессинг
    • Обфускация
    • Деперсонализация
  3. Прием данных
    • Оценка соответствия соглашениям
    • Проверка полноты
  4. При необходимости мэтчинг данных из разных источников
    • Чем меньше обработаны и обфусцированы данные, тем проще мэтчинг
    • Определение технологий мэтчинга

Этап пятый- Построение, обучение, тестирование модели
С точки зрения управления этот этап «черный ящик». Что видно снаружи:

  1. Успешность приема данных, согласие с их достаточностью
  2. Определенность внутренних метрик качества
  3. Появление первой версии модели измеримого качества
  4. Повышение качества модели от версии к версии
  5. Соблюдение графика / отставание от графика

Этап шестой- Экспериментальная проверка модели

  1. Практическая реализация эксперимента
  2. Сбор данных в ходе эксперимента
  3. Расчет итогов
  4. Оценка результатов
  5. Решение о продолжении проекта / запуске сервиса

Этап седьмой- Интеграция модели в ИТ инфраструктуру

  1. Выбор способа интеграции
  2. Определение места размещения runtime части модели

Этап восьмой- Эксплуатация и поддержка модели
Определение Service Level Agreement (SLA)

Вот и все. Надеюсь эта информация поможет вам при запуске проектов в области Machine Learning.