2016-01-19 2 views
0

Я заметил, что Н2О packages mentions that it:Н2О в R - Автоматическая обработка данных

предварительную обработку данных, которые будут стандартизированы для совместимости с функциями активации (напомним, таблица 1 Резюме целевого пространства каждой активации функцию, в). Так как функция активации не , как правило, отображается в полный спектр действительных чисел, R, сначала стандартизовать наши данные, которые будут нарисованы из N (0, 1). Стандартизация снова после распространения сети позволяет нам вычислять более точные ошибки в это стандартизованное пространство, а не в необработанном пространстве признаков. Для автокодирования данные нормируются (вместо стандартизованных) на компактный интервал mathcalU (-0,5, 0,5), чтобы разрешить ограниченную активацию функционирует как Tanh для лучшей реконструирования данных.

Однако я не совсем понимаю. Мое впечатление было (here и here), что категориальные переменные должны быть разбиты на манекены 1-из-C и нормализованные непрерывные данные. Затем все должно быть стандартизировано до [-1,1].

Я также не вижу способа указания нейронов для считывающего слоя. Я думал, что если у нас есть категориальная выходная переменная, то мы хотим использовать функцию активации softmax (и кодировать как 1-из-C)/если у нас есть выходной (например, цена), тогда мы масштабируем его до [- 1,1] и использовать «TANH» /, если мы имеем одиночных двоичный выхода тогда мы можем использовать логистические и код его как [0,1]

ответ

1

для классификации и регрессии (т.е., контролируемый режим), H 2 O Глубокое изучение выполняет следующие действия: манекены

Входное гнездо в первый слоя нейронной сети действительно 1-из-C (либо 0 или 1) для категориальных признаков. Непрерывные функции стандартизированы (не нормированы): де-значение и масштабирование на 1/дисперсию.

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

Для классификации мы используем Softmax для получения вероятностей для классов C, даже для двоичной классификации.

В приведенной вами документации также упоминается автоматическое автоподключение без контроля (путем включения флага автокодера). В этом случае вход нормализуется (т. Е. Масштабируется на 1/(max-min)) вместо стандартизации. Это необходимо для того, чтобы автокодер мог полностью перекрывать входные и выходные пространства.

+0

Большое спасибо! Разве не так, что более эффективно масштабировать двоичные входы как (-1,1) - центрированные около начала координат, а также для категориальных, используя, например: urban = (0 1), suburban = (1 0) и rural = (-1 -1)?Или наличие единицы смещения означает, что кодирование эффектов (-1 для пропущенных) эквивалентно стандарту кодирования 1-of- (C-1)? Кроме того, поскольку непрерывные признаки только стандартизированы, то это не означает, что мы имеем один вход с диапазоном от 0 до 1, а другой с диапазоном от 0 до 1000000, что приводит к его «вкладу», избыточному питанию крошечного (0,1)? – mptevsion

+0

Я просто получал этот бит «Если вы знаете, что некоторые входы важнее других, это может помочь масштабировать входы таким образом, чтобы более важные из имели большие отклонения и/или диапазоны» от нейронных сетей/part2/FAQ Как представляется, нормализация непрерывных входов даст им ряд, например: (-10,10) по сравнению с категориальным (0,1) и, следовательно, более важным в нейронной сети? Если они нормализованы и (0,1), так что все наши входы (0,1), то это, по-видимому, противоречит тому, что использование (-1,1) является более эффективным. Благодаря! Смущенный. – mptevsion

+0

извините последнее: это тот случай, что используемый метод нормализации зависит от функций активации в скрытом слое? Чтобы свести к минимуму смещение, мы хотим использовать диапазон, который попадает внутрь входа в функцию активации, которая создает неровный градиент? Таким образом, tanh имеет более широкий диапазон, чем сигмовидный, и ReLU имеет более широкий диапазон, чем tanh? Итак, для ReLU мы хотим иметь ввод> 0? Благодаря! – mptevsion

1

Ие достигается эффект 1-из-C фиктивного кодирования, без стоимости. Точные детали зависят от алгоритма, но всегда есть очевидная алгоритмическая оптимизация, которая дает прогностическую силу фиктивной кодировки без затрат на память или скорость.

Клифф

 Смежные вопросы

  • Нет связанных вопросов^_^