Автор работы: Пользователь скрыл имя, 01 Июня 2013 в 10:43, курсовая работа
В качестве научного предмета искусственные нейронные сети впервые заявили о себе в 40-е годы. Стремясь воспроизвести функции человеческого мозга, исследователи создали простые аппаратные (а позже программные) модели биологического нейрона и системы его соединений. Когда нейрофизиологи достигли более глубокого понимания нервной системы человека, эти ранние попытки стали восприниматься как весьма грубые аппроксимации. Тем не менее на этом пути были достигнуты впечатляющие результаты, стимулировавшие дальнейшие исследования, приведшие к созданию более изощренных сетей. Первое систематическое изучение искусственных нейронных сетей было предпринято Маккалокком и Питтсом в 1943 г.
Введение
1.Аналитическая часть
1.1 Содержательная и математическая постановка решаемой задачи
1.2 Описание возможностей ПС MATLAB 6.1 и тулбокса NNT
1.2.1 Структура ПС Matlab
1.3 GUI-интерфейс для ППП NNT
1.4 Описание возможностей и особенностей использования приложений
Notebook
1.5 Возможности версии MATLAB 6.1
2.Проектная часть
2.1 Описание назначения, состава и функций линейной сети
2.2
Программная реализация линейной сети
2.2.1
Создание модели линейной сети
2.2.2
Обучение линейной сети
2.3 Детальное описание особенностей выполнения
демонстрационного примера
Заключение
Список литературы
: – двоеточие используется для указания диапазона (интервала изменения величины) и в качестве знака групповой операции над элементами матриц;
% – знак процента обозначает начало комментария;
! – отмечает начало команды DOS
’ – апостроф указывает на символьные строки.
2.4 Функции.
MATLAB предоставляет большое количество элементарных математических функций, таких как abs, sqrt, exp, sin. Вычисление квадратного корня или логарифма отрицательного числа не является ошибкой: в этом случае результатом является соответствующее комплексное число. MATLAB также предоставляет и более сложные функции, включая Гамма функцию и функции Бесселя. Большинство из этих функций имеют комплексные аргументы. Чтобы вывести список всех элементарных математических функций, наберите
help elfun Для вывода более сложных математических и матричных функций, наберите
help specfun
help elmat
соответственно.
Некоторые функции, такие как sqrt и sin, - встроенные. Они являются частью MATLAB, поэтому они очень эффективны, но их вычислительные детали трудно доступны. В то время как другие функции, такие как gamma и sink, реализованы в М-файлах. Поэтому вы можете легко увидеть их код и, в случае необходимости, даже модифицировать его.
Несколько специальных функций предоставляют значения часто используемых констант.
pi 3.14159265...
i мнимая единица, √-1
j то же самое, что и i
realmin наименьшее число с плавающей точкой, 2-1022
realmax наибольшее число с плавающей точкой, (2-ε)21023
Inf бесконечность
NaN не число
MATLAB имеет широкие возможности для графического изображения векторов и матриц, а также для создания комментариев и печати графики. Эта глава описывает несколько наиболее важных графических функций и дает примеры их применения.
До сих пор, мы использовали только командную строку MATLAB, печатая команды и выражения и наблюдая результаты. В этой главе описано несколько способов изменения внешнего вида командного окна. Если ваша система позволяет вам выбирать шрифт, то мы рекомендуем использовать шрифты с фиксированной шириной, такие как Fixedsys или Courier, для обеспечения правильного межстрочного интервала.
Если самый большой элемент матрицы больше 103 или самый маленький меньше 10-3, MATLAB применяет общий масштабный коэффициент для форматов short и long. В добавление к командам format, рассмотренным выше
format compact
убирает много пустых линий, появляющихся на выходе. Это позволяет вам видеть больше информации на экране. Если вы хотите изменить контроль над форматом выходных данных, используйте функции sprint/ и /print/.
Сокращение выходных данных
Если вы наберете выражение и нажмете Return или Enter, MATLAB автоматически выведет результат на экран. Однако если в конце строки вы поставите точку с запятой, MATLAB проведет вычисления, но не отобразит их. Это часто бывает нужно при создании больших матриц. Например,
A = magic(100);
Длинные командные строки
Если выражение не умещается на одной строке, используйте троеточие, а за ним Return или Enter, для обозначения того, что выражение продолжается на следующей строке.
Редактор командной строки
Различные стрелки и управляющие клавиши на вашей клавиатуре позволяют вам вызывать, редактировать и многократно использовать команды, набранные ранее.
Вместо того, чтобы заново набирать всю строку, просто нажмите клавишу Т. Тогда на экране изобразится ошибочная команда. Используйте клавишу ← для перемещения курсора и вставки пропущенной буквы r. Повторное использование клавиши Т вызовет предыдущие строки. Наберите несколько символов, и тогда клавиша Т найдет предыдущую строку, которая начинается с них.
Среда MATLAB включает в себя как совокупность переменных, созданных за время сеанса работы MATLAB, так и набор файлов, содержащих программы и данные, которые продолжают существовать между сеансами работы.
5.1 Рабочее пространство
Рабочее пространство - это область памяти, доступная из командной строки MATLAB. Две команды, who и whos, показывают текущее содержание рабочего пространства. Команда who выдает краткий список, а команда whos размер и используемую память.
Ниже представлен вывод, осуществленный командой whos, на рабочем пространстве, содержащем результаты из некоторых примеров этой книги. Он показывает различия в структуре данных MATLAB.
5.2 Команда save.
Команда save сохраняет содержание рабочего пространства в МАТ-файле, который может быть прочитан командой load в последующих сеансах работы MATLAB. Например, save Augustl7th сохраняет содержание всего рабочего пространства в файле Augustl7th.mat. Если нужно, вы можете сохранить только определенные переменные, указывая их имена после имени файла.
Есть несколько способов получить текущую документацию по функциям MATLAB.
Команда help
Окно справки
MATLAB Help Desk
Текущие справочные страницы
Связь с The MathWorks, Inc.
Команда help
Команда help - это самый основной способ определения синтаксиса и поведения отдельных функций. Информация отображается прямо в командном окне. Например
help magic
выдаст
MAGIC Magic square.
MAGIC(Ν) is an N-by-N matrix constructed from the integers 1 through ΝΛ2 with equal row, column, and diagonal sums. Produces valid magic squares for N = 1,3,4,5,...
Замечание MATLAB в текущей справке использует заглавные буквы для функций и переменных для того, чтобы выделить их из текста. Однако, при наборе имен функций всегда используйте соответствующие строчные буквы, так как MATLAB чувствителен к регистрам, а все имена функции строчные.
Все функции MATLAB организованы в логические группы и структура директорий MATLAB базируется на этом группировании. Например, все функции линейной алгебры находятся в директории matfun. Чтобы вывести имена всех функций в этой директории с кратким описанием, надо набрать
help matfun
Matrix functions - numerical linear algebra.
Matrix analysis.
norm - Matrix or vector norm,
normest - Estimate the matrix 2-norm.
Команда lookfor
Команда lookfor позволяет искать функции по ключевому слову. Она просматривает первую строку текста справки, называемую строкой H1, для каждой функции MATLAB и возвращает строки H1, содержащие заданное ключевое слово. Например, MATLAB не имеет функции с именем inverse. Поэтому ответ на запрос
help inverse
будет
inverse.m not found.
В то время как
lookfor inverse
найдет множество
Печать текущих справочных страниц
Версии текущих справочных
страниц, как и большинство
1.3 GUI-интерфейс для ППП NNT
Отличительной особенностью 12-го выпуска программных продуктов фирмы Math-Works является включение в их состав различных инструментальных средств организации диалога с пользователем. Как правило, это GUI-интерфейсы. Не является исключением и пакет по нейронным сетям ППП NNT, в состав которого входит инструментальное средство NNTool. Этот графический интерфейс позволяет, не обращаясь к командному окну системы MATLAB, выполнять создание, обучение, моделирование, а также импорт и экспорт нейронных сетей и данных, используя только инструментальные возможности GUI-интерфейса. Конечно, такие инструменты наиболее эффективны лишь на начальной стадии работы с пакетом, поскольку имеют определенные ограничения. В частности, интерфейс NNTool допускает работу только с простейшими однослойными и двухслойными нейронными сетями, но при этом пользователь выигрывает во времени и эффективности освоения новых объектов.
Вызов GUI-интерфейса NNTool возможен либо командой nntool из командной строки, либо из окна запуска приложений Launch Pad с помощью опции NNTool из раздела Neural Network Toolbox. После вызова на экране терминала появляется окно Network/Data Manager (Управление сетью/данными) (рис. 1)
Рис. 1.
Здесь:
Help - кнопка вызова окна подсказки Network/Data Manager Help (рис. 2);
New Data... - кнопка вызова окна формирования данных Create New Data (рис.3);
New Network... - кнопка вызова окна создания новой нейронной сети Create New Network (рис. 4);
Import...- кнопка вызова окна для импорта или загрузки данных Import or Load to Network/Data Manager (рис. 5);
Export... - кнопка вызова окна для экспорта или записи данных в файл Export or Save from Network/Data Manager (рис. 6).
Кнопки View, Delete становятся активными только после создания и активизации данных, относящихся к последовательностям входа, цели, выхода или ошибок сети. Кнопка View позволяет просмотреть, а кнопка Delete удалить активизированные данные.
Кнопки View, Delete, Initialize..., Simulate..., Train..., Adapt... становятся активными после создания и активизации самой нейронной сети. Они позволяют просмотреть, удалить, инициализировать, промоделировать, обучить или адаптировать нейронную сеть и будут описаны ниже.
Прежде всего, рассмотрим назначение и способы работы с перечисленными выше окнами.
Окно Network/Data Manager Help. Это окно подсказки показано на рис. 2 и описывает правила работы с диспетчером Network/Data Manager при создании нейронной сети.
Рис. 2
Чтобы создать нейронную сеть, необходимо выполнить следующие операции:
Окно Create New Data. Это окно показано на рис. 3 и включает 2 области редактирования текста для записи имени вводимых данных (область Name) и ввода самих данных (область Value), а также 6 кнопок для указания типа вводимых данных.
Рис.3
Различают следующие типы данных:
Inputs (Входы) - последовательность значений входов;
Targets (Цели) - последовательность значений цели;
Input Delay States (Состояния ЛЗ входа) - начальные условия линии задержки на входе;
Layer Delay States (Состояния ЛЗ слоя) - начальные условия линии задержки в слое;
Outputs (Выходы) - последовательность значений выхода сети;
Errors (Ошибки) - разность значений целей и выходов.
Как правило, пользователь задает только последовательности входа и цели, т. е. типы данных Inputs и Targets. При этом следует помнить, что при адаптации нейронной сети данные должны быть представлены в виде массива ячеек.
Окно Create New Network. Это окно показано на рис. 4 и включает поля для задания параметров создаваемой сети. В зависимости от типа сети количество полей и их названия изменяются.
Рис.4
Обратимся к описанию полей.
Network Name (Имя сети) - стандартное имя сети, присваиваемое GUI-интерфейсом NNTool; в процессе создания новых сетей порядковый номер будет изменяться автоматически.
Input ranges (Диапазоны входа) - допустимые границы входов, которые либо назначаются пользователем, либо определяются автоматически по имени входной последовательности, выбираемой из списка Get from Inp... .
Training function (Функция обучения) - список обучающих функций.
Adaption learning function (Функции настройки для режима адаптации) - список функций настроек.
Performance function (Функция качества обучения) - список функций оценки качества обучения.
Number of layers (Количество слоев) - количество слоев нейронной сети.
Properties for (Свойства) - список слоев: Layer 1 (Слой 1), Layer 2 (Слой 2).
Number of neurons (Количество нейронов) - количество нейронов в слое.
Transfer function (Функция активации) - функция активации слоя.
Окно Import or Load to Network/Data Manager. Это окно показано на рис. 5 и включает 3 поля.
Рис. 5
Source (Источник) - поле для выбора источника данных. Это либо рабочая область системы MATLAB (кнопка выбора Import from MATLAB Workspace), либо файл (кнопка выбора Load from disk file).
Если выбрана первая кнопка, то в поле Select a Variable вы можете видеть все переменные рабочей области и, выбрав одну из них, например Р1, можете определить ее в поле Destination (Назначение) как последовательность входа Inputs (Входы).
Если выбирается кнопка Load from disk file, то активизируется поле MAT-file Name и кнопка Browse, что позволяет начать поиск и загрузку файла из файловой системы.
Окно Export or Save from Network/Data Manager. Это окно показано на рис. 6 и позволяет передать данные из рабочей области GUI-интерфейса NNTool в рабочую область системы MATLAB или записать их в виде файла на диске.