как обучить нейронную сеть с вероятностным вводом

Привет и спасибо за помощь,

Мой вопрос - это давняя проблема, которую я пытаюсь решить:

  • Как мы обучаем нейронную сеть, если входными данными является вероятность, а не значение?

Чтобы сделать его более интуитивным:

  • Допустим, у нас есть 6 функций, и значение, которое они могут принимать, равно 1 или -1 для каждой.

  • Их значение определяется вероятностно, например, признак 1 может быть равен 1 с вероятностью 60% или -1 с вероятностью 30%.

Как мы обучаем сеть, если в каждом испытании мы можем получить значение INPUT в соответствии с распределением вероятности каждой функции?


person Community    schedule 24.06.2016    source источник


Ответы (2)


На самом деле ответ более сложен, чем вы могли ожидать, поскольку многие существующие нейронные сети фактически обучаются именно таким образом. Тебе нужно ... ничего не делать. Просто сделайте выборку из своей партии на каждой итерации в соответствии с вашим распределением, и все. Нейронная сеть не требует конечного обучающего набора, поэтому вы можете эффективно обучать ее на «потенциально бесконечном» (генераторе выборок). Именно это и делается при обработке изображений с помощью увеличения изображения - каждый пакет состоит из случайных подвыборок изображений (участков), которые выбираются из очень простых распределений вероятностей.

@Nagabuhushan предлагает решить другую проблему - где вы знаете априорную вероятность каждой выборки, что, согласно вопросу, не так:

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

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

person lejlot    schedule 24.06.2016

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

Изменить: я думаю, что, возможно, неправильно понял вопрос. Ваши входные данные состоят из вероятностей или единиц и -1? В последнем случае хорошо спроектированная сеть должна изучать дистрибутивы самостоятельно. Просто не забудьте обучить его тому же входному пространству, по которому вы будете его оценивать.

person Dylon    schedule 24.06.2016
comment
Спасибо, Дилон. Отличный ответ. В соответствии с вашим ответом, у меня последний вопрос. Итак, скажем, в испытании 100 входной сигнал генерируется как -1 с вероятностью 30%, тогда я должен ввести 0,6 (вероятность 1)? Однако в этом случае обучающий результат также должен быть вероятностным, как распределение вероятностей 1 и -1 в качестве выходных данных. (60% шанс получить 1 в качестве входных данных и, скажем, 50% шансов получить 1 в качестве результатов обучения) Я прав? - person ; 24.06.2016
comment
Какова ваша цель с сетью? Не думаю, что понимаю, что ты хочешь делать. Кроме того, если вероятность получения -1 составляет 30%, то вероятность получения 1 составляет 100% - 30% = 70% или 0,7 (но это формальность). - person Dylon; 24.06.2016
comment
Вы рассматриваете признаки как последовательности единиц и -1 и пытаетесь предсказать, будет ли следующее число 1 или -1? - person Dylon; 24.06.2016
comment
Входные данные состоят из единиц или -1, однако генерируются вероятностно. Итак, в каждом испытании мы не знаем точных входных данных, но знаем их вероятность. Это может быть 1 с вероятностью, скажем, 60%. Однако с вероятностью 30% он также может быть равен -1. Нам нужно как минимум 100 испытаний, чтобы выявить вероятностное распределение входных данных. - person ; 24.06.2016
comment
Входная последовательность будет состоять из единиц или -1, сгенерированных с вероятностью. Эта проблема заключается в моделировании нейронной основы принятия решений. - person ; 24.06.2016
comment
Что вы хотите от сети? Как должен выглядеть его результат? - person Dylon; 24.06.2016
comment
Сеть будет классификатором. Один за всех. Среди 4 вариантов будет выбран один. Однако у опционов будут вероятностные входные данные. Так что обучение экземпляра сети по экземпляру для меня загадка. Одно из решений может заключаться в том, что после, скажем, 100 испытаний у нас может быть фактическое распределение вероятностей для входных данных. Мы уже знаем вероятность выходов. Так что, возможно, мы сможем использовать эти два для обучения сети. Просто догадка... - person ; 24.06.2016