Неитеративный синтез и редукция нейро

advertisement
4С
УДК 004.93
С.А. Субботин
Запорожский национальный технический университет, Украина
subbotin@zntu.edu.ua
Неитеративный синтез и редукция
нейро-нечетких моделей
Предложен новый метод синтеза нейро-нечетких распознающих и диагностических моделей
многомерных нелинейных объектов в неитеративном режиме. Разработано программное обеспечение,
реализующее предложенный метод. Проведены эксперименты, подтвердившие разработанного
программного обеспечения и практическую применимость предложенного метода.
Введение
Эффективным средством для построения блоков принятия решений систем
технической и биомедицинской диагностики являются нейро-нечеткие сети, которые
сочетают в себе достоинства искусственных нейронных сетей (способность к
обучению и обобщению) а также нечеткой логики (возможность преобразования
модели в систему правил типа «Если, то», удобную для анализа и восприятия
человеком) [1].
Вместе с тем следует отметить, что процесс построения нейро-нечетких
моделей, осуществляемый на основе традиционных методов [2] является высоко
итеративным, длительным по времени и приводит к получению моделей,
обладающих большой избыточностью, а следовательно, характеризующихся
невысоким качеством аппроксимации, недостаточным уровнем обобщения и
большими требованиями к ресурсам ЭВМ.
Целью данной работы является создание метода, позволяющего в
неитеративном режиме синтезировать эффективные, минимально избыточные
нейро-нечеткие модели для решения задач распознавания образов и неразрушающей
диагностики многомерных нелинейных объектов и процессов по признакам.
Для синтеза нейро-нечетких моделей в неитеративном режиме предлагается
учитывать априорную информацию об экземплярах обучающей выборки, а
сокращение избыточности и повышение качества аппроксимации и уровня
обобщения моделей предлагается достигать путем редукции дублирующихся блоков
сети.
Априорная информация об обучающей выборке
К априорной информации об экземплярах обучающей выборки можно отнести
показатели индивидуальной информативности признаков, а также параметры,
характеризующие границы областей группировки экземпляров.
Пусть мы имеем обучающую выборку x, состоящую из S экземпляров xs, где s –
номер экземпляра, s = 1,2,...,S. Каждый s-й экземпляр будем характеризовать набором
значений N признаков xsj, где j – номер признака s-го экземпляра, j = 1, 2, ..., N. Кроме
«Штучний інтелект» 3’2006
163
4C
Субботин С.А.
того, каждому экземпляру xs сопоставим целевой признак ys* – номер класса s-го
экземпляра.
Разобьем интервал значений каждого признака экземпляров обучающей
выборки на интервалы, в которых номер класса остается неизменным. Это даст нам
возможность определить, с одной стороны, сколько потребуется разделяющих
плоскостей, перпендикулярных оси каждого признака, а с другой стороны, позволит
определить левую и правую границы интервалов для классов по оси каждого
признака. Количество интервалов, а также значения границ и номера классов
интервалов для каждого признака можно найти, выполнив шаги 1 – 12 [3-4].
Шаг 1. Инициализация. Задать обучающую выборку экземпляров,
представленную в виде массива данных x, в котором признаки линеаризованы по
строкам, а экземпляры – по столбцам, а также соответствующий массив y*={ys*},
содержащий номера классов, сопоставленные экземплярам обучающей выборки (0
или 1). Создать массив {Dj}, равный по размеру количеству признаков N, элементы
которого будут содержать число интервалов для каждого признака. Установить:
Dj = 0, j = 1,2,...,N, где j – номер текущего признака. Занести количество экземпляров
обучающей выборки в переменную S. Установить номер текущего признака i = 1.
Шаг 2. Если i ≤ N, тогда перейти на шаг 3, иначе – перейти на шаг 12.
Шаг 3. Занести в буфер признака x вектор значений i-го признака из
обучающей выборки: x(j) = xsi; занести в буфер класса y копию массива y*: y(s) = ys*,
s=1,2,...,S.
Шаг 4. Отсортировать массивы x и y в порядке возрастания массива x (шаги
4.1 – 4.7 реализуют простейший алгоритм пузырьковой сортировки, который можно
заменить на практике более быстродействующим алгоритмом).
Шаг 4.1. Установить номер текущего экземпляра обучающей выборки s=1.
Шаг 4.2. Если s ≤ S, тогда перейти на шаг 4.3, иначе – перейти на шаг 5.
Шаг 4.3. Установить номер текущего экземпляра: k = s+1.
Шаг 4.4. Если k ≤ S, тогда перейти на шаг 4.5, иначе – перейти на шаг 4.7.
Шаг 4.5. Если x(s) > x(k), тогда установить: z = x(s), x(s) = x(k), x(k) = z, z = y(s),
y(s) = y(k), y(k) = z, где z – буферная переменная.
Шаг 4.6. Установить: k = k+1. Перейти на шаг 4.4.
Шаг 4.7. Установить: s = s+1. Перейти на шаг 4.2.
Шаг 5. Установить: s = 1, k = 1.
Шаг 6. Если s ≤ S, тогда установить: at = x(s), где at – буфер для хранения
левой границы k-го интервала i-го признака, и перейти на шаг 7, иначе – перейти на
шаг 11.
Шаг 7. Пока s < S и y(s) = y(s+1), выполнять: s = s+1.
Шаг 8. Если s = S и y(s) = y(s–1), тогда установить: K(i,k) = y(s), A(i,k) = at,
B(i,k) = x(s), k = k+1, s = s+1, перейти на шаг 10. Здесь K(i,k) – номер класса,
сопоставленный экземплярам обучающей выборки, значение i-го признака которых
попадает внутрь k-го интервала; A(i,k) и B(i,k) – левая и правая границы k-го
интервала i-го признака соответственно.
Шаг 9. Если s < S и y(s) ≠ y(s+1), тогда установить: K(i,k) = y(s), A(i,k) = at,
B(i,k) =x (s), k = k + 1, s = s + 1, Di = Di + 1, в противном случае – установить:
K(i,k) = y(s), A(i,k) = x(s), B(i,k) = x(s), k = k + 1, s = s + 1.
Шаг 10. Перейти на шаг 6.
Шаг 11. Установить: i = i+1, перейти на шаг 2.
Шаг 12. Останов.
164
«Искусственный интеллект» 3’2006
Неитеративный синтез и редукция нейро-нечетких моделей
4C
В результате выполнения шагов 1 – 12 для обучающей пары {x,y} мы получим
массив {Dj}, содержащий для каждого признака количество интервалов, на которые
он разбивается, а также массивы {A(i,k)}, {B(i,k)} и {K(i,k)}, содержащие
информацию о границах интервалов и номерах классов, сопоставленных им для всех
признаков.
На основе этих массивов сформируем массив {K(q)}, содержащий номера
классов для интервалов признаков, упорядоченных в порядке возрастания номеров
признаков и номеров интервалов значений признака.
Данный метод наряду с определением границ интервалов значений признаков
позволяет определить оценки информативности признаков. В качестве меры
информативности признака по отношению к выходному параметру (меры влияния
признака на выходной параметр) будем использовать количество интервалов, на
которые разбивается диапазон значений признака, таких, что экземпляры со
значением признака, попавшим в один интервал, относятся к одному и тому же
классу, а экземпляры смежных интервалов относятся к разным классам (чем меньше
количество интервалов, тем больше информативность признака и наоборот). Таким
образом, показатели информативности признаков Ij будем определять по формуле
I j = (min D j ) D j , j = 1, 2, ..., N.
Метод синтеза нейро-нечетких сетей
Перед синтезом нейро-нечеткой модели, для обеспечения ее простоты и
высоких обобщающих и аппроксимацимонных свойств, произведем удаление
избыточных блоков определения принадлежности к интервалам значений признаков.
Примем следующее допущение. Интервалы значений признаков xk и xq
[A(i,k); B(i,k)] и [A(j,q); B(j,q)] эквивалентны тем сильнее, чем больше экземпляров,
попавших в k-й интервал значений i-го признака, попадет в q-й интервал значений j-го
признака и будут иметь при этом одинаковые номера классов.
Коэффициент эквивалентности между k-м интервалом значений i-го признака
для s-го экземпляра и q-м интервалом значений j-го признака для g-го экземпляра
определим по формуле:
0, если K(i, k) ≠ K(j, q),

s
s
0, если B(i, k) < x i или x i < A(i, k ),
s
g
n( xi , x j , k , q ) = 
g
g
0, если B(j, q) < x j или x j < A( j , q),
1, если K (i, k ) = K ( j , q), A(i, k) ≤ x s ≤ B(i, k ), A(j, q) ≤ x g ≤ B( j , q),
i
j

s = 1, 2, ..., S; g = 1, 2, ..., S; i = 1, 2, ..., N; j = 1, 2, ..., N; k = 1, 2, ..., ki; q = 1, 2, ..., kq.
Количество экземпляров с одинаковыми номерами классов, попавших
одновременно в k-й интервал значений i-го признака и в q-й интервал значений j-го
признака, определим по формуле:
S
S
N(i, k , j, q ) = ∑∑ n ( x si , x gj , k , q ),
s =1 g =1,
g ≠s
i = 1, 2, ..., N; j = 1, 2, ..., N; k = 1, 2, ..., ki; q = 1, 2, ..., kq.
Пусть Ni,k – количество экземпляров обучающей выборки, попавших в k-й
интервал значений i-го признака, тогда ei,k,j,q – коэффициент взаимной
эквивалентности между k-м интервалом значений i-го признака и q-м интервалом
значений j-го признака определим по формуле:
«Штучний інтелект» 3’2006
165
Субботин С.А.
4C
 N (i , k , j , q ) N (i , k , j , q ) 
N (i , k , j , q )
e i, k, j, q = min 
,
,
=
N i ,k
N j ,q

 min {N i ,k , N j , q }
i = 1, 2,..., N; j = 1, 2, ..., N; k = 1, 2, ..., ki; q = 1, 2, ..., kq.
Коэффициент взаимной эквивалентности между i-м и j-м признаками для всех
экземпляров выборки определим по формуле:
ki
ei , j =
k
j
∑∑e
k =1 q =1
i,k , j,q
, i = 1, 2,..., N; j = 1, 2, ..., N.
max{ k i , k j }
Редукцию количества признаков и блоков определения принадлежности
значений признаков к интервалам для нейро-нечеткой модели будем осуществлять
путем выполнения последовательности шагов 1 – 7.
Шаг 1. Инициализация. Задать x = {xsi} и y = {ys}, s = 1, 2, ..., S; i = 1, 2, ...,N.
Шаг 2. Вычислить характеристики обучающей выборки.
Шаг 2.1. Найти: A(i,k), B(i,k), K(i,k), Ii, Ni,k, ki.
Шаг 2.2. Определить: N(i,k,j,q), ei,k,j,q, ei,j.
Шаг 3. Ранжировать признаки в порядке убывания Ii. Установить: i = N.
Шаг 4. Если i > 1, тогда выполнять шаги 4.1 и 4.2.
Шаг 4.1. Для ∀j, j ≠ i, j = 1,2,..., (i − 1) : если ei,j = 1, тогда: удалить xi, установить
N=N–1.
Шаг 4.2 Установить: i = i+1. Перейти на шаг 4.
Шаг 5. Установить: i = N.
Шаг 6. Если i ≥ 1, тогда выполнить шаги 6.1 и 6.2.
Шаг 6.1. Установить: k = ki.
Шаг 6.2. Если k ≥ 1, тогда выполнить шаги 6.2.1 – 6.2.3.
Шаг 6.2.1. Рассчитать:
N −1 k j
c = ∑ ∑ ei ,k , j ,q , ei ,k , j ,q = 1.
j =1 q =1
Шаг 6.2.2. Если с ≥ 1, тогда: удалить k-й интервал i-го признака, установить:
ki=ki–1.
Шаг 6.2.3. Установить: k = k–1. Перейти на шаг 6.2.
Шаг 7. Останов.
После сокращения количества признаков и блоков определения
принадлежности значений признаков к интервалам сформируем набор правил вида:
если A(i,k) ≤ xsi ≤ B(i,k), то ysi = K(i,k),
где s = 1, 2, ..., S; i = 1, 2, ..., N; k = 1, 2, ..., ki, ysi – номер класса, к которому
принадлежит s-й экземпляр по i-му признаку.
Зададим функции принадлежности для интервалов значений признаков µ i, k (x i ) ,
где i – номер признака, k – номер интервала значений i-го признака. В качестве
функций принадлежности предлагается использовать трапециевидные функции:
0, если x i ≤ 0,5(A(i, k) + B(i, k − 1)),
 x − 0,5(A(i, k) + B(i, k − 1))
 i
, если 0,5(A(i, k) + B(i, k − 1)) ≤ x i < A(i, k),
 0,5(A(i, k) − B(i, k − 1))

µ i, k (x i ) = 1, A(i, k) ≤ x i ≤ B(i, k),
 0,5(A(i, k + 1) + B(i, k)) − x
i

, если B(i, k) ≤ x i < 0,5(B(i, k) + A(i, k + 1)),
 0,5(A(i, k + 1) − B(i, k))
0, если 0,5(B(i, k) + A(i, k + 1)) ≤ x ,
i

166
«Искусственный интеллект» 3’2006
Неитеративный синтез и редукция нейро-нечетких моделей
4C
либо П-образные функции: µ i, k (x i ) = µ i, k S (x i )µ i, k Z (x i ) , где µ i, k S (x i ) – S-образная
функция, а µ i, k Z (x i ) – Z-образная функция:
0, если x i < 0,5(A(i, k) + B(i, k − 1)),



x i − A(i, k)
1 1
µ i,k S (x i ) =  + cos
π , если 0,5(A(i, k) + B(i, k − 1)) ≤ x i ≤ A(i, k),
 0,5(A(i, k) − B(i, k − 1)) 
2 2
1, если x > A(i, k);
i

1, если x i < B(i, k),



x i − B(i, k)
1 1
µ i,k Z (x i ) =  + cos
π , если B(i, k) ≤ x i ≤ 0,5(B(i, k) + A(i, k + 1)),
 0,5(A(i, k + 1) − B(i, k)) 
2 2
0, если x > 0,5(B(i, k) + A(i, k + 1)).
i

( )
( )
Далее зададим способ нахождения принадлежностей µ 0 x s и µ 1 x s
распознаваемого экземпляра xs к классам 0 и 1 соответственно:
µ 0 (x s ) = max µ i,k (x i ), K(i, k) = 0; µ 1 (x s ) = max µ i,k (x i ), K(i, k) = 1,
i = 1, 2, ..., N; k = 1, 2, ..., ki.
После чего определим способ дефаззификации:
1, если µ 1 (x s ) > µ 0 (x s ),
s
y =
0, если µ 1 (x s ) ≤ µ 0 (x s ).
Предложенный метод позволит синтезировать распознающие модели на основе
трехслойной нейро-нечеткой сети, схема которой изображена на рисунке.
Рисунок 1 – Схема нейро-нечеткой сети
«Штучний інтелект» 3’2006
167
Субботин С.А.
4C
На входы сети поступают значения признаков распознаваемого экземпляра.
Узлы первого слоя сети определяют принадлежности распознаваемого экземпляра к
интервалам значений признаков. Узлы второго слоя сети определяют
принадлежности распознаваемого экземпляра к классам. Единственный узел
третьего слоя осуществляет дефаззификацию.
Нейроны нейро-нечеткой сети, синтезированной на основе предложенного
метода, будут иметь функции постсинаптического потенциала и функции активации,
задаваемые формулами:
(
)
2
ϕ (3,1) w (3,1) , x (3,1) = ∑ w (j3,1) x (j3,1) + w (03,1) ,
j=1
0, если x < 0,
1, если x ≥ 0,
= min w (j2,i ) , x (j2,i ) , i=1, 2,
ψ (3,1) (x ) = 
(
ϕ (j2,i ) w (2,i ) , x (2,i )
)
j
(
)
ψ (2,i ) (x ) = max ϕ (j2,i ) (w (j2,i ) , x (j2,i ) ) , i=1, 2,
j
где ψ (x ) – функция активации i-го нейрона η -го слоя сети; ϕ (jη ,i ) (w (η ,i ) , x (η ,i ) ) –
функция постсинаптического потенциала j-го входа i-го нейрона η -го слоя сети;
w (η ,i ) , x (η ,i ) – наборы весовых коэффициентов и входных значений i-го нейрона η -го
слоя сети, соответсвенно.
Весовые коэффициенты нейронов w (jη ,i ) , где j – номер входа, i – номер нейрона,
η – номер слоя, будут определяться по формуле:
(η ,i )
w (jη ,i )
0, если η = 2, i = 1, K(p, q) = 0, j = z(p, q), p = 1, 2, ..., N, q = 1, 2, ..., k p ,

0, если η = 2, i = 2, K(p, q) = 1, j = z(p, q), p = 1, 2, ..., N, q = 1, 2, ..., k p ,
1, если η = 2, i = 1, K(p, q) = 1, j = z(p, q), p = 1, 2, ..., N, q = 1, 2, ..., k ,
p

1, если η = 2, i = 2, K(p, q) = 0, j = z(p, q), p = 1, 2, ..., N, q = 1, 2, ..., k p ,
=
0, если η = 2, i = 1, 2, j = 0,
0, если η = 3, i = 1, j = 0,

1, если η = 3, i = 1, j = 1,

- 1, если η = 3, i = 1, j = 2,
P-1
где z ( p, q) = q + ∑ k v .
v =1
Рассмотренный метод синтеза нейро-нечетких моделей настраивает параметры
функций принадлежности неитеративно,в процессе синтеза нейро-нечеткой модели
на основе предварительно определенных параметров интервалов значений признаков, в отличие от традиционного подхода, когда параметры функций принадлежности настраиваются путем итеративной оптимизации.
Эксперименты и результаты
Предложенный метод синтеза и редукции нейро-нечетких моделей был программно
реализован в виде функций на языке пакета MATLAB и является дополне-нием
библиотеки диагностических функций «DiagLab» [5], ранее разработанной автором. При
работе функции, реализующие метод синтеза и редукции нейро-нечетких моделей, для
168
«Искусственный интеллект» 3’2006
Неитеративный синтез и редукция нейро-нечетких моделей
4C
определения характеристик выборки используют функции библиотеки «DiagLab»,
реализующие метод классификации с оценкой значимости признаков. Библиотека не
требует наличия модуля Fuzzy Logic Toolbox, поскольку сама позволяет не только
синтезировать, но и эмулировать нейро-нечеткие сети. Специальные функции, входящие
в состав библиотеки, позволяют преобразовывать полученные модели в FIS-структуры.
Для проверки работоспособности предложенного метода с помощью библиотеки
«DiagLab» проводились эксперименты по решению практических задач: диагностики
деталей газотурбинных авиадвигателей [3], автоматической классификации
сельскохозяйственных растений на культурные и сорные по результатам
дистанционного зондирования [6], а также диагностики хронических бронхитов по
данным лабораторных исследований [7].
Проведенные эксперименты показали, что предложенный метод позволяет
синтезировать эффективные, высокоточные распознающие нейро-нечеткие модели.
По сравнению с нейро-нечеткими моделями, получаемыми на основе традиционной
архитектуры ANFIS, синтезируемой в высоко итеративном режиме и обладающей, как
правило, довольно большой избыточностью, модели, синтезируемые на основе
предложенного метода, являются более быстрыми, менее избыточными, а также
обладают существенно более высоким качеством аппроксимации.
Результаты проведенных экспериментов позволяют рекомендовать предложенный метод для широкого использования на практике при решении задач
распознавания, технической и биомедицинской диагностики.
Литература
1. Леоненков А.В. Нечеткое моделирование в среде MATLAB и fuzzyTECH. – СПб.: БХВ-Петербург,
2003. – 736 c.
2. Fuzzy Logic Toolbox for Use with Matlab. User's Guide. – Natick: Mathworks, 1998. – 235 p.
3. Дубровин В.И., Субботин С.А. Алгоритм классификации с оценкой значимости признаков //
Радiоелектронiка. Iнформатика. Управлiння. – 2001. – № 2. – С. 145-150.
4. Интеллектуальные средства диагностики и прогнозирования надежности авиадвигателей /
Дубровин В.И., Субботин С.А., Богуслаев А.В., Яценко В.К. – Запорожье: ОАО «Мотор-Сич»,
2003. – 279 с.
5. Дубровин В.И., Субботин С.А. Библиотека диагностических функций DIAGLAB для пакета
MATLAB // Проектирование и технология электронных средств. – 2003. – № 3. – С. 40-46.
6. Dubrovin V., Subbotin S., Morshchavka S., Piza D. The plant recognition on remote sensing results by
the feed-forward neural networks // Smart Engineering System Design. – 2001. – № 3. – P. 251-256.
7. Субботин С.А., Афонин Ю.А., Колесник Н.В. Нейросетевое моделирование в выяснении патогенеза
перманентного прогрессирующего воспалительного процесса при хроническом обструктивном
бронхите // Моделирование неравновесных систем: Матиреалы VII Всероссийского семинара,
8-10 октября 2004 г. / Под ред. В.И. Быкова. – Красноярск: ИВМ СО РАН, 2004. – С. 158-159.
С.О. Субботін
Неітеративний синтез і редукція нейро-нечітких моделей
Запропоновано новий метод синтезу нейро-нечітких розпізнаючих і діагностичних моделей
багатовимірних нелінійних об'єктів у неітеративному режимі. Розроблено програмне забезпечення,
що реалізує запропонований метод. Проведено експерименти, які підтвердили працездатність
розробленого програмного забезпечення і практичну застосовність запропонованого методу.
S.A. Subbotin
Non-iterative Synthesis and Reduction of Neuro-fuzzy Models
The new method of synthesis of neuro-fuzzy recognizing and diagnostic models of nonlinear objects in a
non-iterative mode is offered. The software realizing of the offered method is developed. The experiments
which have confirmed serviceability of the developed software and practical applicability of the offered
method are carried out.
Статья поступила в редакуию 14.02.2006.
«Штучний інтелект» 3’2006
169
Download