Какой объем предварительной обработки требует ввода Vowpal Wabbit?

Я знаю, что vw может обрабатывать очень необработанные данные (например, необработанный текст), но, например, следует ли рассматривать масштабирование числовых функций перед подачей данных в vw? Рассмотрим следующую строку:

1 |n age: 80.0 height: 180.0 |c male london |d the:1 cat:2 went:3 out:4

Если предположить, что типичный возраст колеблется от 1 до 100, а рост (в сантиметрах) может варьироваться от 140 до 220, то лучше преобразовать / масштабировать age а также height так они имеют общий диапазон? Я думаю, что многим алгоритмам может понадобиться такая предварительная обработка их входных данных, например, линейная регрессия.

1 ответ

vw SGD значительно улучшен по сравнению с простейшим SGD, поэтому предварительное масштабирование не требуется.

Если у вас очень мало экземпляров (небольшой набор данных), предварительное масштабирование может несколько помочь.

vw выполняет автоматическую нормализацию для масштаба, запоминая диапазон каждой функции по мере ее появления, поэтому предварительное масштабирование редко требуется для достижения хороших результатов.

Нормализация для масштаба, редкости и важности применяется по умолчанию. Подходящий vw Варианты:

--normalized
--adaptive
--invariant

Если какой-либо из них появляется в командной строке, остальные не применяются. По умолчанию все три применяются.

Смотрите также: этот ответ

Статья, объясняющая расширенный алгоритм SGD в vw является:

Обновления о важности веса в сети - Никос Карампацякис и Джон Лэнгфорд

Другие вопросы по тегам