Линейная сеть с зависимыми данными

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

Прикрепленные файлы: 1 файл

9.doc

— 420.00 Кб (Скачать документ)

Содержание

 

Введение

 

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

Детальное описание особенностей выполнения демонстрационного примера

 

Заключение

 

Список литературы

 

 

 

Введение

 

Нейронные сети (NN - Neural Networks) широко используются для решения  разнообразных задач. Среди развивающихся областей применения NN - обработка аналоговых и цифровых сигналов, синтез и идентификация электронных цепей и систем. Основы теории и технологии применения NN широко представлены в пакете MATLAB. Пакет прикладных программ NNT содержит средства для построения нейронных сетей, базирующихся на поведении математического аналога нейрона. Пакет обеспечивает эффективную поддержку проектирования, обучения, анализа и моделирования множества известных типов сетей – от базовых моделей персептрона до самых современных ассоциативных и самоорганизующихся сетей. В пакете имеется более 15 таких типов. Для каждого типа архитектуры и обучающих правил имеются М-функции инициализации, обучения, адаптации, создания, моделирования, отображения, оценки и демонстрации, а также примеры применения.

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

      Тема  моей курсовой работы звучит: «Линейная сеть с зависимыми данными». Для того, чтобы разобраться в этой тематике нужно прежде всего узнать понятие, структуру линейных сетей, их функции.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I АНАЛИТИЧЕСКАЯ ЧАСТЬ

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

Линейная сеть – это  один слой из S нейронов и R входов, каждый

из которых может  состоять из нескольких элементов.

Передаточной функцией каждого нейронного слоя является линейная функция purelin. Это является единственным отличием линейной сети от персептрона.

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

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

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

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

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

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

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

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

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

 

 

 

 

 

 

 

1.2 Описание возможностей ПС MATLAB

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

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

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

Система MATLAB состоит из пяти основных частей.

Язык MATLAB. Это язык матриц и массивов высокого уровня с управлением потоками, функциями, структурами данных, вводом-выводом и особенностями объектно-ориентированного программирования.

Среда MATLAB. Это набор инструментов и приспособлений, с которыми работает пользователь или программист MATLAB. Она включает в себя средства для управления переменными в рабочем пространстве MATLAB, вводом и выводом данных, а также создания, контроля и отладки М-файлов и приложений MATLAB.

Управляемая графика. Это графическая система MATLAB, которая включает в себя команды высокого уровня для визуализации двух- и трехмерных данных, обработки изображений, анимации и иллюстрированной графики. Она также включает в себя команды низкого уровня, позволяющие полностью редактировать внешний вид графики, также как при создании Графического Пользовательского Интерфейса (GUI) для MATLAB приложений.

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

Программный интерфейс. Это библиотека, которая позволяет писать программы на Си и Фортране, которые взаимодействуют с MATLAB. Она включает средства для вызова программ из MATLAB (динамическая связь), вызывая MATLAB как вычислительный инструмент и для чтения-записи МАТ-файлов.

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

Blocksets - это дополнения к Simulink, которые обеспечивают библиотеки блоков для специализированных приложений, таких как связь, обработка сигналов, энергетические системы.

Real-Time Workshop - это программа, которая позволяет генерировать С код из блоков диаграмм и запускать их на выполнение на различных системах реального времени.

1.2.1 Структура ПС Matlab

1. Матрицы.

Лучший способ начать работу с MATLAB — это научиться обращаться с матрицами. В MATLAB матрица - это прямоугольный массив чисел. Особое значение придается матрицам 1x1, которые являются скалярами, и матрицам, имеющим один столбец или одну строку, — векторам. MATLAB использует различные способы для хранения численных и не численных данных, однако вначале лучше всего рассматривать все данные как матрицы. MATLAB организован так, чтобы все операции в нем были как можно более естественными. В то время как другие программные языки работают с числами как элементами языка, MATLAB позволяет вам быстро и легко оперировать с целыми матрицами.

2. Выражения.

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

Переменные

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

num_students = 25

создает матрицу 1x1 с именем num_students и сохраняет значение 25 в ее единственном элементе.

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

Поэтому А и а - не одна и та же переменная. Чтобы увидеть матрицу связанную с переменной, просто введите название переменной.

2.1 Числа.

MATLAB  использует принятую десятичную систему счисления, с необязательной десятичной точкой и знаками плюс-минус для чисел. Научная система счисления использует букву е для определения множителя степени десяти. Мнимые числа используют i или j как суффикс. Некоторые примеры правильных чисел приведены ниже

3                       -99                      0.0001

9.6397238         1.60210e-20      6.02252e23

1i                      -3.14159j            3e5i

Числа с плавающей точкой обладают ограниченной точностью - приблизительно 16 значащих цифр и ограниченным диапазоном – приблизительно от 10-308 до 10308

2.2 Операторы.

Выражения используют обычные арифметические операции и правила старшинства.

+       сложение

 –       вычитание

 *       умножение

 /        деление

 Λ       степень

  '      комплексно  сопряженное транспонирование 

()      определение порядка вычисления

2.3 Специальные символы.

[ ] – квадратные скобки используют  для создания матриц и векторов;

   – пробел служит для  разделения элементов матриц;

, – запятая применяется для  разделения элементов матриц  и операторов в строке ввода;

; – точка с запятой отделяет строки матриц, а точка с запятой в конце оператора (команды) отменяет вывод результата на экран;

Информация о работе Линейная сеть с зависимыми данными