русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Гибридный нечёткий многослойный персептрон


Дата добавления: 2014-11-28; просмотров: 1524; Нарушение авторских прав


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

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

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

Если на вход сети подается , то на выходе «нечеткого слоя» формируется вектор, состоящий из степеней принадлежности x к конкретным центрам (радиально базисным функциям); . Конкретные компоненты рассчитываются таким образом, чтобы удовлетворять условию нормализации для каждого вектора , где p – число векторов в обучающей выборке.

x1
x2
x3
xn
y1
ys
«Нечеткий слой»
Многослойный персептрон

 


M K

 

 

Рисунок 8.7 Структура нечеткого многослойного персептрона

Выходы нечёткого многослойного персептрона трактуются как степени принадлежности предъявленного объекта соответствующему классу.



С учётом ярко выраженной двухкомпонентной структуры гибридной сети для её обучения применяется алгоритм, состоящий из двух этапов. На первом из них проводится обучение самоорганизующегося слоя, состоящее в подборе центров. Для этого может быть использован алгоритм C-means или другие подобные алгоритмы (например, алгоритм Густавсона-Кесселя). По завершении первого этапа, начинается второй этап обучения, на котором уточняются только веса персептронной компоненты. Это обычное обучение многослойного персептрона, для которого входом является множество коэффициентов принадлежности вектора x к центрам самоорганизующегося слоя. В зависимости от типа решаемой задачи выходом сети может быть код класса, к которому принадлежит входной вектор x, либо ожидаемое значение d выходного вектора.

Для обучения весов скрытых слоёв и выходного слоя нечёткого многослойного персептрона могут быть использованы градиентные алгоритмы обучения или эвристические алгоритмы обучения, используемые для обучения чёткого многослойного персептрона.

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

В качестве примера использования других алгоритмов обучения при решении конкретной задачи рассмотрим алгоритм обучения нечёткого многослойного персептрона для решения задачи разделения объектов на два класса [4]. Пусть имеется обучающая выборка, состоящая из множества примеров вида:

, (8.85)

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

, (8.86)

причем для t-го входного вектора, принадлежность ко второму классу которого является менее определенной, соответствующая функция принадлежности находится в диапазоне от 0 до 0,5 (рисунок 8.8).

 

 
 
 
 
0,5
Класс 2
Класс 1

 

 


Рисунок 8.8. Функция принадлежности.

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

(8.87)

где – значения желаемого и полученного в предыдущем такте обучения выходных сигналов при входном векторе; – текущий такт обучения нечеткого персептрона; – весовой коэффициент j-го входа персептронного нейрона; – коэффициент обучения.

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

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

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

(8.88)

где f – константа, подбираемая опытным путем (f>0); – расстояние от вектора до центра класса 2; – расстояние от вектора до центра класса 1 в соответствии с выбранной метрикой (например, евклидовой); – расстояние между центрами классов 1 и 2.

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

или для (8.89)

Алгоритм обучения нечеткого персептрона состоит из следующих этапов.

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

2. Производится вычисление степеней функций принадлежности для всех входных векторов обучающей выборки в каждом классе в соответствии с выражениями (8.88).

3. Подаются входные векторы , , и вычисляются текущие значения выхода: .

4. Сравниваются текущие и желаемые значения выхода.

5. Модифицируются весовые коэффициенты в соответствии с выражением (8.83), если .

6. Производится просмотр всех примеров из обучающей выборки, проверка критерия ошибки обучения и условия (8.89). Если эти условия не выполняются хотя бы для одного вектора, то переход к этапу 3.

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



<== предыдущая лекция | следующая лекция ==>
Обучение нечётких нейронных сетей | Алгоритм нечёткой самоорганизации C-means


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.502 сек.