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

Автор работы: Пользователь скрыл имя, 20 Декабря 2010 в 20:07, курсовая работа

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

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

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

•самостоятельное изучение специальной литературы
•изучение встроенных инструментальных средств системы для математических расчетов MATLAB
•рассмотрение возможностей и особенностей базового программного обеспечения из состава ППП Neural Network Toolbox (NNT) ПС MATLAB 6
•практическое применение ППП 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
Список использованных источников 30

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

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

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

Федеральное агентство по образованию

Государственное образовательное  учреждение

Высшего профессионального  образования Тверской Государственный  Технический университет

Кафедра «Информационные системы» 
 
 
 
 
 
 
 
 
 
 

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

По дисциплине:

Интеллектуальные информационные системы

На тему:

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

Выполнила студентка: Елисеева А.А.

Гуманитарного факультета

Специальности ПИЭ 0801

Руководитель  работы: Козлова Ю.Г.

              
 

                                                          
 

Тверь, 2010

 

Содержание 

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

 

Введение 

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

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

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

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

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

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

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

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

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

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