Искусственные нейронные сети - PullRequest
3 голосов
/ 17 сентября 2011

Я хочу знать, можно ли применять искусственные нейронные сети для ввода дискретных значений? Я знаю, что они могут быть применены к входным данным с непрерывной оценкой, но могут ли они быть применены к дискретным входным данным? Кроме того, будет хорошо работать для дискретных входных данных?

Ответы [ 4 ]

2 голосов
/ 24 декабря 2011

Да, искусственные нейронные сети могут применяться к данным, имеющим входные переменные с дискретным значением.В наиболее часто используемых архитектурах нейронных сетей (которые являются числовыми) дискретные входные данные обычно представлены серией фиктивных переменных, как в статистической регрессии.Кроме того, как и в случае с регрессией, требуется на единицу меньше числа фиктивных переменных.Есть и другие методы, но это самый простой способ.

1 голос
/ 18 сентября 2011

Ну, хороший вопрос, позвольте мне сказать!

Прежде всего, позвольте мне прямо ответить «да» на ваш вопрос!

Ответ подразумевает рассмотрение нескольких аспектов использования и реализации самой сети.

Чем разрешитьЯ объясню, почему:

  • Самый простой способ - нормализовать ввод как обычно, это первое практическое правило с NN, чем позволить нейронной сети вычислить задачу, и как только вы получите свой вывод, инвертируйтенормализация, чтобы получить вывод в исходном диапазоне, но все еще непрерывный, чтобы получить обратно конкретные значения, просто рассмотрите целочисленную часть вашего вывода.Это легко, это работает и хорошо, СДЕЛАНО!Хороший результат зависит только от топологии, которую вы разрабатываете для своей сети.

В качестве плюса вы могли бы рассмотреть использование «пошаговой» передаточной функции вместо «tan-sigmoid» между слоями просто дляСила и имитация своего рода оцифровки, заставляя выходной сигнал быть только 0 или 1. Но вы должны пересмотреть также начальную нормализацию, а также использование хорошо настроенных порогов.

NB: этот последний трюк не является действительно необходимымно может дать некоторые вторичные выгоды;возможно, протестируйте его на втором этапе своего развития и посмотрите на различия.

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

Приветствия!

0 голосов
/ 05 декабря 2013

Я опаздываю на этот вопрос, но это может кому-то помочь.

Скажем, у вас есть категориальная выходная переменная, например, 3 разных категории (0, 1 и 2),

выходы

0
2
1
2
1
0

затем становится

1, 0, 0
0, 0, 1
0, 1, 0
0, 0, 1
0, 1, 0
1, 0, 0

Возможный результат NN:

0.2, 0.3, 0.5  (winner is categ 2) 
0.05, 0.9, 0.05  (winner is categ 1)
... 

Тогда ваш NN-холм имеет 3 выходных узла в этом случае, поэтому примите максимальное значение. Чтобы улучшить это, используйте энтропию как меру погрешности и активацию softmax на выходном слое, так что выходы суммируются до 1.

0 голосов
/ 18 сентября 2011

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

...