Предположим, я хочу обучить глубокую нейронную сеть выполнять классификацию или регрессию, но я хочу знать, насколько достоверным будет прогноз. Как я мог этого добиться?
Моя идея состоит в том, чтобы вычислить кросс-энтропию для каждого тренировочного материала, основываясь на его прогнозирующей способности в нейросчетчиках выше. Затем я подготовил бы вторую нейронную сеть для регрессии, которая взяла бы каждый элемент данных в качестве входных данных, а перекрестную энтропию - в качестве выходных данных (один выходной узел). Затем вы будете использовать обе сети на практике - одну для прогнозирования метки / значения, а другую для прогнозирования достоверности первой сети. (.... Но нужна ли мне тогда третья сеть для прогнозирования доверия ко второй сети и т. Д.?!)
Это правильная идея? Кроме того, это стандартная идея обычно используется? Если нет, что бы вы предложили?
источник
Ответы:
Возможно, я неправильно понимаю вопрос, но для классификации мне кажется, что стандартным способом является наличие выходного нейрона для каждого из
N
классов.Тогда
N
вектор[0, 1]
выходных значений представляет вероятность входных данных, принадлежащих каждому классу, и поэтому может быть интерпретирован как «достоверность», которую вы хотите получить.источник
Для тех, кто интересуется оценкой достоверности прогноза NN, вы можете взглянуть на Dropout как байесовское приближение: представление неопределенности модели в глубоком обучении (Gal et al., 2016) . Вкратце, он демонстрирует, как дисперсия предсказаний сети с выпадением по совокупности прогонов, в которых выполняется отсев, может использоваться для оценки достоверности предсказания. Этот подход может использоваться для сетей, предназначенных для классификации или регрессии.
источник