
- •Интеллектуальные информационные системы учебное пособие
- •Тула 2010
- •3. Экспертные системы 47
- •8. Системы с интеллектуальным интерфейсом 143
- •9. Многоагентные системы 158
- •Предисловие
- •1. Искусственный интеллект и интеллектуальные информационные системы
- •1.1. Введение в искусственный интеллект
- •1.1.1. Искусственный интеллект: основные понятия и решаемые задачи
- •1.1.2. Подходы к построению систем искусственного интеллекта
- •1.1.3. Интеллектуальные информационные системы: понятие и отличительные особенности
- •1.2. Основные классы интеллектуальных информационных систем
- •1.2.1. Экспертные системы
- •1.2.2. Самообучающиеся системы
- •1.2.3. Адаптивные информационные системы
- •1.2.4. Системы с интеллектуальным интерфейсом
- •1.2.5. Многоагентные системы
- •1.3. Основы проектирования интеллектуальных информационных систем
- •1.3.1. Структура и этапы разработки интеллектуальных информационных систем
- •1.3.2. Логическое проектирование
- •1.3.3. Физическое проектирование
- •1.3.4. Использование прототипного проектирования
- •Контрольные тесты
- •2. Традиционные способы представления и обработки знаний в интеллектуальных информационных системах
- •2.1. Знания и их использование в интеллектуальных информационных системах
- •2.1.1. Понятие знаний и их отличие от данных
- •2.1.2. Классификация знаний
- •2.1.3. Логический вывод. Использование дедукции, индукции и аналогии
- •2.1.4. Представление знаний в интеллектуальных информационных системах
- •2.2. Типичные модели представления знаний
- •2.2.1. Логическая модель
- •2.2.2. Продукционная модель
- •2.2.3. Семантическая сеть
- •2.2.4. Фреймовая модель
- •2.2.5. Объектно-ориентированная модель
- •2.3. Представление и формализация нечетких знаний
- •2.3.1. Основные определения нечетких множеств
- •2.3.2. Операции с нечеткими множествами
- •2.3.3. Нечеткие отношения
- •2.3.4. Нечеткая и лингвистическая переменные
- •Контрольные тесты
- •3. Экспертные системы
- •3.1. Структура и режимы работы экспертных систем
- •3.1.1. Основные элементы экспертных систем
- •3.1.2. Режимы работы экспертных систем
- •3.1.3. Участники разработки экспертных систем
- •3.2. Классификация экспертных систем
- •3.2.1. Классификация по сложности решаемых задач
- •3.2.2. Классификация по типу решаемых задач
- •3.2.3. Основные классы экспертных систем: классифицирующие, доопределяющие, трансформирующие, многоагентные
- •3.3. Поиск решений в экспертных системах
- •3.3.1. Поиск в одном пространстве
- •3.3.2. Поиск в иерархии пространств
- •3.3.3. Поиск в случае недетерминированности знаний
- •3.3.4. Алгоритм реализации логического вывода в экспертных системах
- •3.4. Методы извлечения знаний в экспертных системах
- •3.4.1. Классификация методов извлечения знаний
- •3.4.2. Коммуникативные методы извлечения знаний
- •3.4.3. Текстологические методы извлечения знаний
- •Контрольные тесты
- •4. Оlap-технология
- •4.1. Основные понятия
- •4.1.1. Хранилище данных
- •4.1.2. Применение информационных хранилищ. Извлечение знаний из данных
- •4.1.3. Основная идея olap-технологии
- •12 Признаков olap данных
- •4.1.4. Структура хранилища данных в оlap-системах
- •4.2. Модели и алгоритмы построения olap-систем
- •4.2.1. Rolap – обработка на основе запросов к реляционным базам данных
- •4.2.2. Molap – многомерное представление данных
- •4.2.3. Holap – гибридные системы
- •Контрольные тесты
- •5. Интеллектуальный анализ данных
- •5.1. Методы интеллектуального анализа данных
- •5.1.1. Основные понятия
- •5.1.2. Типы закономерностей, выявляемых методами интеллектуального анализа данных
- •5.1.3. Стадии интеллектуального анализа данных
- •5.1.4. Индуктивное и абдуктивное обучение
- •5.2. Алгоритмы интеллектуального анализа данных
- •5.2.2. Байесовская классификация
- •5.2.3. Деревья решений
- •5.2.4. Методы классификации с использованием функций
- •5.2.5. Метод "ближайшего соседа" или системы рассуждений на основе аналогичных случаев
- •5.2.6. Методы кластерного анализа
- •5.2.7. Развитие алгоритмов интеллектуального анализа данных
- •Контрольные тесты
- •6. Нейронные сети
- •6.1. Основные понятия
- •6.1.1. Модель искусственного нейрона
- •6.1.2. Модели нейронных сетей
- •6.1.3. Статические нейронные сети
- •6.1.4. Рекуррентные нейронные сети
- •6.2. Проектирование нейронных сетей
- •6.2.1. Этапы проектирования нейронных сетей
- •6.2.2. Метод обратного распространения ошибки
- •6.2.3. Методы обучения нейронных сетей: обучение без учителя
- •6.2.4. Нейронные сети Хопфилда и Хэмминга
- •6.2.5. Использование генетических алгоритмов для обучения нейронной сети
- •Контрольные тесты
- •5. Адаптивные системы
- •5.1. Основные классы адаптивных систем
- •5.1.1. Понятие и классификация адаптивных систем
- •5.1.2. Самонастраивающиеся адаптивные системы
- •5.1.3. Самоорганизующиеся адаптивные системы
- •5.1.4. Самообучающиеся адаптивные системы
- •5.2. Проектирование адаптивных систем
- •5.2.1. Общие подходы и требования к проектированию
- •5.2.2. Оригинальное проектирование адаптивных систем
- •5.2.3. Компонентное проектирование адаптивных систем
- •Контрольные тесты
- •8. Системы с интеллектуальным интерфейсом
- •8.1. Взаимодействие пользователя с информационной системой на естественном языке
- •8.1.1. Компьютерно-лингвистический подход к диалогу. Проблемы формализации естественном языке
- •8.1.2. Задачи обработки текстов на естественном языке
- •8.1.3. Уровни понимания текста на естественном языке
- •8.2. Построение естественно-языковых интерфейсов
- •8.2.1. Лингвистическая трансляция
- •8.2.2. Обобщенная схема естественно-языковой системы
- •8.2.3. Компонент понимания высказываний
- •8.2.4. Компонент генерации высказываний
- •8.3. Прикладные системы с интеллектуальным интерфейсом
- •8.3.1. Интеллектуальные базы данных
- •8.3.2. Интеллектуальные гипертекстовые системы
- •8.3.3. Системы когнитивной графики
- •Контрольные тесты
- •9. Многоагентные системы
- •9.1. Характеристика агента как элемента многоагентной системы
- •9.1.1. Агент: понятие и классификация
- •9.1.2. Отличительные свойства агента
- •9.2. Процесс самоорганизации в многоагентных системах
- •9.2.1. Понятие многоагентной системы
- •9.2.2. Структура памяти и принципы мышление агента
- •9.2.3. Самоорганизация многоагентной системы
- •9.2.4. Архитектура и интерфейс многоагентной системы
- •Контрольные тесты
- •Библиографический список
- •Приложение
- •Интеллектуальные информационные системы
- •3000600, Г.Тула, пр.Ленина, 92.
- •3000600, Г.Тула, ул.Болдина, 151
6.1.2. Модели нейронных сетей
Нейроны могут быть связаны между собой, когда выход одного нейрона является входом другого. Таким образом, строится нейронная сеть, в которой нейроны, находящиеся на одном уровне, образуют слои. Но не всякое соединение нейронов будет работоспособно и целесообразно.
Существуют два вида нейронных сетей (см. рис. 6.3): статические, которые также называют сети с прямой связью, и динамические, или рекуррентные сети.
6.1.3. Статические нейронные сети
С
татические
сети на заданный вход вырабатывают одну
совокупность входных сигналов, независимо
от состояния сети, в отличии от
динамических, в которых обратные связи
модифицируют входы нейронов, что приводит
к изменению состояния сети.
Среди различных структур нейронных сетей одной из наиболее известных является многослойная структура, в которой каждый нейрон произвольного слоя связан со всеми аксонами нейронов предыдущего слоя или, в случае первого слоя, со всеми входами нейросети. Такие нейросети называются полносвязными. Простейшим вариантом нейронной сети с прямыми связями является однослойный персептрон, схема которого представлена на рис. 6.4.
В наиболее распространенном семействе статических сетей, называемых многослойным персептроном, нейроны расположены слоями и имеют однонаправленные связи между слоями. На рис. 6.5. показана типовая схема нейронной сети с прямой связью с одним скрытым слоем (многослойный персептрон). Название персептрона для нейросетей придумал Ф.Розенблатт, придумавший в 1957 г. первый нейропроцессорный элемент.
Нейросети могут использовать в качестве активационных функций радиально-базисные (RBF-сети). Радиально-базисная сеть характеризуется единственным скрытым слоем, нейроны которого имеют нелинейную активационную функцию типа гауссовой; синоптические веса связей входного и скрытого слоев равны единице.
6.1.4. Рекуррентные нейронные сети
Р
екуррентные
сети (рис. 6.6) содержат обратные связи,
благодаря которым становится возможным
получение отличающихся значений выходов
при одних и тех же входных условиях в
зависимости от предыдущих состояний
нейросети. Это гораздо расширяет области
применения нейросетей. К этому типу
относятся соревновательные сети, сети
Кохонена, Хопфилда и Хеминга. Подробнее
структуры этих сетей рассмотрены далее.
Важной особенностью рекуррентных сетей является их способность предсказывать существование новых классов объектов и моделировать нелинейные динамические системы.
Нейронные сети применяются для решения задач распознавания образов и классификации, принятия решений и управления, кластеризации, прогнозирования и аппроксимации, сжатия данных и реализации ассоциативной памяти.
6.2. Проектирование нейронных сетей
6.2.1. Этапы проектирования нейронных сетей
Этапы проектирования нейросети представлены на рис. 6.7. Важным вопросом является определение факторов классификации (входных данных), шкал их значений. С целью определения наиболее значимых для решения задачи факторов, целесообразно провести сначала корреляционно-регрессионный анализ. Эффективность нейросети повышается, если диапазоны изменений входных и выходных факторов привести к некоторому стандарту, например [0,1] или [-1,1].
С
труктура
нейронной сети определяется типом и
числом нейронов во всех слоях. Количество
элементов во входном слое определяется
числом используемых признаков
классификации. При их двоичном
представлении увеличивается реальное
число входных нейронов в соответствии
с используемым преобразованием. Логично
затронуть вопрос о требуемой мощности
выходного слоя сети, выполняющего
окончательную классификацию. Дело в
том, что для разделения множества входных
образов, например, по двум классам
достаточно всего одного выхода. При
этом каждый логический уровень – "1"
и "0" – будет обозначать отдельный
класс. На двух выходах можно закодировать
уже 4 класса и так далее. Однако результаты
работы сети, организованной таким
образом, можно сказать – "под завязку",
– не очень надежны. Для повышения
достоверности классификации желательно
ввести избыточность путем выделения
каждому классу одного нейрона в выходном
слое или, что еще лучше, нескольких,
каждый из которых обучается определять
принадлежность образа к классу со своей
степенью достоверности, например:
высокой, средней и низкой. Такие нейросети
позволяют проводить классификацию
входных образов, объединенных в нечеткие
(размытые или пересекающиеся) множества.
Это свойство приближает подобные
нейросети к условиям реальной жизни.
Определение числа скрытых слоев и числа нейронов в каждом слое для конкретной задачи является неформальной проблемой, при решении которой можно использовать эвристическое правило: число нейронов в следующем слое в два раза меньше, чем в предыдущем.
Обучение нейронной сети сводится к определению связей (синапсов) между нейронами и установлению силы этих связей (весовых коэффициентов). Алгоритмы обучения нейронной сети упрощенно сводятся к определению зависимости весовых коэффициентов связи двух нейронов от числа примеров, подтверждающих эту зависимость. Обучение характеризуется тремя свойствами: емкостью, сложностью образцов и вычислительной сложностью. Емкость соответствует количеству образцов, которое может запомнить сеть, сложность определяет способность сети к обучению (сколько образцов нужно для обучения). В частности, при обучении сети может возникнуть эффект «перетренировки», когда сеть хорошо работает на примерах обучающей выборки, не справляется с новыми примерами, утрачивая способность к обучению.
Существуют три парадигмы обучения: «с учителем», «без учителя», и смешанная. В первом случае веса сети настраиваются таким образом, чтобы сеть давала ответы как можно более близкие к правильным. При обучении «без учителя» раскрывается внутренняя структура данных или корреляции между ними. Известны 4 основных типов правил обучения: коррекция по ошибке, обучение Больцмана, правило Хебба, обучение методом соревнования.
Правило коррекции по ошибке. При обучении с учителем для каждого входного примера задан желаемый выход. Реальный выход сети может не совпадать с желаемым. Принцип коррекции по ошибке при обучении состоит в использовании разности между реальным и желаемым выходом для модификации весов, обеспечивающей постепенное уменьшение ошибки. Обучение имеет место только в случае, когда сеть ошибается. Известны различные модификации этого алгоритма обучения.
Обучение Больцмана. Представляет собой стохастическое правило обучения, которое следует из информационных теоретических и термодинамических принципов. Целью обучения Больцмана является такая настройка весовых коэффициентов, при которой состояния видимых нейронов удовлетворяют желаемому распределению вероятностей. Обучение Больцмана может рассматриваться как специальный случай коррекции по ошибке, в котором под ошибкой понимается расхождение корреляций состояний в двух режимах.
Правило Хебба. Самым старым обучающим правилом является постулат обучения Хебба. Хебб опирался на следующие нейрофизиологические наблюдения: если нейроны с обеих сторон синапса активизируются одновременно и регулярно, то сила синаптической связи возрастает. Важной особенностью этого правила является то, что изменение синаптического веса зависит только от активности нейронов, которые связаны данным синапсом. Это правило основано на простом предположении: если два нейрона возбуждаются вместе, то сила связи между ними возрастает, если порознь – убывает.
Обучение методом соревнования. В отличие от обучения Хебба, в котором множество выходных нейронов могут возбуждаться одновременно, при соревновательном обучении выходные нейроны соревнуются между собой за активизацию. Это явление известно как правило "победитель берет все". Подобное обучение имеет место в биологических нейронных сетях. Обучение посредством соревнования позволяет кластеризовать входные данные: подобные примеры группируются сетью в соответствии с корреляциями и представляются одним элементом. При обучении модифицируются только веса "победившего" нейрона. Эффект этого правила достигается за счет такого изменения сохраненного в сети образца (вектора весов связей победившего нейрона), при котором он становится чуть ближе ко входному параметру.
На последнем этапе проектирования проводится тестирование полученной модели на тестовой выборке примеров, определяя тем самым правильность выбора структуры сети и ее обученность.