Ваупал Ваббит - Википедия - Vowpal Wabbit

Ваупал Ваббит
Скриншот Vowpal Wabbit
Скриншот Ваупал Ваббит
Разработчики)Yahoo! Исследование & потом Microsoft Research
Стабильный выпуск
8.9.0 / 12 ноября 2020 г.; 32 дней назад (2020-11-12)
Репозиторийgithub.com/ VowpalWabbit/ vowpal_wabbit
Написано вC ++
Операционная системаLinux, macOS, Майкрософт Виндоус
ПлатформаКроссплатформенность
ТипМашинное обучение
ЛицензияЛицензия BSD
Интернет сайтобет.org

Ваупал Ваббит (также известный как "VW") является Открытый исходный код быстрый онлайн интерактивный машинное обучение системная библиотека и программа, изначально разработанные в Yahoo! Исследование, и в настоящее время на Microsoft Research. Он был запущен и возглавляется Джон Лэнгфорд. Особенно примечательна интерактивная обучающая поддержка Vowpal Wabbit, в том числе Контекстные бандиты, Активное изучение, и формы управляемых Обучение с подкреплением. Vowpal Wabbit обеспечивает эффективную масштабируемую вне ядра реализация с поддержкой ряда машинного обучения сокращение, взвешивание важности и выбор различных функции потерь и алгоритмы оптимизации.

Примечательные особенности

Программа VW поддерживает:

  • Несколько контролируемых (и частично контролируемых) задач обучения:
    • Классификация (как бинарная, так и мультиклассовая)
    • Регресс
    • Активное изучение (частично помеченные данные) как для регрессии, так и для классификации
  • Множественные алгоритмы обучения (типы моделей / представления)
  • Несколько функции потерь:
    • квадратичная ошибка
    • квантиль
    • петля
    • логистика
    • Пуассон
  • Несколько алгоритмов оптимизации
  • Регуляризация (L1 норма, L2 норма, & эластичная чистая регуляризация )
  • Гибкий ввод - функции ввода могут быть:
    • Двоичный
    • Числовой
    • Категориальный (с помощью гибкого именования функций и хеш-трюк )
    • Может работать с отсутствующими значениями / разреженными функциями
  • Другие свойства
    • Генерация на лету взаимодействий функций (квадратичных и кубических)
    • Генерация на лету N-граммы с дополнительными пропусками (полезно для наборов данных слов / языков)
    • Автоматическая задержка набора тестов и раннее завершение за несколько проходов
    • самонастройка
    • Настраиваемый пользователем онлайн-отчет о ходе обучения + аудит модели
    • Оптимизация гиперпараметров

Масштабируемость

Vowpal wabbit был использован для изучения тера-функции (1012) набор данных на 1000 узлов за один час.[1] Его масштабируемости способствует несколько факторов:

  • Внешнее онлайн-обучение: не нужно загружать все данные в память
  • В трюк с хешированием: идентификаторы функций преобразуются в весовой индекс через хеш (используется 32-битный MurmurHash 3)
  • Использование многоядерных процессоров: анализ ввода и обучение выполняются в отдельных потоках.
  • Скомпилированный код C ++

Рекомендации

  1. ^ Агарвал, Алех; Шапель, Оливье; Дудик, Мирослав; Лэнгфорд, Джон (2011). «Надежная эффективная система линейного обучения Terascale». arXiv:1110.4198 [cs.LG ].

внешняя ссылка