Моделювання нейронного фільтра в MatLab

МІНІСТЕРСТВО ОСВІТИ І  НАУКИ УКРАЇНИ

Кафедра  Інформаційних  Технологій

 

 

 

 

КУРСОВАРОБОТА

(пояснювальна записка)

з дисципліни

«Нечітка математика та нейронні мережі»

 

Тема: Моделювання нейронного фільтра в MatLab.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Київ 2012

Кафедра інформаційних технологій

 

Завдання

на виконання  курсової роботи

 

 

 

Тема курсової роботи:

  1. Моделювання нейронного фільтра в MatLab.
  2. Програмна реалізація у середі MatLab.

 

Вимоги до курсового  проекту:

  • схема алгоритму згідно з ДСТУ, лістинг програми;
  • використання підпрограм;
  • виведення результату на екран;

 

 

 

 

 

 

 

 

 

 

Завдання видала: _______________ 

 

Завдання прийняв  до виконання _______________

 

 

 

 

 

           
         

Змн.

Арк.

№ докум.

Підпис

Дата

Розробив

       

Літ.

 

Листів

Перевірила

               

Реценз.

       

Н. Контр.

     

Затверд.

     

 

 

РЕФЕРАТ

 

Вданій курсовій роботірозглянута задача проектування системи керування роботою ліфта. Ця задача була спроектованазвикористанням засобів RationalRose. Пояснювальна записка містить 17 листів, 4рисункита3використаних джерела.

ІНФОРМАЦІЙНА  СИСТЕМА, МОДЕЛЬ, ДІАГРАМА ПОСЛІДОВНОСТІ, БАЗА ДАНИХ, ДІАГРАМА АКТИВНОСТІ, ДІАГРАМА КЛАСІВ, ДІАГРАМА ВАРІАНТІВ ВИКОРИСТАННЯ, КЛАС, АТРИБУТ, ТИП ДАНИХ.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗМІСТ

 

ВСТУП……………………………………………………………………… 4

  1. АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ…………………………………… 6

1.1. Опис основних елементів моделі………………………………. 6

1.2. Опис варіантів функціонування системи……………………….. 7

  1. ПОБУДОВА ДІАГРАМ ПРОЕКТОВАНОЇ МОДЕЛІ…………….…… 8

2.1.Створення діаграми варіантів використання……………………… 8

2.2. Створення  діаграми послідовності……………………………… 9

2.3. Створення  діаграми класів………………………………………… 11

2.4. Створення  діаграми активності………………………………. 14

ВИСНОВКИ ТА РЕКОМЕНДАЦІЇ…………………………………... 16

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ…………………………... 17

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ВСТУП

 

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

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

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

Искусственный нейрон имитирует свойства биологического нейрона. Биологический нейрон состоит из тела диаметром от 3 до 100 мкм, содержащего ядро (с большим количеством ядерных пор) и другие органеллы (в том числе сильно развитый шероховатый ЭПР с активными рибосомами, аппарат Гольджи), и отростков. Выделяют два вида отростков:

  • Аксон— обычно длинный отросток, приспособленный для проведения возбуждения от тела нейрона.
  • Дендриты— как правило, короткие и сильно разветвлённые отростки, служащие главным местом образования влияющих на нейрон возбуждающих и тормозных синапсов (разные нейроны имеют различное соотношение длины аксона и дендритов).

Нейрон  может иметь несколько дендритов  и обычно только один аксон. Один нейрон может иметь связи с 20-ю тысячами других нейронов. Кора головного мозга человека содержит 10—20 миллиардов нейронов.

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

 

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

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

  • самостоятельное изучение специальной литературы
  • изучение встроенных инструментальных средств системы для математических расчетов MATLAB
  • рассмотрение возможностей и особенностей базового программного обеспечения из состава NeuralNetworkToolbox (NNT) ПС MATLAB 6
  • практическое применение ППП NeuralNetworkToolbox (NNT) ПС MATLAB 6 при проектировании вероятностной нейронной сети

 

 

 

 

  1. АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ

 

    1. Описосновних понять

 

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

 

S – сома (тело нейрона);

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

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

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

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

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


 

 

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

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

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

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

 

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

Теория  обучения рассматривает три фундаментальных  свойства, связанных с обучением  по примерам: емкость, сложность образцов и вычислительная сложность. Под  емкостью понимается, сколько образцов может запомнить сеть, и какие  функции и границы принятия решений  могут быть на ней сформированы. Сложность образцов определяет число  обучающих примеров, необходимых  для достижения способности сети к обобщению. Слишком малое число  примеров может вызвать "переобученность" сети, когда она хорошо функционирует  на примерах обучающей выборки, но плохо - на тестовых примерах, подчиненных  тому же статистическому распределению. Известны 4 основных типа правил обучения: коррекция по ошибке, машина Больцмана, правило Хебба и обучение методом  соревнования.

  • Правило коррекции по ошибке. При обучении с учителем для каждого входного примера задан желаемый выход d. Реальный выход сети y может не совпадать с желаемым. Принцип коррекции по ошибке при обучении состоит в использовании сигнала (d-y) для модификации весов, обеспечивающей постепенное уменьшение ошибки. Обучение имеет место только в случае, когда перцептрон ошибается. Известны различные модификации этого алгоритма обучения.
  • Обучение Больцмана. Представляет собой стохастическое правило обучения, которое следует из информационных теоретических и термодинамических принципов. Целью обучения Больцмана является такая настройка весовых коэффициентов, при которой состояния видимых нейронов удовлетворяют желаемому распределению вероятностей. Обучение Больцмана может рассматриваться как специальный случай коррекции по ошибке, в котором под ошибкой понимается расхождение Корреляций состояний в двух режимах .
  • Правило Хебба. Самым старым обучающим правилом является постулат обучения Хебба. Хебб опирался на следующие нейрофизиологические наблюдения: если нейроны с обеих сторон синапса активизируются одновременно и регулярно, то сила синаптической связи возрастает. Важной особенностью этого правила является то, что изменение синаптического веса зависит только от активности нейронов, которые связаны данным синапсом. Это существенно упрощает цепи обучения в реализации VLSI.
  • Обучение методом соревнования. В отличие от обучения Хебба, в котором множество выходных нейронов могут возбуждаться одновременно, при соревновательном обучении выходные нейроны соревнуются между собой за активизацию. Это явление известно как правило "победитель берет все". Подобное обучение имеет место в биологических нейронных сетях. Обучение посредством соревнования позволяет кластеризовать входные данные: подобные примеры группируются сетью в соответствии с корреляциями и представляются одним элементом.

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

 

Рис. 5

Пример  обучения методом соревнования: (а) перед обучением; (б) после обучения.

 

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

В Таблице 1 представлены различные алгоритмы  обучения и связанные с ними архитектуры  сетей (список не является исчерпывающим). В последней колонке перечислены  задачи, для которых может быть применен каждый алгоритм. Каждый алгоритм обучения ориентирован на сеть определенной архитектуры и предназначен для  ограниченного класса задач. Кроме  рассмотренных, следует упомянуть  некоторые другие алгоритмы: Adaline и Madaline, линейный дискриминантный анализ, проекции Саммона, анализ главных компонентов.

 

Таблица 1 - Алгоритмы обучения и связанные  с ними архитектуры сетей

 

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

 

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

Ключевыеособенности:

  • Графический интерфейс пользователя для пошагового создания, обучения и имитационного моделирования нейронных сетей;
  • Поддержка наиболее распространенных управляемых и неуправляемых сетевых структур;
  • Полный перечень обучающих и тестирующих функций;
  • Динамические алгоритмы обучения сетей, включающие временную задержку, нелинейную авторегрессию (NARX), цепные и настраиваемые динамические структуры;
  • Блоки Simulink для создания нейронных сетей и развитых блоков для систем контроля;
  • Автоматическая генерация блоков Simulink из объектов нейронной сети;
  • Модульное представление сети, позволяющее создавать неограниченное количество входных слоев и объединенных сетей, а также графическое представление архитектуры сети;
  • Функции предварительной и пост обработки и блоки Simulink для улучшения процесса обучения и оценки производительности сети;
  • Визуализация топологии и процесса обучения нейронной сети.

 

NNToolпозволяет создавать следующие сети:

 

№ п/п

Тип сети

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

Число слоев

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

1

Competitive

Конкурирующая сеть

1

IW{1, 1}, b{ 1}

2

Cascade-forwardbackprop

Каскадная сеть с прямым распространением сигнала  и обратным распространением ошибки

2

IW{1, 1}, b{1}

LW{2, 1}

IW{2, 1}, b{2}

3

Elmanbackprop

Сеть  Элмана с обратным распространением ошибки

2

IW{1, 1}, b{1}

LW{2, 1}, b{2}

LW{2, 1},

4

Feed-forwardbackprop

Сеть  с прямым распространением сигнала  и обратным распространением ошибки

2

IW{1, 1}, b{1}

LW{2, 1}, b{2}

5

Timedelaybackprop

Сеть  с запаздыванием и обратным распространением ошибки

2

IW{1, 1}, b{1},

LW{2, l},b{2}

6

Generalizedregression

Обобщенная  регрессионная сеть

2

IW{1, 1}, b{1},

LW{2, l}

7

Hopfield

Сеть  Хопфилда

1

LW{l, l},b{l}

8

Linearlayer (design)

Линейный  слой (создание)

1

IW{1, 1}, b{1}

9

Linearlayer (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

Radialbasis (exactfit)

Радиальная  базисная сеть с нулевой ошибкой 

2

IW{ 1, 1}, b{ 1},

LW{2, 1}

14

Radialbasis (fewerneurons)

Радиальная  базисная сеть с минимальным числом нейронов

2

IW{1, 1}, b{ 1},

LW{2, 1}, b{2}

15

Self-organizingmap

Самоорганизующаяся  карта Кохонена

1

IW{1, 1}


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. ПРОГРАМНА РЕАЛІЗАЦІЯ

 

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

 

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

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

 

P = [1.0 -1.2];

T = [0.5 1.0];

 

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 вычисляет максимальные значения параметра скорости обучения для линейной сети.В данном случае это значение составит 40% от максимальной скорости. NEWLIN создает линейную нейронную сеть.NEWLIN выбирает следующие аргументы:

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

 

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

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

 

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

net.trainParam.goal = .001;

 

Чтобы показать путь обучения, будем обучать только одну эпоху за один раз и «вызывать» 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.perftr.perf(2)];

r.vperf=[r.vperfNaN];

r.tperf=[r.tperfNaN];

else

break

end

end

tr=r;

 

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

 

plotperf(tr,net.trainParam.goal);

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

 

p = -1.2;

a = sim(net, p)

 

 

 

 

 

 

 

 

 

 

 

ЗАКЛЮЧЕНИЕ

 

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

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

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

 

 

 

 

 

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

 

  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.
Моделювання нейронного фільтра в MatLab