Функционирование линейной сети

Автор работы: Пользователь скрыл имя, 16 Декабря 2014 в 12:49, контрольная работа

Краткое описание

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

Содержание

Введение…………………………………………………………………………...3
Аналитическая часть 5
Краткое описание возможностей MATLAB 6 и NNT 5
Понятие линейной сети 8
Архитектура линейной сети 9
Применение линейной сети 11
Функционирование линейной сети 14
Проектная часть………………………………………...……………………… 16
Заключение 20
Список использованной литературы 22

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

КУРСАЧ ПО ИИС.docx

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

Министерство образования и науки РФ

Федеральное государственное бюджетное образовательное учреждение  
высшего профессионального образования  
«Тверской государственный технический университет»

(ФГБОУВПО «ТвГТУ»)

 

Кафедра информационных систем

 

 

 

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

 по дисциплине «Интеллектуальные  ИС»

 

 

Тема: Функционирование линейной

сети (demolin1)

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

Тверь

2014

Содержание

 

Введение…………………………………………………………………………...3      

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

Краткое описание возможностей MATLAB 6 и NNT 5

Понятие линейной сети 8

Архитектура линейной сети 9

Применение линейной сети 11

Функционирование линейной сети 14

Проектная часть………………………………………...………………………  16

Заключение 20

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

 

Введение

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

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

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

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

    1. Краткое описание возможностей MATLAB 6 и NNT

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

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

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

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

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

  1. язык MATLAB – язык матриц и массивов высокого уровня с управлением потоками, функциями, структурами данных, ввода-вывода и особенностями объектно-ориентированного программирования. Это позволяет как программировать в «небольшом масштабе» для быстрого создания черновых программ, так и в «большом» для создания больших и сложных приложений.
  2. среда MATLAB – набор инструментов и приспособлений, с которыми работает пользователь или программист MATLAB. Он включает в себя средства для управления переменными в рабочем пространстве MATLAB, вводом и выводом данных, контроля и отладки M-файлов и приложений MATLAB.
  3. управляемая графика – это графическая система MATLAB, которая включает в себя команды высокого уровня для визуализации двух- и трехмерных данных, обработки изображений, анимации иллюстрированной графики.
  4. библиотека математических функций – обширная коллекция вычислительных алгоритмов от элементарных функций (сумма, синус, косинус) до более сложных (обращение матриц, быстрое преобразование Фурье).
  5. программный интерфейс – это библиотека, которая позволяет писать программы на СИ и Фортране, которые взаимодействуют с MATLAB.

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

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

Ключевые возможности Neural Network Toolbox:

  • графический интерфейс пользователя и мастер пошагового создания нейронных сетей;
  • поддержка наиболее распространенных сетевых парадигм;
  • полный набор средств для тренировки нейросетей с учителем и без;
  • динамически обучаемые нейросети, включая запаздывающие, нелинейные и авторегрессионные (NARX);
  • поддержка Simulink® для моделирования нейросети, создание блоков на основе разработанных нейросетевых структур для адаптивных систем управления;
  • модульное представление сети, позволяющее создавать неограниченное число слоев и межсетевых связей;
  • визуализация топологии нейронной сети.

С помощью ПС MATLAB и тулбокса NNT в данной курсовой работе будет рассмотрен пример функционирования линейной сети.

 

 

 

 

 

    1. Понятие линейной сети

 

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

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

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

 

 

 

 

 

 

Архитектура линейной сети

 

На рис. 1.1 показан линейный нейрон с двумя входами. Здесь используется линейная функция активации purelin.

Входы   Линейный нейрон

 

 p1 w11         n   a


    Σ    


p2 w12         b

 

 

a = pureline(wp+b)

Рис.1.1

Весовая матрица W в этом случае имеет только одну строку, и выход сети определяется выражением

A = purelin(n) = purelin(wp + b) =  wp + b=w11p1 + w12p2 + b

Подобно персептрону, линейная сеть задает в пространстве входов разделяющую линию, на которой функция активации n равна 0 (рис.1.2).

     p2


   a < 0


-b/w12

       w


   


wp + b = 0

                p1


-b/w11    

Рис.1.2

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

Линейная сеть, показанная на рис. 1.3, а, включает S нейронов, 
размещенных в одном слое и связанных с R входами через матрицу весов W.

Слой линейных нейронов

Входы  a = pureline(IW11p + b1)          Входы                                                                                                

         w11    n1  a1        p


p1                R>1        n1


p2    1  n2  a2        S>R              +


p3               1                S=1


.       b2            S=1

ps   ns  as   a = purelin(IW11p + b1)


 w1s


  1  bs

a      б

Рис. 1.3

На рис. 1.3,б показана укрупненная структурная схема этой сети, вектор выхода а которой имеет размер Sх1.

 

Применение линейной сети

 

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

    • Задача классификации векторов
    • Линейные сети могут быть применены для решения задач классификации. Если используется процедура обучения train, то параметры сети настраиваются с учетом суммарного значения функции ошибки. Это отличается от процедуры адаптации adapt, для работы которой характерна настройка параметров с учетом ошибки при представлении каждого вектора входа. Затем обучение применяется к скорректированной сети, вычисляются выходы, сравниваются с соответствующими целями и вновь вычисляется ошибка обучения. Если достигнута допустимая погрешность или превышено максимальное число циклов (эпох) обучения, то процедура настройки прекращается. Алгоритм обучения и настройки сходится, если задача классификации разрешима.
    • Фильтрация сигнала

Информация о работе Функционирование линейной сети