Разработка нейросетевой модели

На основании приведенных моделей искусственных нейронов формируется искусственная нейронная сеть с организацией множественных внутренних связей. Далее она превращается в адекватную модель с требуемым поведением и реализуется программно или аппаратно.

Задача программиста при этом состоит в следующем:

1. Определить размерность входного и выходного векторов для моделируемого объекта.

2.Сформировать (получить) совместно со специалистом из предметной области обучающую выборку. Обучающая выборка задается как набор пар вида «значение сигналов на входе объекта – соответствующее значение выходов».

3. Разделить обучающую выборку на две части: для тестирования и для обучения.

4. Подобрать вид искусственной нейронной сети и задать количество нейронов.

5. Обучить сеть (настроить весовые коэффициенты W и b – для линейных, и C и 1/ d – для радиальных нейронов) и протестировать её на адекватность поведения моделируемому объекту с помощью частей выборки, полученных в п. 3.

6.При неадекватном поведении модели повторить п.п. 3÷5.

7. Реализовать полученную модель.

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

Более подробно структуры, принципы формирования, алгоритмы обучения нейронных сетей и т.д. изучаются в курсе «Основы искусственного интеллекта».

24. Основные типы ошибок
в программах

В программах обычно различают три типа ошибок:

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

Пример. В языке Pascal каждое служебное слово BEGIN должно заканчиваться словом END, оба этих слова должны иметь фиксированное (например, без сокращений) написание, целая часть числа должна отделяться от дробной с помощью точки и т.д.

Синтаксические ошибки обычно возникают из-за описок (ошибок ввода текстов программ), незнания синтаксиса используемого языка программирования, нечеткого представления о структуре программы (например, забывание конечных END при многочисленных вложениях составных операторов).

Большинство синтаксических ошибок фиксируется компиляторами и поэтому достаточно легко устраняется.

2. Семантические ошибки – это нарушение логики, структуры программы, неправильное использование структур данных.

Пример. Деление на нуль, использование несуществующих номеров элементов массива, исчерпание оперативной памяти, использование одной переменной вместо другой и др.

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

3. Прагматические ошибки – это нарушение требований к структуре и назначению программы и ее функций.

Пример. Непригодный дизайн интерфейса: позабыта предусмотренная функция прикладной программы типа предоставления предварительного просмотра отчета о структуре выдаваемого на печать документа.

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

При поиске ошибок можно руководствоваться следующими «законами программиста»:

1. В любой программе всегда имеется хотя бы одна ошибка.

2. Последняя из найденных ошибок никогда не является последней.

Основная трудность при этом – установление экономического оптимума: когда дальнейшее тестирование программы станет невыгодным.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: