R h2o.deeplearning получения вероятностей с режимом классификации - PullRequest
0 голосов
/ 26 марта 2019

Я использую h2o.deeplearning для обучения нейронной сети при выполнении задачи классификации.

Что у меня есть

Y ~ x1 + x2 ... где все переменные x непрерывны, а Y двоичен.

Что я хочу

Чтобы иметь возможность обучать объект глубокого обучения, чтобы предсказать вероятность того, что данный ряд будет истинным или ложным. То есть прогнозируемое (Y) ограничено значением от 0 до 1.

Что я пробовал Когда Y вводится как число (то есть 0 или 1), глубокое обучение автоматически обрабатывает его как проблему регрессии. Это нормально, за исключением того, что последний слой NN является линейным, а не tanh, и прогнозируемые значения могут быть больше 1 или меньше 0. Я не смог найти способ получить последний слой, чтобы быть tanh .

Когда Y вводится как категориальный (т. Е. ИСТИНА или ЛОЖЬ), h2o deeplearning автоматически рассматривает его как проблему классификации. Вместо того, чтобы дать мне желаемую вероятность того, что Y равен 1 или 0, он дает мне лучшее предположение о том, что такое Y.

Есть ли способ обойти это? Уловка, настройка или пропущенный параметр? В документации по h2o.deeplearning я заметил параметр 'distribution', но никакой дополнительной информации о том, для чего он нужен. Я думаю, что это какая-то функция связи в том же духе, что и GLM, но я не уверен.

1 Ответ

1 голос
/ 26 марта 2019

Если вы рассматриваете проблему как проблему бинарной классификации, то вы получаете не только «прогноз» 0 или 1, но также вероятности p0 и p1, которые в сумме составляют 1. Это вероятности того, что прогнозируемое значение является отрицательный и положительный класс соответственно.

Тогда просто используйте p1 напрямую.

...