exponenta event banner

genfis2

(Чтобы быть удаленным), Генерируют Нечеткую Структуру системы Вывода из данных с помощью отнимающей кластеризации

genfis2 будет удален в будущем релизе. Использование genfis вместо этого. Для получения дополнительной информации см. Вопросы совместимости.

Синтаксис

fismat = genfis2(Xin,Xout,radii) 
fismat = genfis2(Xin,Xout,radii,xBounds) 
fismat = genfis2(Xin,Xout,radii,xBounds,options) 
fismat = genfis2(Xin,Xout,radii,xBounds,options,user_centers)

Описание

genfis2 генерирует Sugeno-тип структура FIS с помощью отнимающей кластеризации и требует отдельных наборов входных и выходных данных как входные параметры. Когда существует только один выход, genfis2 может использоваться, чтобы сгенерировать начальный FIS для anfis обучение. genfis2 выполняет это путем извлечения ряда правил, который моделирует поведение данных.

Метод экстракции правила сначала использует subclust функция, чтобы определить количество правил и предшествующих функций принадлежности и затем использует оценку линейного метода наименьших квадратов, чтобы определить последовательные уравнения каждого правила. Эта функция возвращает структуру FIS, которая содержит набор нечетких правил покрыть пространство признаков.

Аргументы для genfis2 следующие:

  • Xin матрица, в которой каждая строка содержит входные значения точки данных.

  • Xout матрица, в которой каждая строка содержит выходные значения точки данных.

  • radii вектор, который указывает диапазон кластерного центра влияния в каждой из размерностей данных, принимая, что данные находятся в пределах модульного гиперполя.

    Например, если размерность данных равняется 3 (например, Xin имеет два столбца и Xout имеет один столбец), radii = [0.5 0.4 0.3] указывает что области значений влияния в первых, вторых, и третьих размерностях данных (т.е. первый столбец Xin, второй столбец Xin, и столбец Xout) 0.5, 0.4, и 0.3 раза ширина пространства данных, соответственно. Если radii скалярное значение, затем это скалярное значение применяется ко всем размерностям данных, i.e., каждый кластерный центр имеет сферическое окружение влияния на данный радиус.

  • xBounds 2 N дополнительной матрицей, которая задает, как сопоставить данные в Xin и Xout в модульное гиперполе, где N является данными (строка) размерность. Первая строка xBounds содержит минимальные значения области значений оси, и вторая строка содержит максимальные значения области значений оси для масштабирования данных в каждой размерности.

    Например, xBounds = [-10 0 - 1; 10 50 1] указывает, что значения данных в размерности First Data должны масштабироваться из области значений [-10 +10] в значения в области значений [0 1]; значения данных во второй размерности данных должны масштабироваться из области значений [0 50]; и значения данных в третьей размерности данных должны масштабироваться из области значений [-1 +1]. Если xBounds пустая матрица или не если, затем xBounds значения по умолчанию к минимальным и максимальным значениям данных найдены в каждой размерности данных.

  • options дополнительный вектор для определения параметров алгоритма, чтобы заменить значения по умолчанию. Эти параметры объяснены в тексте справки для subclust. Значения по умолчанию существуют, когда этот аргумент не задан.

  • user_centers дополнительная матрица для определения пользовательских кластерных центров. user_centers имеет размер J- N где J количество кластеров и N общее количество вводов и выводов.

Входным типом функции принадлежности является 'gaussmf', и выходным типом функции принадлежности является 'linear'.

Следующая таблица обобщает методы вывода по умолчанию.

Заключите методЗначение по умолчанию
И prod
ИЛИprobor
Значениеprod
Агрегацияmax
Дефаззификацияwtaver

Примеры

свернуть все

Сгенерируйте FIS использование отнимающей кластеризации и укажите кластерный центральный диапазон влияния.

Xin = [7*rand(50,1) 20*rand(50,1)-10];
Xout = 5*rand(50,1);
fismat = genfis2(Xin,Xout,0.5);

fismat использует область значений влияния 0.5 для всех размерностей данных.

Видеть содержимое fismat, используйте showfis(fismat).

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

[x,mf] = plotmf(fismat,'input',1);
subplot(2,1,1)
plot(x,mf)
xlabel('Membership Functions for input 1')
[x,mf] = plotmf(fismat,'input',2);
subplot(2,1,2)
plot(x,mf)
xlabel('Membership Functions for input 2')

Предположим, что входные данные имеют два столбца, и выходные данные имеют один столбец. Задайте 0.5 и 0.25 как область значений влияния за первые и вторые столбцы входных данных. Задайте 0.3 как область значений влияния за выходные данные.

Xin = [7*rand(50,1) 20*rand(50,1)-10];
Xout = 5*rand(50,1);
fismat = genfis2(Xin,Xout,[0.5 0.25 0.3]); 

Предположим, что входные данные имеют два столбца, и выходные данные имеют один столбец. Укажите масштабирующийся диапазон для вводов и выводов, чтобы нормировать данные в [0 1] область значений. Области значений для первых и вторых столбцов входных данных и выходных данных: [-10 +10], [-5 +5], и [0 20].

Xin = [7*rand(50,1) 20*rand(50,1)-10];
Xout = 5*rand(50,1);
fismat = genfis2(Xin,Xout,0.5,[-10 -5 0;10 5 20]);

Здесь, третий входной параметр, 0.5, указывает диапазон влияния за все размерности данных. Четвертый входной параметр указывает масштабирующийся диапазон для входных и выходных данных.

Вопросы совместимости

развернуть все

Не рекомендуемый запуск в R2017a

Смотрите также

| | | |

Представлено до R2006a