Обучение линейного нейрона

Автор работы: Пользователь скрыл имя, 28 Января 2012 в 18:23, курсовая работа

Описание работы

Целью выполнения курсового проекта является расширение теоретических и закрепление практических знаний, полученных в ходе аудиторных и самостоятельных занятий.
Для достижения поставленной цели необходимо решить следующие задачи:
самостоятельное изучение специальной литературы
изучение встроенных инструментальных средств системы для математических расчетов MATLAB
рассмотрение возможностей и особенностей базового программного обеспечения из состава ППП Neural Network Toolbox (NNT) ПС MATLAB 6

Содержание работы

Введение 3
1. Аналитическая часть
1.1 Содержательная и математическая постановка решаемой задачи 5
1.2 Краткое описание возможностей ПС MATLAB 6.1 и тулбокса NNT 12
1.3 Краткое описание возможностей и особенностей использования приложений Notebook 17
1.4 Требования к разрабатываемому приложению 22
2. Практическая часть 24
Заключение 29
Список использованных источников

Файлы: 1 файл

КУРСОВАЯ_ИИС.doc

— 285.00 Кб (Скачать файл)

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

   Для первого и второго способа  инициализация сети проводится при ее создании с помощью функции initzero. Адаптация и обучение сети затем осуществляется с помощью функции adaptwb, которая модифицирует веса и смещения, используя функцию Видроу – Хоффа hearnwh до тех пор, пока не будет достигнуто требуемое значение критерия качества обучения в виде средней квадратичной ошибки, вычисляемой функцией mse.

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

                       [W b]*[P;ones]=T,

при этом должно выполняться условие

                         S*R + S = Q.

   Функция learnwh вычисляет приращение  весов входов и смещений по  следующим векторным формулам: 

  pn = p/(sqrt(1+P(1)^2)+… +P(R)^2);

  dW = lr*e*pn;

  db = lr*e. 

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

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

1.2. Краткое описание возможностей ПС MATLAB 6.1 и тулбокса NNT. 

Возможности ранних версий MATLAB 

Уже первые, ориентированные на Microsoft Windows, версии системы (MATLAB 4.x) обладали мощными средствами выполнения научно-технических вычислений и их визуализации. В их числе задание и применение обычных векторов и матриц, разреженных матриц, многомерных массивов, массивов ячеек и структур. Уже системы MATLAB 5.* обладали обширными возможностями в визуализации результатов вычислений и имели десятки пакетов расширения.  

Возможности версий MATLAB 6.0/6.1 

Версия  системы MATLAB 6.0 не только позволяет  заменить предшествующие

версии, но и характеризуется целым рядом новых и важных возможностей:

• доведенное до более чем 600 число встроенных функций и команд;

• новый  интерфейс с набором инструментов для управления средой, вклю-

чающий  в себя окно команд (Command Window), окно истории команд

(Command History), браузер рабочей области (Workspace Browser) и редактор

массивов (Array Editor);

• новые  инструменты, позволяющие при помощи мыши интерактивно ре-

дактировать и форматировать графики, оптимизировать их коды и затраты

памяти  на графические команды и атрибуты;

• улучшенные алгоритмы на основе оптимизированной библиотеки

LAPACK;

• новая  библиотека FFTW (быстрых преобразований Фурье) Массачусетско-

го технологического института;

• ускоренные методы интегральных преобразований;

• новые, более мощные и точные алгоритмы интегрирования дифференци-

альных  уравнений и квадратур;

• новые  современные функции визуализации: вывод на экран двумерных изо-

бражений, поверхностей и объемных фигур в  виде прозрачных объектов;

• новая  инструментальная панель Camera для управления перспективой и ус-

корение вывода графики с помощью OpenGL;

• новый  интерфейс для вызова Java-процедур и использования Java-объектов

непосредственно из MATLAB;

• новые, современные инструменты проектирования графического пользова-

тельского интерфейса;

• обработка (регрессия, интерполяция, аппроксимация  и вычисление основ-

ных статистических параметров) графических данных прямо  из окна гра-

фики;

• новое  приложение MATLAB для системы разработки Visual Studio, позво-

ляющее  автоматически, непосредственно из Microsoft Visual Studio, преобра-

зовывать  Си и Си++ коды в выполняемые MATLAB файлы (МЕХ-файлы);

• интеграция с системами контроля версий кода, такими как Visual Source

Safe;

новый интерфейс (последовательный порт) для обмена данными с внеш-

ним оборудованием  из MATLAB;

• новый  пакет управления измерительными приборами (Instrument Control

ToolBox) для  обмена информацией с приборами,  подключенными к Каналу

общего  пользования (GPIB, HP-IB, 1EEE-488) или к шине VXI через адап-

тер VXI — GPIB (только в версиях для Windows и Sun Solaris) и последова-

тельному  интерфейсу RS-232, RS-422, RS-485 (также и  для Linux-версии), в

том числе  в соответствии со стандартом VISA (Virtual Instruments Systems

Application — Применение виртуальных измерительных приборов);

• существенно  обновленные пакеты расширения, в  частности, новые версии

пакета  моделирования динамических систем Simulink 4 и Real Time

Workshop 4;

• интеграция с системами управления потребностями, например, DOORS.

Поставляемый  с системой MATLAB 6.0 новый пакет расширения Simulink 4

также имеет ряд новинок. Они перечислены  ниже по категориям.

Усовершенствование  пользовательского интерфейса:

• новый  графический отладчик для интерактивного поиска и диагностики

ошибок  в модели;

• усовершенствован навигатор моделей (Model Browser, Windows 95/98/Me/

2000/NT4);

• новый  однооконный режим для открытия подсистем;

• контекстное  меню для блок-диаграмм (открывается  щелчком правой кноп-

ки мыши) как в Windows, так и в Unix версиях;

• новый  диалог Finder для поиска моделей и  библиотек. 

Все это  говорит о том, что двенадцатый  выпуск системы (MATLAB 6.0 + Simulink 4.0 + Stateflow 4.0 +...) подвергся не косметической, а самой серьезной переработке, выдвигающей эту систему на новый уровень развития и применения. Вышедшая вслед за MATLAB 6.0 версия MATLAB 6.1 претерпела несущественные изменения. В нее, в частности, добавлены всего три новые функции — одна по обработке строк и две по реализации звуковых возможностей. Однако существенно обновился набор пакетов расширения этой системы. Тем не менее считать MATLAB 6.1 новой реализацией нельзя и не случайно MathWorks объявила MATLAB 6.1 лишь модификацией MATLAB 6.0. 

Neural Network Toolbox обеспечивает всестороннюю поддержку проектирования, обучения и моделирования множества известных сетевых парадигм, от базовых моделей персептрона до самых современных ассоциативных и самоорганизующихся сетей. Пакет может быть использован для исследования и применения нейронных сетей к таким задачам, как обработка сигналов, нелинейное управление и финансовое моделирование.

NNTool позволяет создавать следующие сети:  

№ п/п  Тип сети Название  сети Число слоев  Обучаемые параметры 
1 Competitive Конкурирующая сеть 1 IW{1, 1}, b{ 1}
2 Cascade-forward backprop Каскадная сеть с прямым распространением сигнала  и обратным распространением ошибки 2 IW{1, 1}, b{1}

LW{2, 1}

IW{2, 1}, b{2}

3 Elman backprop Сеть Элмана с обратным распространением ошибки 2 IW{1, 1}, b{1}

LW{2, 1}, b{2}

LW{2, 1},

4 Feed-forward backprop Сеть с прямым распространением сигнала и обратным распространением ошибки 2 IW{1, 1}, b{1}

LW{2, 1}, b{2}

5 Time delay backprop Сеть с запаздыванием  и обратным распространением ошибки 2 IW{1, 1}, b{1},

LW{2, l},b{2}

6 Generalized regression Обобщенная  регрессионная сеть 2 IW{1, 1}, b{1},

LW{2, l}

7 Hopfield Сеть Хопфилда 1 LW{l, l},b{l}
8 Linear layer (design) Линейный слой (создание) 1 IW{1, 1}, b{1}
9 Linear layer (train) Линейный слой (обучение) 1 IW{1, 1}, b{1}
10 LVQ Сеть для  классификации входных векторов 2 IW{1, 1}, LW{2, 1}
11 Perceptron Персептрон  1 IW{1, 1), b{l}
12 Probabalistic Вероятностная сеть 2 IW{1, 1}, b{l}, LW{2, 1}
13 Radial basis (exact fit) Радиальная  базисная сеть с нулевой ошибкой  2 IW{ 1, 1}, b{ 1},

LW{2, 1}

14 Radial basis (fewer neurons) Радиальная  базисная сеть с минимальным числом нейронов 2 IW{1, 1}, b{ 1},

LW{2, 1}, b{2}

15 Self-organizing map Самоорганизующаяся  карта Кохонена 1 IW{1, 1}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

1.3. Краткое описание  возможностей и  особенностей использования  приложений Notebook 

Открытие  нового документа  класса Notebook

Для создания своего Notebook откройте меню Файл текстового процессора при загруженном в  него файле readme. Вы обнаружите в этом меню новую команду New M-book (Создание новой М-книги). Выполнив ее, вы увидите  пустое окно, в котором можно вводить  обычный текст. При этом правила ввода текста полностью совпадают с таковыми для текстового процессора Word. В частности, вы можете задавать любые стили и выделения в текстовой части создаваемого

Notebook.

Иногда  из-за неточностей в установке  файловой структуры такой способ не дает положительного результата. На этот случай в каталоге NOTEBOOK предусмотрено два пустых файла шаблонов: M-book.dot (для Word 97 и более поздних версий) и Mbook95.dot (для Word 95). Загрузив эти файлы, можно установить Word для подготовки документа в виде Notebook, причем окно документа будет пустым и готовым для задания нового документа в формате шаблона.

Ячейки  ввода MATLAB в тексте Word

Ячейки  ввода MATLAB можно ввести прямо в  текст документа. Для этого текст  ячейки ввода набирается в Word как обычный текст. Затем он выделяется (с помощью мыши или клавиш перемещения по горизонтали при нажатой клавише Shift) и фиксируется нажатием клавиш Ctrl + Enter или исполнением команды

Evaluate Cell из меню Notebook.

Преобразование  текстов Word в ячейки ввода

Иногда  желательно создать Notebook из самого обычного файла редактора Word. Для этого  надо создать новый Notebook и загрузить  нужный файл, используя команду Файл (File) меню Вставка (Insert). В созданный  таким образом шаблон Notebook можно  добавить ячейки ввода MATLAB.

Математические  формулы в Notebook

В документы Notebook можно вводить математические формулы любого вида.

Для этого  достаточно воспользоваться встроенным в Word редактором математических формул. Наряду с файлом readme.doc в новых  версиях MATLAB обычно поставляется файл sigprog.doc, содержащий документ с описанием свертки матриц для обработки сигналов.

Сохранение  документов класса Notebook

Созданный Notebook записывается так же, как любой  другой документ Word.

Информация о работе Обучение линейного нейрона