Нечеткая кластеризация c-means
Чтобы создать систему нечеткого вывода с помощью кластеризации FCM, используйте genfis команда. Например, предположим, что данные сгруппированы с использованием следующего синтаксиса:
[centers,U] = fcm(data,Nc,options);
где первый M столбцы data соответствуют входным переменным, а остальные столбцы соответствуют выходным переменным.
Можно создать нечеткую систему, используя те же учебные данные и конфигурацию кластеризации FCM. Для этого:
Настройка параметров кластеризации.
opt = genfisOptions('FCMClustering');
opt.NumClusters = Nc;
opt.Exponent = options(1);
opt.MaxNumIteration = options(2);
opt.MinImprovement = options(3);
opt.Verbose = options(4);
Извлеките входные и выходные переменные данные.
inputData = data(:,1:M); outputData = data(:,M+1:end);
Создайте структуру FIS.
fis = genfis(inputData,outputData,opt);
Нечеткая система, fis, содержит одно нечеткое правило для каждого кластера, и каждая входная и выходная переменная имеет одну функцию членства на кластер. Дополнительные сведения см. в разделе genfis и genfisOptions.
Нечеткие c-средства (FCM) - метод кластеризации, который позволяет каждой точке данных принадлежать нескольким кластерам с различной степенью членства.
FCM основан на минимизации следующей целевой функции
где
D - количество точек данных.
N - число кластеров.
m - показатель матрицы нечеткого разбиения для управления степенью нечеткого перекрытия, с m > 1. Нечеткое перекрытие означает, насколько нечеткими являются границы между кластерами, то есть количество точек данных, которые имеют значительное членство в нескольких кластерах.
xi - i-я точка данных.
cj - центр j-го скопления.
pciij - степень членства xi в j-м кластере. Для данной точки данных xi сумма значений членства для всех кластеров равна единице.
fcm выполняет следующие шаги во время кластеризации:
Произвольно инициализируйте значения членства в кластере, мкij.
Вычислите центры кластеров:
Обновите pciij в соответствии со следующим:
ck ‖) 2 м − 1.
Вычислите целевую функцию, Jm.
Повторяйте шаги 2-4 до тех пор, пока Jm не улучшится менее чем на заданное минимальное пороговое значение, или до тех пор, пока не будет указано максимальное число итераций.
[1] Бездек, J.C., Распознавание образов с нечеткими алгоритмами целевой функции, Пленум Пресс, Нью-Йорк, 1981.