Алгоритм обучения систем классификации данных с нечеткой (fuzzy) логикой

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 02.02.2019
Размер файла 66,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

АЛГОРИТМ ОБУЧЕНИЯ СИСТЕМ КЛАССИФИКАЦИИ ДАННЫХ С НЕЧЕТКОЙ (FUZZY) ЛОГИКОЙ

Д.А. Титов, С.В. Иванова, Ю.К. Дель-Кампо, Р.М. Смагулов

Омский государственный технический университет

Аннотация

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

Ключевые слова: классификация данных, обучение технических систем, нечеткие (fuzzy) множества, функция принадлежности

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

Во многих областях техники очень часто возникает задача создания устройств, которые бы выполняли разделение объектов в пространстве признаков [1]. Подобные задачи возникают в радиолокации [2, 3], технической и медицинской диагностике [1], системах управления подвижными объектами и т. д.

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

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

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

Пусть имеется обучающая последовательность входных векторов xpX, каждый из которых состоит из двух компонентов: xp=(x1p, x2p). Каждый вектор последовательности отнесен к одному из двух классов cm = (c1m, c2m), m=1, 2, т. е. каждому вектору xp соответствует значение dp, устанавливаемое по формуле:

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

где м(c1)=min[м1(x1p), м1(x2p)]; м(c2)=min[м2(x1p), м2(x2p)], м1(x1), м2(x1), м1(x2), м2(x2) - ФП нечетких множеств. ФП нечеткого множества устанавливается экспертным путем, принимает значения из диапазона [0, 1] и может иметь произвольную форму. Как правило, ФП нечетких множеств аппроксимируются типовыми функциями с небольшим количеством параметров.

В общем виде вычисляемое значение устройства представляет собой функционал m*=f(xp, S), где S - вектор параметров ФП. Требуется найти ФП, позволяющие выполнять разделение векторов в пространстве признаков в соответствии с обучающей выборкой. При этом решение должно быть найдено без использования итерационных методов оптимизации. Иными словами, необходимо найти такие значения вектора S, при которых выполняется следующее условие: m*=f(xp, S)=dp.

В соответствии с рассмотренными условиями поставленная задача сводится к нахождению параметров четырех ФП: м1(x1), м2(x1), м1(x2), м2(x2). В общем случае устройство, функционирующее на основе рассмотренного алгоритма, может выполнять разделение в пространстве признаков на основе разделяющей функции общего вида [1]. Т. к. ФП может иметь произвольную форму, разделяющая функция в пространстве признаков может быть нелинейной.

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

(1)

где x - аргумент ФП, H, a, b - параметры настройки ФП, устанавливаемые экспертным путем. Пример изображения треугольной ФП показан на рис. 1. В данном случае H - положение максимума ФП.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рис. 1. Рис. 2.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рис. 3.

алгоритм обучение нечеткая логика

В общем случае параметры ФП должны записываться с индексами, соответствующими номеру класса и номеру компонента вектора, т. е. H1m, a1m, b1m, H2m, a2m, b2m. Например, запись H21 означает положение максимума ФП компонента x2 классу с1 (рис. 2). Нахождение значений каждой ФП сводится к нахождению трех ее параметров настройки.

Пусть обучающая выборка представлена двумя векторами x1 и x2, принадлежащими разным классам, например, x1c1, x2c2 (в дальнейшем векторы, принадлежащих классу с1 будем изображать на рисунках в виде квадратов, векторы, принадлежащих классу с2 - в виде окружностей). Расположение точек, соответствующих векторам обучающей выборки представлено на рис 3. В соответствии с рисунком x11> x12, x22> x21.

Для выполнения разделения двух точек, принадлежащих разным классам, ФП устройства могут быть установлены приближенно. Зададим параметры ФП как показано на рис. 4, 5.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рис. 4. Рис. 5.

Вектор x1c1, следовательно, максимумы ФП м1(x1), м1(x2) должны быть расположены в точках x11, x21 соответственно. Аналогично, поскольку x2c2 максимумы ФП м2(x1), м2(x2) должны соответствовать точкам x12, x22. Пересечения r и v ФП двух разных классов расположены на середине интервалов [x12, x11] и [x21, x22]. Таким образом, параметры ФП на рис. 4, 5 заданы следующими значениями:

H11 = x11, H21= x21, a11= x12, b21= x22, H12 = x12, H22= x22, a22= x21, b12= x11.

В рассмотренном варианте установки параметров ФП в пространстве могут быть выделены области, соответствующие различным соотношениям между ФП (области обозначены цифрами I, II, III, IV на рис. 6).

В области r<x1?x11, x21?x2<v (обозначение I на рис. 6) всегда выполняется условие м1(x1)>м2(x1), м1(x2)>м2(x2), т. е. м(c1)>м(c2). Точка, попавшая в эту область, будет всегда отнесена к классу c1.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рис. 6.

Также в области x12?x1<r, v<x2?x22 (обозначение II на рис. 6) всегда будет выполняться условие м2(x1)>м1(x1), м2(x2)>м1(x2), т. е. м(c2)>м(c1). Любая точка из этой области будет отнесена к классу c2. В областях III, IV могут быть выполнены оба рассмотренных условия, т. е. точка, попавшая в эту область, может быть отнесена как к классу c1 так и к классу c2.

Процедура принятия решения на основе аргумента максимизации фактически предполагает анализ разности значений м(c2) и м(c1). Если разность м(c1)-м(c2)>0, точка в пространстве будет отнесена к классу c1, и наоборот, если разность м(c1)-м(c2)<0, точка в пространстве будет отнесена к классу c2. Равенство рассмотренной разности нулю будет определять уравнение разделяющей функции:

м(c1)-м(c2)=min[м1(x1), м1(x2)]-min[м2(x1), м2(x2)]=0.

Рассмотрим область III на рис 6, т. е. r<x1?x11, v<x2?x22. В данной области min[м1(x1), м1(x2)]=м1(x2), min[м2(x1), м2(x2)]=м2(x1), следовательно, уравнение разделяющей функции может быть записано в виде м1(x2)-м2(x1)=0.

Таким образом, решение об отнесении вектора к тому или иному классу будет определяться соотношением значений м1(x2) и м2(x1) в соответствующей области (рис. 7).

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рис. 7.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рис. 8.

В соответствии с графиками на рис. 4, 5 ФП м1(x2) и м2(x1) определяются следующими функциями:

=

=

Т. к. ФП аппроксимированы линейными функциями, разделяющая функция в области пространства III будет также линейной. Аналогично линейным также будет и уравнение разделяющей функции для области IV (рис. 8): м1(x1)-м2(x2) =0.

Таким образом, в случае рассмотренной установки параметров ФП разделяющие функции в областях III и IV будут заданы уравнениями прямой (рис. 9). В общем случае разделяющие прямые в областях III и IV могут проходить под различными углами, т. е. положение разделяющих прямых в пространстве полностью определяется параметрами ФП.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рис. 9.

В случае установки параметров ФП в соответствии с рис. 4, 5 уравнения разделяющих прямых для областей пространства III и IV будут определяться выражениями (соответственно):

-; -

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

Библиографический список

1. Биргер, И. А. Техническая диагностика. / И. А. Бигер. - М.: Машиностроение, 1978. - 240 с.

2. Гульшин, В. А. Распознавание радиолокационных целей на основе анализа диаграммы обратного рассеяния [Электронный ресурс]. - Режим доступа: http://www.confpubs.ru/p6_29.php

3. Кутузов, В. М. Радиотехнические системы: учебник для вузов / В. М. Кутузов, Ю.А. Коломенский, Ю. М. Казаринов; под ред. Ю. М. Казаринова. - М.: Академия, 2008. - 592 с.

4. Круглов, В. В. Искусственные нейронные сети. Теория и практика. 2-е изд. / В. В. Круглов, В. В. Борисов. - М.: Горячая линия - Телеком, 2002. - 382 с.

5. Яхъяева, Г. Э., Нечеткие множества и нейронные сети: учебное пособие / Г. Э. Яхъяева. - М.: Интернет-университет Информационных технологий; БИНОМ. Лаборатория знаний, 2006. - 312 с.

Размещено на Allbest.ru


Подобные документы

  • "Moodle" - модульная объектно-ориентированная динамическая среда обучения, ее использование для разработки систем дистанционного обучения. Общее представление о дистанционном практикуме по программированию. Разработка структуры данных и алгоритмов.

    дипломная работа [1,2 M], добавлен 09.11.2016

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

    дипломная работа [2,2 M], добавлен 07.06.2012

  • Проектирование экспертной системы выбора нейронной сети. Сущность семантических сетей и фреймов. MatLab и системы Фаззи-регулирования. Реализация программы с использованием пакета fuzzy logic toolbox системы MatLab 7. Составление продукционных правил.

    курсовая работа [904,4 K], добавлен 17.03.2016

  • Базовые принципы дистанционного обучения. Система управления базами данных Oracle. Технология Java. Принципы построения клиент-серверных систем. Даталогическое проектирование, таблицы и связи между ними. Разработка учебных курсов и процесс обучения.

    дипломная работа [11,4 M], добавлен 22.04.2009

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

    дипломная работа [3,0 M], добавлен 06.07.2012

  • Параметры автомобиля, используемые в экспертной системе. Задание нечетких и лингвистических переменных, виды термов. Список правил для функционирования системы, результаты анализа ее работы. Применение алгоритма Мамдани в системах нечеткой логики.

    курсовая работа [1,5 M], добавлен 10.02.2013

  • Информация, хранящаяся в наших компьютерах, главное содержание, принципы построения и требования к ней. Основные методы учета рисков при анализе проектов. Теория Нечеткой Логики (Fuzzy Logic), направления и специфика применения с помощью пакета Matlab.

    контрольная работа [2,9 M], добавлен 06.10.2014

  • Программные средства имитационного моделирования систем массового обслуживания. Программная среда Matlab, ее структура и основные компоненты, функциональные особенности, а также назначение. Разработка подсистем моделирования. Инструкция пользователя.

    дипломная работа [3,3 M], добавлен 10.07.2017

  • Обучение нейросимулятора определению видовой принадлежности грибов по их заданным внешним признакам с применением алгоритма обратного распространения ошибки. Зависимость погрешностей обучения и обобщения от числа нейронов внутреннего слоя персептрона.

    презентация [728,2 K], добавлен 14.08.2013

  • Разработка программного кода и алгоритма действий приложения "калькулятор". Использование функций в программе Matlab. Разработка кнопок, опций, интерфейса, оформление. Части кода Matlab и тестовый набор. Инструкция пользователя по работе программы.

    курсовая работа [527,1 K], добавлен 27.09.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.