Пример 2.

В доказательство того, что система NEFCLASS работает достаточно хорошо даже в ситуациях, когда входные параметры характеризуются недостаточной полнотой, приведем следующий пример: в качестве данных, которые должны быть обучены, представим выборку из 75 образцов, представляющую собой данные российских аудиторско-консультационных фирм по итогам 1999г. Выборка достаточно репрезентативна.

Задача состоит в определении, к какому классу принадлежит фирма по итогам 1999г. В качестве входных параметров возьмем такие 4:

  1. - темп роста выручки 1999/1998 г в %
  2. - к какому классу принадлежала фирма в 1998 г по градации, приведенной ниже
  3. - выручка на одного сотрудника в 1999 г в тыс.руб.
  4. - число дочерних организаций

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

Как видим, не все данные коррелируемы между собой. В качестве нечеткого деления входных параметров на основании опыта эксперта и их степени важности примем следующее:

– состоит из 7 одинаковых нечетких множеств, которые описываются следующими лингвистическими термами: “очень малое”, “малое”, “не малое, но и не среднее”, “среднее”, “не среднее, но и не большое”, “большое”, “очень большое”.
– состоит из 4 одинаковых нечетких множеств, которые описываются следующими лингвистическими термами: “очень малое”, “малое”, “большое”, “очень большое”.
– состоит из 7 одинаковых нечетких множеств, которые описываются следующими лингвистическими термами: “очень малое”, “малое”, “не малое, но и не среднее”, “среднее”, “не среднее, но и не большое”, “большое”, “очень большое”.
– состоит из 2 одинаковых нечетких множеств, которые описываются следующими лингвистическими термами: “малое”, “большое”.

При таком нечетком задании параметров и промежутков изменения параметров по входному образцу можно составить максимум 29 правил. Так как параметры практически некоррелируемы между собой, то число скрытых нейронов (нейронов правил) должно быть близко к 29. Возьмем 26, отбросив 3 правила, которые выполняются с наименьшей вероятностью.

Полная структура входного файла:

%Российские аудиторско-консультационные фирмы в 1999 г
%Подразделение на классы в соответствии с полученной прибылью в тыс.руб.
%Класс 1 0 0 0 есть (крупнейшие)
%Класс 0 1 0 0 есть (крупные)

%Класс 0 0 1 0 есть (средние)

%Класс 0 0 0 1 есть (малые)

%This file contains a data set with 75 cases
%Name of the pattern set
NAME
Firma

% Ranges of the 4 input variables
INRANGES

49 646
1 4
50 1230
0 20
%This are 75 patterns,
%first given are the number of pattern, inputs and outputs

PATTERNS
75 4 4

Классификация

190.9

1

219.0

13

1 0 0 0

192.1

1

302.8

18

1 0 0 0

154.9

1

1229.4

0

1 0 0 0

125.8

1

190.2

20

1 0 0 0

111.6

1

289.0

4

1 0 0 0

184.3

1

571.8

4

1 0 0 0

236.3

2

402.4

3

1 0 0 0

155.9

1

309.5

5

1 0 0 0

270.2

2

314.3

10

1 0 0 0

208.8

2

305.1

4

1 0 0 0

320.0

3

466.0

2

1 0 0 0

645.7

4

312.8

4

1 0 0 0


290.7

3

405.9

3

0 1 0 0

126.1

2

597.2

5

0 1 0 0

249.6

3

447.4

0

0 1 0 0

122.1

2

193.9

1

0 1 0 0

145.0

2

195.7

2

0 1 0 0

217

3

151.7

3

0 1 0 0

245.7

3

538.1

0

0 1 0 0

126.4

2

154.3

1

0 1 0 0

193.3

3

194.4

1

0 1 0 0

161.9

3

245.0

0

0 1 0 0

169.2

3

290.3

1

0 1 0 0

335.4

4

174.4

0

0 1 0 0

117.2

2

551.9

1

0 1 0 0

197.2

3

209.2

0

0 1 0 0

241.8

4

610.3

0

0 1 0 0

192.6

4

167.1

0

0 1 0 0

178.5

3

90.9

8

0 1 0 0

118.4

3

285.4

1

0 1 0 0

90.3

2

126.5

0

0 1 0 0


124.8

3

96.0

4

0 0 1 0

197.8

4

165.2

1

0 0 1 0

223.3

4

164.0

0

0 0 1 0

531.5

4

270.3

1

0 0 1 0

210.9

2

182.1

0

0 0 1 0

136.3

3

186.8

2

0 0 1 0

119.2

3

223.1

0

0 0 1 0

203.7

4

315.9

0

0 0 1 0

214.9

4

267.8

0

0 0 1 0

205.7

4

105.8

3

0 0 1 0

111.6

3

158.2

1

0 0 1 0

138.9

4

264.8

1

0 0 1 0

167.2

4

201.6

0

0 0 1 0

140.9

4

79.3

2

0 0 1 0

159.7

4

241.9

1

0 0 1 0

151.7

4

193.7

0

0 0 1 0

265.7

4

121.2

0

0 0 1 0

306.0

4

128.8

0

0 0 1 0

127.0

4

89.8

0

0 0 1 0

106.7

4

129.1

0

0 0 1 0


130.1

4

123.6

2

0 0 0 1

154.1

4

150.4

0

0 0 0 1

147.3

4

312.8

0

0 0 0 1

122.1

4

150.7

2

0 0 0 1

165.0

4

96.7

0

0 0 0 1

154.3

4

82.2

0

0 0 0 1

163.7

4

161.8

3

0 0 0 1

113.7

4

50.0

2

0 0 0 1

166.0

4

107.8

0

0 0 0 1

187.8

4

209.7

0

0 0 0 1

151.4

4

92.9

0

0 0 0 1

49.9

3

59.0

1

0 0 0 1

149.8

4

93.2

0

0 0 0 1

105.0

4

109.5

0

0 0 0 1

68.4

4

61.7

1

0 0 0 1

167.2

4

100.9

0

0 0 0 1

107.1

4

81.2

2

0 0 0 1

110.6

4

116.7

0

0 0 0 1

118.1

4

161.0

0

0 0 0 1

106.7

4

124.3

0

0 0 0 1

104.4

4

135.1

1

0 0 0 1

136.0

4

155.6

0

0 0 0 1

110.7

4

54.9

1

0 0 0 1

92.2

4

92.4

0

0 0 0 1

END

Полный список параметров нечеткой нейронной сети приведен ниже

Рис.33 а) параметры сети; б) параметры обучения; в) нечеткое деление.

В результате процесса обучения, состоящего из 200 итераций, были опознаны 66 из75 образцов. Соответственно, показатель эффективности сети составляет 88%, что достаточно неплохо.

Рис.34. Статистика нечеткой нейронной сети после обучения

Рис.35. Разделение на классы в данной ННС.

Приведем полный вид выходного файла:

% NEFCLASS 2.04, (c) TU Braunschweig, 1994
%Protocol for rule creation and training

%There are 0 proir rules.
%Patterns that have created rules

Pattern 1 created rule 1
Pattern 2 created rule 2
Pattern 3 created rule 3
Pattern 4 created rule 4
Pattern 5 created rule 5
Pattern 6 created rule 6
Pattern 7 created rule 7
Pattern 9 created rule 8
Pattern 10 created rule 9
Pattern 11 created rule 10
Pattern 12 created rule 11
Pattern 13 created rule 12
Pattern 14 created rule 13
Pattern 15 created rule 14
Pattern 16 created rule 15
Pattern 18 created rule 16
Pattern 23 created rule 17
Pattern 24 created rule 18
Pattern 25 created rule 19
Pattern 27 created rule 20
Pattern 28 created rule 21
Pattern 30 created rule 22
Pattern 32 created rule 23
Pattern 35 created rule 24
Pattern 36 created rule 25
Pattern 39 created rule 26
Pattern 43 created rule 27
Pattern 48 created rule 28
Pattern 54 created rule 29

%An initial rule base with 29 rules was created.
%Rule base file created by NEFCLASS 2.04, (c) TU Braunschweig, 1994

IF V_1 is small and V_2 is v_small and V_3 is v_small and V_4 is large
THEN Class_1

IF V_1 is small and V_2 is v_small and V_3 is small and V_4 is large
THEN Class_1

IF V_1 is v_small and V_2 is v_small and V_3 is v_large and V_4 is small
THEN Class_1

IF V_1 is v_small and V_2 is v_small and V_3 is v_small and V_4 is large
THEN Class_1

IF V_1 is v_small and V_2 is v_small and V_3 is small and V_4 is small
THEN Class_1

IF V_1 is small and V_2 is v_small and V_3 is medium and V_4 is small
THEN Class_1

IF V_1 is l_small and V_2 is small and V_3 is small and V_4 is small
THEN Class_1

IF V_1 is l_small and V_2 is small and V_3 is small and V_4 is large
THEN Class_1

IF V_1 is small and V_2 is small and V_3 is small and V_4 is small
THEN Class_1

IF V_1 is medium and V_2 is large and V_3 is l_small and V_4 is small
THEN Class_1

IF V_1 is v_large and V_2 is v_large and V_3 is small and V_4 is small
THEN Class_1

IF V_1 is l_small and V_2 is large and V_3 is small and V_4 is small
THEN Class_2

IF V_1 is v_small and V_2 is small and V_3 is medium and V_4 is small
THEN Class_2

IF V_1 is l_small and V_2 is large and V_3 is l_small and V_4 is small
THEN Class_2

IF V_1 is v_small and V_2 is small and V_3 is v_small and V_4 is small
THEN Class_2

IF V_1 is small and V_2 is large and V_3 is v_small and V_4 is small
THEN Class_2

IF V_1 is small and V_2 is large and V_3 is small and V_4 is small
THEN Class_2

IF V_1 is medium and V_2 is v_large and V_3 is v_small and V_4 is small
THEN Class_2

IF V_1 is v_small and V_2 is small and V_3 is l_small and V_4 is small
THEN Class_2

IF V_1 is l_small and V_2 is v_large and V_3 is medium and V_4 is small
THEN Class_2

IF V_1 is small and V_2 is v_large and V_3 is v_small and V_4 is small
THEN Class_2

IF V_1 is v_small and V_2 is large and V_3 is small and V_4 is small
THEN Class_2

IF V_1 is v_small and V_2 is large and V_3 is v_small and V_4 is small
THEN Class_3

IF V_1 is large and V_2 is v_large and V_3 is v_small and V_4 is small
THEN Class_3

IF V_1 is small and V_2 is small and V_3 is v_small and V_4 is small
THEN Class_3

IF V_1 is small and V_2 is v_large and V_3 is small and V_4 is small
THEN Class_3

IF V_1 is v_small and V_2 is v_large and V_3 is v_small and V_4 is small
THEN Class_3

IF V_1 is l_small and V_2 is v_large and V_3 is v_small and V_4 is small
THEN Class_3

IF V_1 is v_small and V_2 is v_large and V_3 is small and V_4 is small
THEN Class_4

%Accumulated rule activations per class

1) 1.2053 0.0000 0.0000 0.0000
2) 0.8955 0.0000 0.0000 0.0000
3) 0.5809 0.0000 0.0000 0.0000
4) 1.1518 0.0000 0.0000 0.0000
5) 1.2378 0.0000 0.0000 0.0000
6) 1.5376 0.0332 0.0000 0.0000
7) 1.1513 0.0000 0.0000 0.0000
8) 0.5000 0.0000 0.0000 0.0000
9) 1.1926 0.0000 0.0000 0.0000
10) 0.6315 0.2389 0.0000 0.0000
11) 0.7817 0.0000 0.4657 0.0000
12) 0.1797 0.8929 0.0000 0.0000
13) 0.0000 1.0694 0.0000 0.0000
14) 0.3685 1.7154 0.0000 0.0000
15) 0.0000 2.6667 0.0000 0.0000
16) 0.0000 3.5504 0.1843 0.0000
17) 0.0000 1.3178 0.0000 0.0000
18) 0.0000 0.8379 0.4439 0.0000
19) 0.0000 0.8875 0.0000 0.0000
20) 0.0000 0.8927 0.0000 0.0000
21) 0.0000 2.9243 5.4845 5.1165
22) 0.0000 1.3213 0.1736 0.0000
23) 0.0000 1.6071 2.6667 0.6667
24) 0.0000 0.0000 0.5064 0.0000
25) 0.3064 0.3236 0.6667 0.0000
26) 0.0000 1.0405 1.8128 0.4000
27) 0.0000 1.4208 6.1628 17.6535
28) 0.0000 0.4161 2.1916 0.0000
29) 0.0000 1.0028 0.9586 0.7655

% Change of rule conclusions

Conclusion of Rule 21 was changed from 2 to 3.
Conclusion of Rule 27 was changed from 3 to 4.
Conclusion of Rule 29 was changed from 4 to 2.

%Overall rule performance

1) 1.2053
2) 0.8955
3) 0.5809
4) 1.1518
5) 1.2378
6) 0.5045
7) 1.1513
8) 0.5000
9) 1.1926
10) 0.3926
11) 0.3160
12) 0.7132
13) 1.0694
14) 1.3469
15) 2.6667
16) 3.3662
17) 1.3178
18) 0.3940
19) 0.8875
20) 0.8927
21) –5.2383
22) 1.1478
23) 0.3929
24) 0.5064
25) 0.0367
26) –0.6390
27) 5.1730
28) 1.7755
29) –0.7213

% The 26 best rules have been selected.
% Rule base file created by NEFCLASS 2.04, (c) TU Braunschweig, 1994
% This file was created on 4/25/1996 at 13:59.
%

IF V_1 is small and V_2 is v_small and V_3 is v_small and V_4 is large
THEN Class_1

IF V_1 is small and V_2 is v_small and V_3 is small and V_4 is large
THEN Class_1

IF V_1 is v_small and V_2 is v_small and V_3 is v_large and V_4 is small
THEN Class_1

IF V_1 is v_small and V_2 is v_small and V_3 is v_small and V_4 is large
THEN Class_1

IF V_1 is v_small and V_2 is v_small and V_3 is small and V_4 is small
THEN Class_1

IF V_1 is small and V_2 is v_small and V_3 is medium and V_4 is small
THEN Class_1

IF V_1 is l_small and V_2 is small and V_3 is small and V_4 is small
THEN Class_1

IF V_1 is l_small and V_2 is small and V_3 is small and V_4 is large
THEN Class_1

IF V_1 is small and V_2 is small and V_3 is small and V_4 is small
THEN Class_1

IF V_1 is medium and V_2 is large and V_3 is l_small and V_4 is small
THEN Class_1

IF V_1 is v_large and V_2 is v_large and V_3 is small and V_4 is small
THEN Class_1

IF V_1 is l_small and V_2 is large and V_3 is small and V_4 is small
THEN Class_2

IF V_1 is v_small and V_2 is small and V_3 is medium and V_4 is small
THEN Class_2

IF V_1 is l_small and V_2 is large and V_3 is l_small and V_4 is small
THEN Class_2

IF V_1 is v_small and V_2 is small and V_3 is v_small and V_4 is small
THEN Class_2

IF V_1 is small and V_2 is large and V_3 is v_small and V_4 is small
THEN Class_2

IF V_1 is small and V_2 is large and V_3 is small and V_4 is small
THEN Class_2

IF V_1 is medium and V_2 is v_large and V_3 is v_small and V_4 is small
THEN Class_2

IF V_1 is v_small and V_2 is small and V_3 is l_small and V_4 is small
THEN Class_2

IF V_1 is l_small and V_2 is v_large and V_3 is medium and V_4 is small
THEN Class_2

IF V_1 is v_small and V_2 is large and V_3 is small and V_4 is small
THEN Class_2

IF V_1 is v_small and V_2 is large and V_3 is v_small and V_4 is small
THEN Class_3

IF V_1 is large and V_2 is v_large and V_3 is v_small and V_4 is small
THEN Class_3

IF V_1 is small and V_2 is small and V_3 is v_small and V_4 is small
THEN Class_3

IF V_1 is v_small and V_2 is v_large and V_3 is v_small and V_4 is small
THEN Class_3

IF V_1 is l_small and V_2 is v_large and V_3 is v_small and V_4 is small
THEN Class_3

%Protocol of global error and number of misclassifications

1 26.800554 10
10 26.774810 10
20 26.746649 10
30 26.718947 10
40 26.691692 10
50 26.664876 10
60 26.638487 10
70 26.612518 10
80 26.586959 10
90 26.561802 10
100 26.537040 10
110 26.512666 10
113 26.505810 10
120 26.490010 10
130 26.467710 10
140 26.445725 10
150 26.424049 10
160 26.402674 10
170 26.381548 9
180 26.361577 9
190 26.342676 9
200 26.324001 9

Теперь произведем обучение следующих 5 новых образцов по уже полученной базе правил:

93.5

4

97.5

2

0 0 0 1

297.2

3

209.2

0

0 1 0 0

250.9

1

621.0

2

1 0 0 0

234.3

3

181.7

8

0 1 0 0

199.5

4

227.2

5

0 0 1 0

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

После обучения сети, состоящей уже из 80 образцов, по базе правил, которая получена для 75 образцов, видим, что не было опознано 10 образцов. Это означает, что1 из 5 новых образцов не соответствует тому классу, к которому мы его интуитивно отнесли. По файлу результатов находим, что это последний образец. По ненормализованной функции принадлежности видим, что по данной базе правил он принадлежит как 2-му, так и 3-му классу со степенью принадлежности 0.27, но так как пакет выводит степень принадлежности с точностью до второго знака после запятой, то можно предположить, что его функция принадлежности 3-му классу больше, чем второму (по третьему знаку после запятой), и значит этот образец принадлежит 3-му классу.

Рис.36. Статистика ННС после добавления 5 новых образцов.

Рис.37. Результат протестированного 5 образца.

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