- •Лабораторная работа №1. Исследование модели предметной области.
- •Теоретический раздел
- •Практическая часть
- •2. Провести кластеризацию.
- •8. Определить уровень ошибки байесовского классификатора.
- •9. Построить нейросетевую модель решения.
- •10. Необходимо установить уровень ошибки байесовского классификатора и сравнить их с ошибкой нечеткой кластеризации и ошибками всех нейросетевых моделей. Оценить качество каждой модели.
- •11. Подготовить отчет в следующей форме:
2. Провести кластеризацию.
Для каждой подмодели (S1, S2, S3) провести кластеризацию (2 класса).
Для проведения кластеризации воспользуемся возможностями, предоставляемыми пакетом прикладных программ Fuzzy Logic ToolBox, входящим в состав математического пакета Matlab.
кластеризация осуществляется функцией
[CENTER, U, OBJ_FCN] = fcm(DATA, N_CLUSTER)
CENTER – матрица координат центров кластеров,
U – степень принадлежности примера обучающей выборки кластерам,
OBJ_FCN – значения функции качества кластеризации по итерациям.
DATA – исходная выборка данных,
N_CLUSTER – число кластеров, которые должны быть выделены.
Пример:
data = rand(100,2);
% построили выборку случайных данных для 2-х координат на 100 примеров.
[center,U,obj_fcn] = fcm(data,2);
% проведи кластеризацию данных из data на 2 кластера.
plot(data(:,1), data(:,2),'o');
% отображаем данные
hold on;
% фиксируем картинку
maxU = max(U);
% выделяем максимальные значения из U для каждого примера.
% U имеет размерность 2 строки на 100 столбцов.
% Каждый столбец соответствует одному примеру из data.
% составляем список номеров примеров, для которых ближе всего 1-й центр
index1 = find(U(1,:) == maxU);
% составляем список номеров примеров, для которых ближе всего 1-й центр
index2 = find(U(2,:) == maxU);
% выводим на рисунок данные из списка index1, index2 разным цветом.
line(data(index1,1),data(index1,2),'marker','*','color','g');
line(data(index2,1),data(index2,2),'marker','*','color','r');
% рисуем центр кластеров
plot([center([1 2],1)],[center([1 2],2)],'*','color','k')
% остановить вывод на картинку
hold off;
Результаты работу той же программы для 20 примеров приведены на Рис.1.
Рис.1. Кластеризация
data =
0.2219 0.2093
0.7037 0.4551
0.5221 0.0811
0.9329 0.8511
0.7134 0.5620
0.2280 0.3193
0.4496 0.3749
0.1722 0.8678
0.9688 0.3722
0.3557 0.0737
0.0490 0.1998
0.7553 0.0495
0.8948 0.5667
0.2861 0.1219
0.2512 0.5221
0.9327 0.1171
0.1310 0.7699
0.9408 0.3751
0.7019 0.8234
0.8477 0.0466
Данные построены за счет генератора случайных чисел
U =
Columns 1 through 11
0.9596 0.0637 0.6540 0.2056 0.0949 0.9910 0.8253 0.6596 0.0560 0.8375 0.9011
0.0404 0.9363 0.3460 0.7944 0.9051 0.0090 0.1747 0.3404 0.9440 0.1625 0.0989
Columns 12 through 20
0.3479 0.0475 0.9039 0.8902 0.2049 0.7222 0.0437 0.2727 0.2859
0.6521 0.9525 0.0961 0.1098 0.7951 0.2778 0.9563 0.7273 0.7141
center =
0.2853 0.3242
0.8173 0.4423
3. Вычислить расстояние от векторов Mi до центров вычисленных при кластеризации (расстояние по Евклиду).
4. Вывести на экран результаты отнесения примера к кластеру. ВЫЧИСЛИТЬ ОШИБКУ КЛАСТЕРИЗАЦИИ ДЛЯ МОДЕЛЬНОГО ПРОСТРАНСТВА (разделить все имеющиеся примеры в пропорции 2000 - обучение, 1000 - тест).Ошибкой обобщения на тестовой выборке считаем число неверных классификаций к общему числу тестовых примеров.
