Математическая модель искусственного линейного нейрона

Характеристика возможностей ПС MATLAB 6.1 и тулбокса NNT. Основные особенности использования приложений Notebook. Линейная сеть как слой из S нейронов и R входов, каждый из которых может состоять из нескольких элементов. Обучение Линейного Нейрона.

Рубрика Математика
Вид курсовая работа
Язык русский
Дата добавления 12.06.2011
Размер файла 431,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Курсовая работа

"Математическая модель искусственного линейного нейрона"

тулбокс notebook нейрон линейный

Содержание

Введение

1.Аналитическая часть

1.1 Содержательная и математическая постановка решаемой задачи

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

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

1.4 Требования к разрабатываемому приложению

2.Практическая часть

Заключение

Список использованных источников

Введение

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

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

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

Искусственный нейрон имитирует свойства биологического нейрона.

Биологический нейрон состоит из тела диаметром от 3 до 100 мкм, содержащего ядро (с большим количеством ядерных пор) и другие органеллы (в том числе сильно развитый шероховатый ЭПР с активными рибосомами, аппарат Гольджи), и отростков. Выделяют два вида отростков. Аксон -- обычно длинный отросток, приспособленный для проведения возбуждения от тела нейрона. Дендриты -- как правило, короткие и сильно разветвлённые отростки, служащие главным местом образования влияющих на нейрон возбуждающих и тормозных синапсов (разные нейроны имеют различное соотношение длины аксона и дендритов). Нейрон может иметь несколько дендритов и обычно только один аксон. Один нейрон может иметь связи с 20-ю тысячами других нейронов. Кора головного мозга человека содержит 10--20 миллиардов нейронов.

Математическая модель искусственного нейрона была предложена У. Маккалоком и У. Питтсом вместе с моделью сети, состоящей из этих нейронов. Авторы показали, что сеть на таких элементах может выполнять числовые и логические операции. Практически сеть была реализована Фрэнком Розенблаттом в 1958 году как компьютерная программа, а впоследствии как электронное устройство -- персептрон. Первоначально нейрон мог оперировать только с сигналами логического нуля и логической единицы, поскольку был построен на основе биологического прототипа, который может пребывать только в двух состояниях -- возбужденном или невозбужденном. Развитие нейронных сетей показало, что для расширения области их применения необходимо, чтобы нейрон мог работать не только с бинарными, но и с непрерывными (аналоговыми) сигналами. Такое обобщение модели нейрона было сделано Уидроу и Хоффомh, которые предложили в качестве функции срабатывания нейрона использовать логистическую кривую.

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

Для достижения поставленной цели необходимо решить следующие задачи:

· самостоятельное изучение специальной литературы

· изучение встроенных инструментальных средств системы для математических расчетов MATLAB

· рассмотрение возможностей и особенностей базового программного обеспечения из состава ППП Neural Network Toolbox (NNT) ПС MATLAB 6

· практическое применение ППП Neural Network Toolbox (NNT) ПС MATLAB 6 при проектировании вероятностной нейронной сети

1.Аналитическая часть

1.1 Содержательная и математическая постановка решаемой задачи

Нейрон состоит из нескольких частей:

Рис

S - сома;

x1, x2, x3,…,xn - дендриты (вход);

y - аксон (выход);

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

Точка соединения аксона первого нейрона с дендритом другого нейрона называется синапс. Каждый дендрит имеет некоторый вес (W1, W2…), который называется синаптическим весом.

Текущее состояние нейрона определяется как взвешенная сумма его входов:

Эта сумма получила название потенциал нейрона. Потенциал нейрона сравнивается с некоторой заданной пороговой величиной W0.

Если , то нейрон не срабатывает.

В противном случае вычисляется функция активации

y = f(S).

Функция активации f может быть различных видов.

Линейная функция

Сигнал на выходе нейрона линейно связан со взвешенной суммой сигналов на его входе.

f(x) = tx, где t - параметр функции.

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

При этом возможен сдвиг функции по обеим осям (как изображено на рисунке).

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

Рис

Пороговая функция

Другое название - Функция Хевисайда. Представляет собой перепад. До тех пор пока взвешенный сигнал на входе нейрона не достигает некоторого уровня T -- сигнал на выходе равен нулю. Как только сигнал на входе нейрона превышает указанный уровень -- выходной сигнал скачкообразно изменяется на единицу. Самый первый представитель слоистых искусственных нейронных сетей -- персептрон состоял исключительно из нейронов такого типа. Математическая запись этой функции выглядит так:

Здесь T = ? w0x0 -- сдвиг функции активации относительно горизонтальной оси, соответственно под x следует понимать взвешенную сумму сигналов на входах нейрона без учёта этого слагаемого. Ввиду того, что данная функция не является дифференцируемой на всей оси абсцисс, её нельзя использовать в сетях, обучающихся по алгоритму обратного распространения ошибки и другим алгоритмам, требующим дифференцируемости передаточной функции.

Рис

Сигмоидная функция

Один из самых часто используемых, на данный момент, типов передаточных функций. Введение функций сигмоидного типа было обусловлено ограниченностью нейронных сетей с пороговой функцией активации нейронов -- при такой функции активации любой из выходов сети равен либо нулю, либо единице, что ограничивает использование сетей не в задачах классификации. Использование сигмоидных функций позволило перейти от бинарных выходов нейрона к аналоговым. Функции передачи такого типа, как правило, присущи нейронам, находящимся во внутренних слоях нейронной сети.

Рис

Линейная сеть - это один слой из S нейронов и R входов, каждый из которых может состоять из нескольких элементов. Передаточной функцией каждого нейронного слоя является линейная функция purelin.

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

Линейные сети, как и персептроны, способны решать только линейно отделимые задачи классификации, однако в них используется правило обучения по методу Вудроу-Хоффа, основанное на использовании функции наименьших квадратов, которое является более мощным, чем правило обучения персептрона.

Помимо основных входов нейроны линейной сети имеют вход для постоянного смещения, равного единице. Элементы входов и смещения взвешиваются с помощью функции скалярного произведения dotprod и суммируются с помощью функции накопления netsum.

Линейная нейронная сеть может быть создана одним из следующих способов:

net=newlin(PR, S, id, lr),

net=newlin(PR, S, 0, P),

net=newlind(P, T),

где PR - массив размера R*2 минимальных и максимальных значений для R векторов входа;

S - число нейронов;

id - описание линии задержки на входе сети, по умолчанию [0];

lr - параметр скорости настройки, по умолчанию 0,01;

P - обучающие последовательности входов размера R*Q, причем

Q - количество последовательностей;

Т - последовательность целей для Р размера S*Q;

0 - нуль.

Первый способ применяется, когда в сеть включаются задержки, т. е. для создания динамических адаптивных линейных нейронных сетей ADALIN (ADApture Linear Neuron networks), которые позволяют корректировать веса и смещения при поступлении на вход каждого элемента обучающего множества. Такие сети широко применяются при решении задач обработки сигналов и в системах управления.

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

Для первого и второго способа инициализация сети проводится при ее создании с помощью функции 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 обеспечивает всестороннюю поддержку проектирования, обучения и моделирования множества известных сетевых парадигм, от базовых моделей персептрона до самых современных ассоциативных и самоорганизующихся сетей. Пакет может быть использован для исследования и применения нейронных сетей к таким задачам, как обработка сигналов, нелинейное управление и финансовое моделирование.

Таблица

п/п

Тип сети

Название сети

Число слоев

Обучаемые параметры

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.

Если нужно сохранение Notebook с заданным именем, то надо исполнить команду Save As (Сохранить как) из меню File (Файл) главного меню. Появится стандартное окно записи файла (рис. 2.12), и его можно записать как файл документа с расширением .doc.

Если использовался шаблон, то это будет окно шаблона. В этом случае файл записывается с расширением .dot. При закрытии последнего из ряда документов приложение Notebook создает окно с запросом о том, нужно ли закрыть MATLAB. Для редактирования уже созданного Notebook достаточно загрузить его с помощью команды Открыть из меню Файл.

Создание ячейки ввода

Команда Define Input Cell (Alt + D) формирует ячейку ввода. Если маркер ввода находится в начале абзаца, то весь абзац преобразуется в ячейку ввода. Если команда используется при наличии выделенного фрагмента текста, то этот фрагмент преобразуется в ячейку ввода. Ячейка автостарта (см. ниже) также преобразуется в ячейку ввода, если в ней размещен маркер ввода. Пустая строка с маркером ввода становится ячейкой ввода после набора нужного выражения и его фиксации нажатием клавиш Ctrl + Enter. Текст ячейки ввода обрамляется жирными квадратными скобками -- [Текст]. Используется стиль Input с жирным шрифтом Courier New темно-зеленого цвета размером 10 пунктов.

Создание ячейки автостарта

Команда Define Autolnit Cell создает ячейку автостарта. Это ячейка, которая будет исполняться сразу после загрузки М-книги в текстовый процессор Word. Тут уместно отметить, что обычные ячейки (без автостарта) не эволюционируют без специальной команды. Ячейки автостарта обязательно эволюционируют и выдают результаты, соответствующие имеющимся в М-книге входным данным. Правила применения этой команды те же, что были описаны для предшествующей команды. Текст соответствующей ячейки стиля Autolnit имеет темно-синий цвет (шрифт Courier New, размер 10 пунктов).

Создание зоны вычислений

Команда Define Calc Zone превращает выделенный текст (с ячейками ввода и вывода) в некоторую зону вычислений, решающую определенную задачу. Таких зон в М-книге может быть много, и они могут использоваться для решения ряда задач. Примером, где такие зоны полезны, являются сборники различных задач с действующими примерами.

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

Команда Undefine Cells преобразует выделенные ячейки в обычный текст. Обрамления ячеек при этом убираются, а текст представляется стилем Обычный (Normal). Если выделений текста нет, а маркер ввода стоит на ячейке MATLAB, то именно эта ячейка преобразуется в текст.

Удаление ячеек вывода

Команда Purge Output Cell удаляет ячейки вывода. Если надо удалить одну ячейку вывода, достаточно разместить в ней маркер ввода и исполнить данную команду. Для удаления нескольких ячеек их надо предварительно выделить. При этом можно выделить и весь текст М-книги, содержащей ячейки вывода.

Создание многострочной ячейки ввода

Команда Group Gells объединяет все ячейки ввода в выделенной части документа в группу ячеек ввода. При этом выделенный текст размещается после этой группы, за исключением той части текста, которая размещена до первой ячейки. Ячейки вывода, имеющиеся в выделенном тексте, устраняются. Если первая ячейка ввода имеет статус ячейки автостарта, то такой статус приобретают все ячейки группы. Группе ячеек можно придать этот статус и с помощью команды Autolnit Cell.

Преобразование группы ячеек в ячейки ввода

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

Управление показом маркеров

Как уже указывалось, обычно ячейки ввода и вывода MATLAB отмечаются жирными серыми квадратными скобками (маркерами), отличными от обычных квадратных скобок. Маркеры видны только на экране дисплея. Команда Hide/Show Cell Markers позволяет убрать или, напротив, включить показ маркеров. При печати М-книг маркеры не печатаются независимо от того, видны они на экране дисплея или нет.

Пуск оценки ячеек

Команда Evaluate Cell (Оценка Ячейки) направляет текущую ячейку ввода или группу ячеек в решатель MATLAB для проведения необходимых вычислений или обработки данных. Этот процесс принято называть оцениванием (evaluate) или попросту вычислением ячейки. Результат, в том числе и в виде сообщений об ошибках (они выводятся красным цветом), направляется в ячейку вывода текстового редактора Word. Ячейка ввода (или группа ячеек) считается текущей, если маркер ввода находится в ее поле, в конце ее строки или в связанной с ней ячейке вывода. Выделенная ячейка также считается текущей.

Пуск оценки зоны

Команда Evaluate Calc Zone (Оценка вычисляемой зоны) вызывает пересчет текущей зоны вычислений. Зона считается текущей, если в ней размещен маркер ввода. Для каждой ячейки ввода в зоне создается ячейка вывода.

Пуск оценки всей М-книги

Команда Evaluate M-book вызывает пересчет всех ячеек ввода или групп ячеек для текущей М-книги. Текущей является та книга, текст которой (или его часть) виден в активном окне текстового процессора Word. Заметим, что Word может работать с несколькими М-книгами поочередно. При этом все они загружены в свои окна, но лишь одно окно (видимое на экране) является активным и текущим. Вычисления начинаются от начала М-книги и продолжаются до ее конца. Результаты вычислений поступают в ячейки вывода, а если каких-либо выходных ячеек еще нет, то они создаются. Рекомендуется применять эту команду в конце отладки и редактирования М-книги, чтобы соблюсти соответствие между модифицированными ячейками ввода и их ячейками вывода.

1.4 Требования к разрабатываемому приложению

1. Доступность - требования ко времени непрерывной работы приложения, например, 24x7, минимальное время простоя и т.п.;

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

3. Требования к долговременному хранению результатов работы приложения, например, использование базы данных, требования ко времени продолжительности хранения данных;

4. Масштабируемость - требования к горизонтальному или вертикальному масштабированию приложения;

5. Требования к удобству использования приложения с точки зрения использования, поддержки;

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

7. Требования к конфигурируемости работы приложения, взаимодействия и расположения компонентов;

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

9. Описание ограничений, накладываемых на объем доступной памяти, процессорного времени, дискового пространства, пропускную способность сети, при которых приложение должно эффективно выполнять возложенные на него задачи;

2. Практическая часть

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

Training a Linear Neuron

A linear neuron is trained to respond to specific inputs with target outputs.

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

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

P defines two 1-element input patterns (column vectors). T defines associated 1-element targets (column vectors). A single input linear neuron with a bias can be used to solve this problem.

Сформируем последовательности векторов входа и цели (2 одноэлементных вектора). Единственный входной линейный нейрон с отклонением может использоваться, чтобы решить эту проблему.

>> P = [1.0 -1.2];

>> T = [0.5 1.0];

ERRSURF calculates errors for a neuron with a range of possible weight and bias values. PLOTES plots this error surface with a contour plot underneath.

The best weight and bias values are those that result in the lowest point on the error surface.

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

w_range = -1:0.2:1; b_range = -1:0.2:1;

ES = errsurf(P,T,w_range,b_range,'purelin');

plotes(w_range,b_range,ES);

Рис

MAXLINLR finds the fastest stable learning rate for training a linear network.

For this demo, this rate will only be 40% of this maximum. NEWLIN creates a linear neuron. NEWLIN takes these arguments: 1) Rx2 matrix of min and max values for R input elements, 2) Number of elements in the output vector, 3) Input delay vector, and 4) Learning rate.

MAXLINLR вычисляет максимальные значения параметра скорости обучения для линейной сети.

В данном случае это значение составит 40 % от максимальной скорости. NEWLIN создает линейную нейронную сеть.

NEWLIN выбирает следующие аргументы: 1) массив размера R*2 минимальных и максимальных значений для R векторов входа 2) Ряд элементов в векторе цели 3) Входной вектор задержки 4) Изучение уровня.

>> maxlr = 0.40*maxlinlr(P,'bias');

>> net = newlin([-2 2],1,[0],maxlr);

Override the default training parameters by setting the performance goal.

Отмените параметры обучения по умолчанию и установите исполнительную цель.

>> net.trainParam.goal = .001;

To show the path of the training we will train only one epoch at a time and call PLOTEP every epoch. The plot shows a history of the training. Each dot represents an epoch and the blue lines show each change made by the learning rule (Widrow-Hoff by default).

Чтобы показать путь обучения, мы будем обучать только одну эпоху за один раз и «вызывать» PLOTEP каждую эпоху. График показывает историю обучения. Каждая точка представляет эпоху, а синие линии показывают каждое изменение, произведенное изученным правилом (Видроу-Хофф по умолчанию).

[net,tr] = train(net,P,T);

net.trainParam.epochs = 1;

net.trainParam.show = NaN;

h=plotep(net.IW{1},net.b{1},mse(T-sim(net,P)));

[net,tr] = train(net,P,T);

r = tr;

epoch = 1;

while true

epoch = epoch+1;

[net,tr] = train(net,P,T);

if length(tr.epoch) > 1

h = plotep(net.IW{1,1},net.b{1},tr.perf(2),h);

r.epoch=[r.epoch epoch];

r.perf=[r.perf tr.perf(2)];

r.vperf=[r.vperf NaN];

r.tperf=[r.tperf NaN];

else

break

end

end

tr=r;

The train function outputs the trained network and a history of the trainin performance (tr). Here the errors are plotted with respect to training epochs: The error dropped until it fell beneath the error goal (the black line). At that point training stopped.

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

plotperf(tr,net.trainParam.goal);

Рис

Now use SIM to test the associator with one of the original inputs, -1.2, and see if it returns the target, 1.0. The result is very close to 1, the target.

This could be made even closer by lowering the performance goal.

Теперь используем функцию SIM, чтобы промоделировать и протестировать сеть.

p = -1.2;

a = sim(net, p)

Заключение

Согласно общепринятому в науке принципу, если более сложная модель не дает лучших результатов, чем более простая, то из них следует предпочесть вторую. В терминах аппроксимации отображений самой простой моделью будет линейная, в которой подгоночная функция определяется гиперплоскостью. В задаче классификации гиперплоскость размещается таким образом, чтобы она разделяла собой два класса (линейная дискриминантная функция); в задаче регрессии гиперплоскость должна проходить через заданные точки. Линейная модель обычно записывается с помощью матрицы NxN и вектора смещения размера N.

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

В пакете ST Neural Networks имеется возможность создать линейную сеть и обучить ее с помощью стандартного алгоритма линейной оптимизации, основанного на псевдообратных матрицах (SVD) (Golub and Kahan, 1965). Разумеется, метод линейной оптимизации реализован также в модуле Множественная регрессия системы STATISTICA; однако, линейные сети пакета ST Neural Networks имеют то преимущество, что здесь Вы можете в единой среде сравнивать такие сети с "настоящими" нейронными сетями.

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

Список использованной литературы

1. Медведев В. С. Нейронные сети / В. С. Медведев, В. Г. Потемкин. - М.: Диалог МИФИ, 2009.

2. Дьяконов В. П. MATLAB 6.0 с пакетами расширений /В. П. Дьяконов, И. В. Абраменкова, В. В. Круглов. - М: Нолидж,2008

3. Комашинский В. И. Нейронные сети и их применение в системах управления и связи / В. И. Комашинский, Д. А. Смирнов. - М.: Горячая линия - Телеком, 2009.

4. Минский, М., Пейперт, С. Персептроны. -- М.: Мир, 2007. -- 261 с.

5. Яковлев С. С. Система распознавания движущихся объектов на базе искусственных нейронных сетей // ИТК НАНБ. -- Минск: 2008. -- С. 230--234.

6. Хайкин, С. Нейронные сети: Полный. -- 2-е изд. -- М.: «Вильямс», 2006. -- 1104 с.

7. Брюхомицкий, Ю. А. Нейросетевые модели для систем информационной безопасности: Учебное пособие. -- Таганрог: Изд-во ТРТУ, 2008. -- 160 с.

8. Роберт Каллан Основные концепции нейронных сетей. -- 1-е. -- «Вильямс», 2007. -- С. 288.

Размещено на Allbest.ru


Подобные документы

  • Понятие линейного программирования и его основные методы. Формулировка задачи линейного программирования в матричной форме и ее решение различными методами: графическим, табличным, искусственного базиса. Особенности решения данной задачи симплекс-методом.

    курсовая работа [65,3 K], добавлен 30.11.2010

  • Решение систем уравнений по правилу Крамера, матричным способом, с использованием метода Гаусса. Графическое решение задачи линейного программирования. Составление математической модели закрытой транспортной задачи, решение задачи средствами Excel.

    контрольная работа [551,9 K], добавлен 27.08.2009

  • Многочлены над числовыми полями. Теорема о делении с остатком. Основные алгебраические структуры. Понятие линейного пространства, его базис и изоморфизм. Матрица линейного оператора в конечномерном линейном пространстве. Ранг и дефект линейного оператора.

    учебное пособие [342,8 K], добавлен 02.03.2009

  • Понятие и характеристика линейного пространства, его главные свойства и особенности. Исследование аксиом векторного пространства. Анализ отличий и признаков векторного подпространства. Базис и формулы линейного пространств, определение его размерности.

    реферат [249,4 K], добавлен 21.01.2011

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

    курсовая работа [37,6 K], добавлен 21.02.2010

  • История зарождения и создания линейного программирования. Транспортная задача. Общая постановка, цели, задачи. Основные типы, виды моделей. Методы составления начального опорного плана. Понятие потенциала и цикла. Задача, двойственная к транспортной.

    курсовая работа [166,7 K], добавлен 17.07.2002

  • Знакомство с особенностями построения математических моделей задач линейного программирования. Характеристика проблем составления математической модели двойственной задачи, обзор дополнительных переменных. Рассмотрение основанных функций новых переменных.

    задача [656,1 K], добавлен 01.06.2016

  • Понятие и математическое описание элементов дифференциального уравнения как уравнения, связывающего искомую функцию одной или нескольких переменных. Состав неполного и линейного дифференциального уравнения первого порядка, их применение в экономике.

    реферат [286,2 K], добавлен 06.08.2013

  • Системы линейных уравнений и интерпретация их решений как пересечение гиперплоскостей в n-мерном координатном пространстве. Размерность и подпространства линейного пространства. Оптимизационные задачи линейного программирования. Суть симплекс-метода.

    курсовая работа [132,2 K], добавлен 10.01.2014

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

    реферат [162,8 K], добавлен 20.05.2019

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.