Вопрос

Кто-нибудь может объяснить мне, как создавать более сложные наборы данных, такие как статистика команды, погода, кости, типы комплексных чисел

я понимаю всю математику и как все работает, я просто не знаю, как вводить более сложные данные, а затем как читать данные, которые они выдают

если бы кто-нибудь мог привести примеры на python, это было бы большим подспорьем

Это было полезно?

Решение

Вы должны кодировать свои входные и выходные данные во что-то, что может быть представлено элементами нейронной сети. (например, 1 для «x» имеет определенное свойство p »-« -1 »для« x не имеет свойства p », если диапазон ваших единиц находится в [-1, 1])

Способ кодирования входных данных и способ их декодирования зависят от того, для чего вы хотите обучить нейронную сеть.

Кроме того, существует множество «нейронных сетей». алгоритмы и правила обучения для различных задач (обратное распространение, машины Больцмана, самоорганизующиеся карты).

Другие советы

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


Входные данные

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

  • Погода:[температура сегодня, влажность сегодня, температура вчера, влажность вчера...] связь между сегодняшней температурой и сегодняшней влажностью устанавливается внутри компании
  • Статистика команды:[рост аве, вес аве, максимальный рост, высший балл, ...]
  • Игральные кости: не уверен, что я это понимаю, вы имеете в виду, как кодировать дискретные значения?*
  • Комплексное число:[а,искусственный интеллект,б,би,...]

* Дискретнозначные объекты сложны, но все равно могут быть закодированы как (0.0,1.0).Проблема в том, что они не предоставляют градиент для определения порога.


Результаты

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

  • Погода:[завтрашний дождь, завтрашняя температура...] **
  • Статистика команды:[шанс на победу, шанс на победу более чем на 20,...]
  • Комплексное число:[x,xi,...]

** Здесь ваш Обучение векторы были бы:1,0, если на следующий день шел дождь, 0,0, если его не было


Конечно, действительно ли проблема может быть смоделирована с помощью нейронной сети - это другой вопрос.

Более сложные данные обычно означают добавление большего количества нейронов во входной и выходной слои.

Вы можете кормить каждое " поле " вашего регистра, должным образом закодированный как действительное значение (нормализованное и т. д.) для каждого входного нейрона, или, может быть, вы даже можете разложить еще дальше в битовые поля, назначив насыщенные входы 1 или 0 для нейронов ... для выхода, это зависит от того, как вы обучаете нейронную сеть, она будет пытаться имитировать выходные данные обучающего набора.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top