Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания по ИИС.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
3.88 Mб
Скачать

Контрольное задание:

Разработайте свою экспертную систему, используя оболочку «GURU» по выбранному варианту:

  1. Покупка квартиры.

  2. Покупка компьютера.

  3. Покупка автомобиля.

  4. Выполнение неравенства треугольника.

  5. Кредитование.

  6. Поездка за границу.

  7. Возврат долга.

  8. Определение направления ветвей параболы.

  9. Определение вида (прямоугольного, тупоугольного, остроугольного, равнобедренного, равностороннего).

  10. Покупка сотового телефона.

  11. Начисление квартплаты.

  12. Распределение стипендии на месяц.

  13. Определение, при какой температуре вырастут саженцы.

  14. Начисление стипендии по итогам сессии (в зависимости от оценок).

  15. Начисление зарплаты (по количеству отработанных часов).

  16. Аренда помещения.

  17. Покупка билета на самолет.

  18. Определение, имеет ли квадратное уравнение решение (в зависимости от дискриминанта).

  19. Проведение досуга.

  20. Поступление в высшее учебное заведение (в зависимости от проходного балла).

  21. Получение диплома с отличием или без в зависимости от оценок.

  22. Определение существования корня n-ой степени (в зависимости от подкоренного выражения).

  23. Определение вида логарифма (в зависимости от основания).

Контрольные вопросы:

    1. Сформулируйте понятие интерфейса пользователя.

    2. Дайте определение машины логического вывода.

    3. Для чего используются хранимые процедуры?

    4. Какие стратегии управления вам известны?

    5. Каково назначение программной оболочки GURU?

    6. На какой модели представления знаний основана программная оболочка GURU?

Лабораторная работа 3.

ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ, ИХ СВОЙСТВА И ОСНОВНЫЕ ХАРАКТЕРИСТИКИ.

Цель работы: выработка навыков выявления основных параметров искусственных нейронных сетей, влияющих на ее работу.

Используемое программное обеспечение: Matlab 6.5, Microsoft Excel 2007.

Теоретические сведения

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

Работа сети состоит в преобразовании входных сигналов во времени, в результате чего меняется внутреннее состояние сети и формируются выходные воздействия. Обычно нейронные сети оперирует цифровыми величинами.

Они используют множество простых вычислительных элементов, называемых нейронами, каждый из которых имитирует поведение отдельной клетки человеческого мозга.

В настоящее время нейронные сети применяются для решения многих не формализуемых или трудно формализуемых задач:

  • распознавания и синтеза речи;

  • распознавания аэрокосмических изображений;

  • прогнозирования котировки ценных бумаг и курса валют;

  • предупреждения мошенничества с кредитными карточками;

  • оценки стоимости недвижимости;

  • оценки финансового состояния предприятий и риска невозврата кредитов;

  • обработки радиолокационных сигналов;

  • контроля движения на скоростных автомагистралях и железных дорогах;

  • диагностики в медицине;

  • добычи знаний из больших объемов данных в бизнесе, финансах и научных исследованиях.

Области применения нейронных сетей:

  1. техника и телекоммуникация;

  2. информационные технологии;

  3. экономика и финансы;

  4. реклама и маркетинг;

  5. здравоохранение.

С труктура нейронной сети (рис. 1)

Рис. 1. Базовая структура нейронной сети

Классификация нейронных сетей:

По способу съема информации с выходов нейронной сети различают:

  • съем с выходов выходных нейронов;

  • съем с синапсов выходных нейронов;

  • съем в виде значений весов синапсов выходных нейронов;

  • аддитивный съем с синапсов выходных нейронов.

По организации обучения разделяют:

  • обучение нейронных сетей с учителем (supervised neural networks);

  • без учителя (nonsupervised).

По способу обучения разделяют:

  • обучение по входам;

  • обучение по выходам.

По способу предъявления примеров различают:

  • предъявление одиночных примеров;

  • предъявление «страницы» примеров.

По особенностям модели нейрона различают нейроны с разными нелинейными функциями:    

  • пороговой;

  • экспоненциальной сигмоидой;

  • рациональной сигмоидой;

  • гиперболическим тангенсом.

Виды искусственных нейронных сетей:

  • L-слойные сети прямого распространения: стандартная и каскадная.

Стандартная L-слойная сеть прямого распространения состоит из слоя входных, (L-1) скрытых слоев и выходного слоя, соединенных последовательно в прямом направлении и не содержащих связей между элементами внутри слоя и обратных связей между слоями.

Каскадная сеть прямого распространения отличается тем, что входными параметрами для L-ого слоя могут быть выходные параметры не только (L-1)-ого слоя, но и всех слоев, предшествующих ему.

  • Многослойный перцептрон. Каждый вычислительный элемент такой сети использует пороговую или сигмоидальную функцию активации. Многослойный перцептрон может формировать сколь угодно сложные границы принятия решения и реализовывать произвольные булевы функции.

  • RBF-сети - сети, использующие радиальные базисные функции, являются частным случаем двухслойной сети прямого распространения. Каждый элемент скрытого слоя использует в качестве активационной функции радиальную базисную функцию типа гауссовой. Радиальная базисная функция (функция ядра) центрируется в точке, которая определяется весовым вектором, связанным с нейроном. Как позиция, так и ширина функции ядра должны быть обучены по выборочным образцам. Обычно ядер гораздо меньше, чем обучающих примеров. Каждый выходной элемент вычисляет линейную комбинацию этих радиальных базисных функций.

  • Самоорганизующиеся карты Кохонена. Алгоритм Кохонена дает возможность строить нейронную сеть для разделения векторов входных сигналов на подгруппы. Сеть состоит из M нейронов, образующих прямоугольную решетку на плоскости. Элементы входных сигналов подаются на входы всех нейронов сети. В процессе работы алгоритма настраиваются синаптические веса нейронов.

  • Сеть Элмана представляет собой рекуррентную сеть, состоящую из двух слоев, в которой скрытый слой охвачен динамической обратной связью.

  • Сеть Хопфилда также относиться к рекуррентным сетям. Динамическое изменение состояний сети может быть выполнено, по крайней мере, двумя способами: синхронно и асинхронно. В первом случае все элементы модифицируются одновременно на каждом временном шаге, во втором - в каждый момент времени выбирается и подвергается обработке один элемент. Этот элемент может выбираться случайно. Сеть функционирует циклически. Выход каждого из нейронов подается на входы всех остальных нейронов. Нейроны сети имеют жесткие пороговые функции.

  • Модель Хэмминга - нейронная сеть, которая реализует параллельное вычисление расстояний Хэмминга от входного вектора до нескольких векторов-образцов. Расстояние Хэмминга между двумя бинарными векторами одинаковой длины - это число несовпадающих бит в этих векторах. Входными сигналами являются бинарные векторы, а выходными - целые числа. В качестве передаточной функции используется линейная с насыщением.

  • Модель ART (Adaptive Resonance Theory) или сеть Гроссберга обучается без учителя, она реализует алгоритм кластеризации: первый входной сигнал считается образцом первого кластера; следующий входной сигнал сравнивается с образцом первого кластера. Говорят, что входной сигнал «следует за лидером» и принадлежит первому кластеру, если расстояние до образца первого кластера меньше порога. В противном случае второй входной сигнал - образец второго кластера. Этот процесс повторяется для всех следующих входных сигналов. Таким образом, число кластеров растет с течением времени и зависит как от значения порога, так и от метрики расстояния, использующейся для сравнения входных сигналов и образцов классов.

Сеть ART-1 отличается от сети Хэмминга обратными связями от выходных нейронов к входным, кроме того имеется возможность выключать выходной нейрон с максимальным значением соответствия и проводить пороговое тестирование соответствия входного сигнала и образцов кластеров. Порог показывает, насколько должен входной сигнал совпадать с одним их запомненных образцов, чтобы они считались похожими.

В существовании нейронных сетей можно выделить 3 основных этапа:

  • создание;

  • обучение;

  • использование.

Правило Хебба

  • Увеличивать вес активного входа нейрона, если выход этого нейрона должен быть активным.

  • Уменьшить вес активного входа нейрона, если выход этого нейрона не должен быть активным.

Задача нейронной сети состоит в преобразовании информации требуемым образом. Для этого сеть предварительно обучается. При обучении используются идеальные (эталонные) значения пар <входы-выходы> или <учитель>, который оценивает поведение нейронной сети. Для обучения используется так называемый обучающий алгоритм.

Обучающий алгоритм модифицирует отдельные нейроны сети и веса ее связей таким образом, чтобы поведение сети соответствовало желаемому поведению.

Алгоритм обучения:

  1. Задать начальные значения весов и порогов каждого нейрона. Всем весам и порогам присваиваются малые случайные значения.

  2. Представить входной и выходной образы из обучающей выборки.

  3. Рассчитать действительные значения выходов. Значения выходов нейронов каждого слоя рассчитываются и передаются на входы нейронов следующего слоя.

  4. Провести модификацию весов связей. Начиная от выходного слоя и, двигаясь в обратном направлении, необходимо изменять веса.

Адаптивная функция - метод обучения искусственной нейронной сети.

Виды адаптивных функций:

  • traingdx - метод градиентного спуска с учетом моментов и с адаптивным обучением;

  • trainlm - метод Левенберга-Маркара (Levenberg-Marquardt);

  • trainbfg - тренировка сети с использованием квази-Ньютоновского метода BFGS.

Алгоритм работы с искусственной нейронной сетью:

  1. Подготовка данных для обучения сети.

  2. Создание сети.

  3. Обучение сети.

  4. Тестирование сети.

  5. Моделирование сети (использование сети для решения поставленной задачи).

Сравнительный анализ аппроксимации функций с помощью трёх видов искусственных нейронных сетей

Задача: провести сравнительный анализ трех искусственных нейронных сетей: многослойной сети прямого распространения, каскадной сети прямого распространения и рекуррентной сети Элмана.

В качестве функции, требующей аппроксимации выбрать гармоническую функцию вида:

F=A*(sin(w*t)*cos(w*t)), где

А - амплитуда,

w - частота,

t - время (рис. 2).

Рис.2. Лабораторный стенд для обучения искусственных нейронных сетей

В MS Excel составить таблицы значений данной функции для случаев, когда A=1, w=1 (пример 1), A=0.5, w=1 (пример 2), A=1, w=0.5 (пример 3), A=0.5, w=0.5 (пример 4). Для каждого примера выбрать серию значений для обучения и использования искусственной нейронной сети.

После выполнения данных команд появляется окно, демонстрирующее результаты обучения (рис. 3):

Рис. 3. Обучение сети.

Perfomance - ошибка при обучении искусственной нейронной сети.

Goal - допустимая ошибка при обучении сети.

Epochs - количество итераций при обучении сети.

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

Задание:

  • каждый эксперимент проводить 10 раз;

  • каждый эксперимент проводить на четырех примерах;

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

Таблица должна иметь примерный вид:

Вид сети

Параметр сравнения №1

Параметр сравнения №2

Параметр

сравнения №3

Пример 1

Среднее количество итераций

Средняя ошибка

Количество параличей на 10 успешных испытаний

Пример 2

Среднее количество итераций

Средняя ошибка

Количество параличей на 10 успешных испытаний

Пример 3

Среднее количество итераций

Средняя ошибка

Среднее количество итераций

Пример 4

Среднее количество итераций

Средняя ошибка

Количество параличей на 10 успешных испытаний

Среднее количество итераций

Итог по 4 примерам

Среднее количество итераций

Средняя ошибка

Количество параличей на 10 успешных испытаний