
- •Нейронные сети
- •Лабораторная работа №6
- •Теоретические сведения Мозг и компьютер
- •Математический нейрон Мак-Каллока-Питтса
- •Персептрон Розенблатта и правило Хебба
- •Многослойный персептрон и алгоритм обратного распространения ошибки
- •Модели нейронных сетей
- •Построение нейронной сети
- •Пакет расширения по нейронным сетям Назначение пакета Neural Networks Toolbox
- •Функции пакета Neural Networks Toolbox Функции активации и связанные с ними функции
- •Функции обучения нейронных сетей
- •Функции инициализации слоев и смещений
- •Функции создания нейронных сетей
- •Функции использования нейронных сетей
- •Линейные нейронные сети
- •Архитектура линейной сети Модель нейрона
- •Архитектура сети
- •Создание модели линейной сети
- •Обучение линейной сети
- •Процедура настройки посредством прямого расчета
- •Обучающее правило наименьших квадратов
- •Процедура обучения
- •Порядок выполнения работы
- •Варианты заданий для самостоятельного выполнения
- •Контрольные вопросы
Линейные нейронные сети
Линейные сети по своей структуре аналогичны персептрону и отличаются лишь функцией активации. Выход линейной сети может принимать любое значение, в то время как выход персептрона ограничен значениями 0 или 1.
Архитектура линейной сети Модель нейрона
На рис. 9 показан линейный нейрон с двумя входами. Он имеет структуру, сходную со структурой персептрона. Единственное отличие состоит в том, что используется линейная функция активации purelin.
Весовая матрица W в этом случае имеет только одну строку, и выход сети определяется выражением
а = purelin(n)= purelin (Wp +b)= Wp+ b = w11p1 + w12p2+b (9)
Подобно персептрону, линейная сеть задает в пространстве входов разделяющую линию, на которой функция активации n равна 0 (рис. 10).
Рис.9. Линейная ИНС
Рис.10. Разделяющая линия
Векторы входа, расположенные выше этой линии, соответствуют положительным значениям выхода, а расположенные ниже – отрицательным. Это означает, что линейная сеть может быть применена для решения задач классификации.
Однако такая классификация может быть выполнена только для класса линейно отделимых объектов. Таким образом, линейные сети имеют то же самое ограничение, что и персептрон.
Архитектура сети
Линейная сеть, показанная на рис. 8,а, включает S нейронов, размещенных в одном слое и связанных с R входами через матрицу весов W.
На рис. 11,б показана укрупненная структурная схема этой сети, вектор выхода а которой имеет размер S1.
Создание модели линейной сети
Линейную сеть, показанную на рис.6, можно создать следующим образом:
clear, net=newlin([-1 1; -1 1],1);
Первый входной аргумент задает диапазон изменения элементов вектора входа; второй аргумент указывает, что сеть имеет единственный выход. Начальные веса и смещение по умолчанию равны нулю.
Присвоим весам и смещению следующие значения:
net.IW{1,1}=[2 3];
net.b{1}=[-4];
Рис.11
Теперь можно промоделировать линейную сеть для следующего предъявленного входа:
p=[5;6];
a=sim(net,p)
a =
24
Видно, что сеть правильно классифицировала входной вектор.
Обучение линейной сети
Линейные сети, как и персептроны, способны решать только линейно отделимые задачи классификации, однако в них используется другое правило обучения, основанное на методе обучения наименьших квадратов, которое является более мощным, чем правило обучения персептрона.
Для заданной линейной сети и соответствующего множества векторов входа и целей можно вычислить вектор выхода сети и сформировать разность между вектором выхода и целевым вектором, которая определит некоторую погрешность..
В процессе обучения сети требуется найти такие значения весов и смещений, чтобы сумма квадратов соответствующих погрешностей была минимальной, поэтому настройка параметров выполняется таким образом, чтобы обеспечить минимум ошибки.
Эта задача разрешима, так как для линейной сети поверхность ошибки как функция входов имеет единственный минимум, и отыскание этого минимума не вызывает трудностей.
Как и для персептрона, для линейной сети применяется процедура обучения с учителем, которая использует обучающее множество вида
(p1t1}, {p2,t2},...,{pQ,tQ} (10)
Требуется минимизировать одну из следующих функций квадратичной ошибки:
(11)
или
(12)
где mse – средняя квадратичная ошибка; sse – сумма квадратов ошибок.