- •Нечеткие логические системы Постановка задачи
- •Решение задачи
- •Нейронные сети Постановка задачи
- •Эвристическое решение задачи
- •Выбор нейронной сети для решения задачи
- •Вычислительный эксперимент
- •Экспертная система Постановка задачи
- •Исследование структуры экспертной системы
- •Создание собственной базы продукционных правил
- •Литература
Вычислительный эксперимент
Для эксперимента будем использовать нейронную сеть с обратным распространением ошибки и одним скрытым слоем задаваемую следующим кодом Matlab:
net = newff(trainData(1:4,:),trainData(5:6,:),8)
net.trainParam.epochs = 500;
net.divideFcn = 'divideint';
net = init(net)
net = train(net,trainData(1:4,:),trainData(5:6,:));
Поскольку не существует точных аналитических соотношений для определения числа нейронов в скрытом слое, будем использовать эмпирическое правило – в скрытом слое может быть нейронов не больше чем удвоенное число входов. Используя одни и те же данные для проверки, рассмотрим зависимость доли неправильных срабатываний от числа нейронов:
Число нейронов |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Доля ошибок, % |
10.2 |
7.24 |
6.1 |
3.72 |
3.82 |
3 |
3.96 |
Таблица 2. Зависимость точности работы нейронной сети от числа нейронов в скрытом слое.
Из таблицы видно, что наилучшее качество классификации достигается при использовании семи нейронов. В дальнейшем будем использовать именно эту конфигурацию.
Рис. 8. Используемая топология нейронной сети.
Рассмотрим зависимость точности работы нейронной сети от размера обучающей выборки:
Размер обучающей выборки |
81 |
256 |
625 |
1296 |
2401 |
10000 |
Доля ошибок, % |
12.62 |
7.3 |
9.06 |
3.8 |
3.94 |
3.72 |
Таблица 3. Зависимость точности работы нейронной сети от размера обучающей выборки.
Зависимость показывает, что с ростом обучающей выборки прирост точности работы нейронной сети уменьшается.
Рассмотрим визуализацию нескольких примеров работы нейронной сети:
Рис. 9. Примеры работы нейронной сети.
Рассмотрим численные значения ответа нейронной сети для данных примеров:
Эталонный алгоритм |
(1,0) |
(0,1) |
(0,1) |
Нейронная сеть |
(0.8836,0.1164) |
(-0.1226,1.1226) |
(0.1437,0.8563) |
Таблица 4. Примеры работы нейронной сети.
Вывод
В ходе данной работы была создана нейронная сеть для аппроксимации правила принятия решения в задаче о вратаре и нападающем. Были построены зависимости качества работы нейронной сети от числа нейронов в скрытом слое и объеме обучающей выборки, показана корректность полученной сети.
Экспертная система Постановка задачи
В данной работе рассматривается простая экспертная система на основе продукций, а также две базы знаний для нее. Задание:
Исследовать исходный код экспертной системы, объяснить назначение пользовательских типов данных, составить общую схему работы программы;
Рассмотреть структуру файлов базы знаний, определить, каким образом можно внести изменения в типы данных, правила и факты;
Создать свой файл базы знаний.