Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 800657

.pdf
Скачиваний:
32
Добавлен:
01.05.2022
Размер:
15.28 Mб
Скачать

Лабораторная работа № 7 Исследование алгоритма нечеткой кластеризации

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

Краткие теоретические сведения

Алгоритм нечеткой кластеризации называют - алгоритмом (Fuzzy Classifier Means, Fuzzy C-Means). Целью - алгоритма кластеризации является автоматическая классификация множества объектов, которые задаются векторами признаков в пространстве признаков. Другими словами, такой алгоритм определяет кластеры и соответственно классифицирует объекты. Кластеры представляются нечеткими множествами, и, кроме того, границы между кластерами также являются нечеткими.

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

вые степени принадлежности объектов.

 

 

 

 

 

 

 

Для заданного множества входных векторов

и выделяемых кла-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

стеров

предполагается, что любой

принадлежит любому с принадлеж-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ностью

 

0,1 , где – номер кластера, а – входного вектора. Принима-

 

 

 

 

 

 

 

 

 

 

 

 

 

ются во внимание следующие условия нормирования для :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= 1, = 1, … , :

0 <

 

 

≤ K, = 1, … , .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=1

 

 

 

 

 

=1

 

 

 

 

 

Цель алгоритма – минимизация

суммы

всех взвешенных расстояний

 

:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( )

 

 

→ ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=1 =1

где – фиксированный параметр, задаваемый перед итерациями.

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

систему уравнений:

 

 

 

 

 

 

 

 

 

 

 

/ (

 

 

 

(

 

)

 

) = 0,

 

=1

=1

 

 

 

 

 

 

/ (

 

 

(

 

)

 

) = 0.

 

=1

=1

 

 

 

 

 

 

 

Совместно с условиями нормирования данная система дифференциальных уравнений имеет следующее решение:

141

=

 

 

(

 

) ∙

=1

 

 

 

 

 

 

 

(

 

)

 

 

=1

 

 

 

(взвешенный центр гравитации) и

 

1/|

|1/(−1)

 

=

 

 

 

 

 

 

 

.

 

 

 

 

1

 

 

 

 

 

 

 

 

 

(1/|

|

−1

)

 

 

=1

 

 

 

 

 

 

 

Алгоритм нечеткой кластеризации выполняется по шагам.

Ш а г 1. Инициализация. Выбираются следующие параметры:

необходимое количество кластеров , 2 ≤ ≤ :

мера расстояний, как Евклидово расстояние:

фиксированный параметр (обычно ~1,5):

начальная

(на

нулевой

итерации)

матрица

принадлежности

(0) = (0):

объектов с учетом заданных начальных центров кластеров .

Ш а г 2. Регулирование позиций центров кластеров. На − м итерацион-

ном шаге при известной матрице вычисляется ( ) в соответствии с вышеприве-

денным решением системы дифференциальных уравнений.

Ш а г 3. Корректировка значений принадлежности . Учитывая извест-

ные cj(t), вычисляются ( ), если , в противном случае:

( +1)

=

1,

= ,

 

 

0,

иначе.

Ш а г 4. Остановка алгоритма. Алгоритм нечеткой кластеризации останавливается при выполнении следующего условия:

+1

≤ ,

где || || – матричная норма (например, Евклидова норма): – заранее задаваемый уровень точности.

Решение задач кластеризации. Существуют два способа решения задач кластеризации в : с использованием командной строки или графического интерфейса пользователя.

Рассмотрим первый из указанных способов.

Для нахождения центров кластеров в имеется встроенная функция , описание которой представлено ниже.

, , = , ,

где – множество данных, подлежащих кластеризации, каждая строка описывает точку в многомерном пространстве характеристик: _ – количество кластеров (более одного): – матрица центров кластеров, каждая

строка которой содержит координаты центра отдельного кластера:

142

 

результирующая матрица функций принадлежности: _ – значение целевой функции на каждой итерации.

Пример 4.11. Программа нечеткой кластеризации.

загрузка данных, подлежащих кластеризации, из файла:

. :

определение центров кластеризации (два кластера):

[ , , _ ] = ( , 2):

определение максимальной степени принадлежности отдельного элемента данных кластеру:

= ( ):

распределение строк матрицы данных между соответствующими кластерами:

1 = ( (1, ) == )2 = ( (2, ) == )

построение данных, соответствующих первому кластеру:

( ( 1, 1), ( 1, 2), ′ ′, ′ ′, 5, ′ ′, 1): :

построение данных, соответствующих второму кластеру:

( ( 2, 1), ( 2, ),

′ ′, ′ ′, 5, ′ ′, 1):

построение кластерных центров:

( (1, 1) , (1, 2), ′ ′, ′ ′, 15, ′ ′, 2):( (2, 1), (2, 2), ′ ′, ′ ′, 15, ′ ′, 2):

На рис. 4.28 представлено множество данных, подлежащих кластеризации и найденные центры кластеров для примера 4.11.

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

Таблица 4.3

Целевая функция

Номер

1

2

3

4

5

6

7

8

9

10

11

12

итерации

 

 

 

 

 

 

 

 

 

 

 

 

Целевая

8,94

7,31

6,90

5,41

4,08

3,83

3,81

3,80

3,79

3,79

3,79

3,78

функция

 

 

 

 

 

 

 

 

 

 

 

 

Для оценки динамики изменения значений целевой функции используется команда построения графика ( _ ).

143

Результаты примера 4.11 показаны на рис. 4.28, 4.29.

Рис. 4.28. Множество анализируемых данных и центры кластеров

Рис. 4.29. График изменения значений целевой функции

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

(1) – показатель степени для матрицы (по умолчанию – 2.0):

(2) – количество итераций (по умолчанию – 100):

(3) – предельное изменение значений целевой функции (по умолчанию – 1 − 5):

(4) – информация на каждом шаге (по умолчанию – 1).

144

Пример определения функции с дополнительными параметрами:

[ , , _ ] = ( , 2, [2, 100, 1 е − 5, 1]).

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

Рис. 4.30. Главное окно кластеризации в

Выбор типа алгоритма кластеризации осуществляется с использованием ниспадающего меню (пункт меню – ). Далее определяются параметры алгоритма кластеризации:

количество кластеров (строка ввода – ):

максимальное количество итераций (строка ввода . ):

минимальное значение улучшения целевой функции (строка ввода –

. ):

показатель степени при матрице функций принадлежности (строка ввода

– ).

После определения необходимых значений указанных параметров осуществляется запуск алгоритма кластеризации с помощью кнопки < >. Количество произведенных итераций и значение целевой функции можно просмотреть в нижней части главного окна инструмента кластеризации.

Координаты найденных центров кластеров можно сохранить, щелкнув

145

мышью по кнопке < . . . >. Каждая строка матрицы в файле представляет собой набор координат отдельного кластера. Количество строк соответствует количеству кластеров.

Отчет о выполнении лабораторной работы № 7 должен быть выпол-

нен на листах формата А4 и содержать следующие результаты:

1)текст программы с подробными комментариями:

2)результаты моделирования (все полученные рисунки, с объяснением):

3)контрольный пример.

Лабораторная работа № 8 Алгоритм нечеткой кластеризации Mamdani

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

Краткие теоретические сведения

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

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

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

Исходя из выше сказанного разработана система нечеткого вывода, которая имеет следующие входные параметры: «Себестоимость продукции», «Ко-

личество покупателей», «Покупная способность». Выходным параметром является «Прибыль».

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

146

времени (например, по результатам опроса населения).

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

Фаззификация входных и выходных лингвистических переменных

 

В качестве терм-множества первой входной лингвистической

пе-

ременной

«Себестоимость

продукции»,

будем

использовать

Т1 = {«Низкая»,«Средняя»,«Высокая»} (табл.4.4). «Себестоимость продук-

ции» определена на интервале [0. .1] (абсолютная величина: чем число больше, тем себестоимость выше).

Таблица 4.4 Фаззификация лингвистической переменной «Себестоимость продукции»

Терм–множества лингвистической переменной

Значения параметров

«Низкая»

[0:0.2:0.4]

«Средняя»

[0.2:0.5:0.8]

«Высокая»

[0.6:0.8:1]

Ни рис. 4.31 представлено формирование трех функций принадлежности для входной лингвистической переменной 1 «Себестоимость продукции»: 1 – «низкая», 2 – «средняя», 3 – «высокая».

Рис. 4.31. Функции принадлежности входной лингвистической переменной

«Себестоимость продукции»

В качестве терм-множества второй входной переменной «Количество покупателей» будем использовать (табл.4.5):

Т2 = {«Очень мало», «Мало», «Незначительно», «Достаточно», «Много»,

147

«Очень много»}.

Лингвистическая переменная «Количество покупателей» определена на интервале [0. .10] (абсолютная величина: чем число выше, тем численность клиентов больше).

Таблица 4.5 Фаззификация лингвистической переменной «Количество покупателей»

 

Терм–множества лингвистической переменной

 

Значения параметров

 

 

«Очень мало»

 

[0:0.15:0.25]

 

 

 

«Мало»

 

[0.15:0.25:0.4]

 

 

«Незначительно»

 

[0.3:0.4:0.6]

 

 

«Достаточно»

 

[0.45:0.6:0.75]

 

 

 

«Много»

 

[0.65:0.75:0.9]

 

 

«Очень много»

 

[0.8:0.9:1]

 

 

Формирование шести функций принадлежности для входной

лингвистической переменной 2

«количество покупателей»:

1 – «очень мало»,

2 – «мало», 3 – «незначительно»,

4 – «достаточно»,

5 – «много», 6 – «очень много» представлено на

рис. 4.32.

 

 

 

 

Рис. 4.32. Функции принадлежности входной лингвистической переменной

«Количество покупателей»

В качестве терм-множества третьей входной переменной «Покупная спо-

собность» будем использовать Т3 = {«Очень бедные», «Бедные», «Средне обеспеченные», «Богатые», «Очень богатые»} (табл.4.6).

Лингвистическая переменная «Покупная способность» определена на интервале [0. .10] (абсолютная величина: чем число выше, тем покупная способ-

148

ность клиентов больше).

Таблица 4.6 Фаззификация лингвистической переменной «Покупная способность»

Терм–множества лингвистической переменной

Значения параметров

«Очень бедные»

[0:0.1:0.15]

«Бедные»

[0.1:0.35:0.5]

«Средне обеспеченные»

[0.2:0.5:0.85]

«Богатые»

[0.85:0.9:0.95]

«Очень богатые»

[0.95:0.97:1]

Формирование пяти функций принадлежности для входной лингвистической переменной 3 «Покупная способность» (рис. 4.33):

1 – «очень бедные», 2 – «бедные», 3 – «средне обеспеченные»,4 – «богатые», 5 – «очень богатые».

Рис. 4.33. Функции принадлежности лингвистической переменной

«Покупная способность»

В качестве терм-множества выходной лингвистической переменной

«Прибыль» будем использовать Т4 = {«Малая», «Средняя», «Высокая»}

(табл. 4.7). Лингвистическая переменная определена на интервале [0. .10] (абсолютная величина: чем число больше, тем прибыль выше).

Таблица 4.7 Фаззификация лингвистической переменной «Прибыль»

Терм–множества лингвистической переменной

Значения параметров

«Малая»

[0:0.1:0.2]

«Средняя»

[0.15:0.4:0.7]

«Высокая»

[0.6:0.9:1]

Формирование трех функций принадлежности для выходной

149

лингвистической

переменной 1 «Прибыль»:

1 – «малая»,

2 – «средняя»,

3 – «высокая» представлено на рис. 4.34.

 

Рис. 4.34. Функции принадлежности лингвистической переменной «Прибыль»

Формирование трех входных лингвистических перменных и одной на выходе на основе алгоритма Mamdani представленно на рис. 4.35.

Рис. 4.35. Формирование лингвистических переменных на основе алгоритма Mamdani

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

Таблица 4.8

150