Читайте также: |
|
В пакете ST Neural Networks возможны два варианта выбора архитектуры сети: метод проб и ошибок и использование автоматического конструктора сети.
При выборе архитектуры методом проб и ошибок стоит придерживаться определенных описанных ниже эвристических правил. Кроме того, в пакете ST Neural Networks имеется встроенная функция Советник - Network Advisor, которая предложит начальную конфигурацию сети, основываясь на свойствах исходных данных. Пока вы экспериментируете, программа будет автоматически хранить лучшую из сетей, полученных к данному моменту. После окончания поиска ее можно будет снова вызвать и работать с ней. Метод проб и ошибок описан в следующих разделах.
Автоматический конструктор сети позволяет «автоматически» проделать все эти эксперименты. При этом он пробует сети самых разных архитектур, с помощью весьма сложных алгоритмов оптимизации и поиска выделяет наиболее перспективные варианты и. наконец, выдает наилучшую из опробованных сетей. Такой процесс может оказаться весьма долгим, поскольку при этом требуется обучить и протестировать сотни тысяч различных нейросетевых моделей.
Если вы располагаете только входными переменными, необходимо использовать сеть Кохонена. Для всех остальных случаев мы дадим несколько общих советов.
Типы сетей
Тип сети | Преимущества | Недостатки |
MLP | Небольшие, быстро работают. | Медленно обучаются. |
RBF | Быстро обучаются. | Большие по размерам. Не могут экстраполировать. |
Линейные | Простые, быстро обучаются. | Не могут решать нелинейные задачи. |
Байесовы | Обучаются очень быстро, имеют хорошую теоретическую основу. | Очень большие, медленно работают, не экстраполируют. |
Первый шаг
Высокая скорость обучения делает байесовы сети хорошей начальной точкой в решении задачи: если такая сеть совсем не может решить задачу, то, вероятно, что этого не сможет сделать и сеть другой архитектуры. Сравнение ее с линейной моделью поможет вам представить, насколько в задаче сильны нелинейные эффекты.
Предостережение. Хотя байесова сеть обычно находит примерный путь решения задачи, она, вообще говоря, не выдает результаты такого качества, как сети других архитектур.
Второй шаг
Теперь можно попробовать другие архитектуры сетей. Иногда сети MLP дают гораздо лучшие результаты, чем байесовы (благодаря нерадиальным элементам), в то время как радиальные базисные функции аналогичны по своей структуре байесовым сетям и дают похожие результаты. Поэтому хорошим вторым шагом будет попробовать MLP и посмотреть, есть ли существенная разница. Если MLP-сети дают результаты хуже, чем байесовы, имеет смысл обратиться к RBF: в них используется тот же радиальный подход, что и в байесовых сетях, но они компактнее.
Во всех случаях следует помнить, что на результат обучения сети могут сильно влиять параметры алгоритма обучения, поэтому не стоит отвергать какую-либо архитектуру, не проделав с ней серию экспериментов.
Окончательный выбор зависит и от того, какая требуется скорость выполнения. Как правило, чем меньше сеть, тем дольше она обучается и тем быстрее работает.
Самое трудное - выбрать число промежуточных слоев и число элементов в них. Вот несколько советов, которые могут вам помочь.
• При использовании многослойного персептрона для большинства задач достаточно одного промежуточного слоя. Если даже при большом числе скрытых элементов не удается уменьшить ошибку до приемлемого уровня, можно попробовать сеть с двумя промежуточными слоями.
• Чем больше число скрытых элементов в сети, тем более сложную задачу она может моделировать, но при этом потребуется более длительное обучение и возникнет опасность переобучения. При экспериментировании следите за тем, как меняются обучающая и контрольная ошибки. Если при добавлении новых элементов уменьшаются обе ошибки, то, по-видимому, сеть пока слишком мала. Если же контрольная ошибка стала намного больше, чем ошибка обучения (и, в частности, если она увеличивается при дальнейшем обучении), то, вероятно, что данная сеть слишком большая.
• Общее число весов и пороговых коэффициентов в сети должно быть меньше, а лучше - намного меньше, чем число обучающих наблюдений. В идеале нужно иметь наблюдений в десять или двадцать раз больше, чем имеется весов. Если обучающих наблюдений недостаточно, следует ограничиться сетями небольших размеров, поскольку для моделирования сложной функции попросту недостает данных. Если число наблюдений меньше, чем число входов, умноженное на число выходов, следует использовать только линейные модели. Недостаток данных - одна из возможных причин для удаления некоторых входных переменных. Даже если эти переменные содержали какую-то информацию, их удаление и последующее уменьшение размера сети может улучшить результат.
Дата добавления: 2015-11-30; просмотров: 25 | Нарушение авторских прав