Самообучающиеся системы

В основе самообучающихся систем лежат методы автоматической классификации примеров ситуаций реальной практики (обучения на примерах). Примеры реальных ситуаций накапливаются за некоторый исторический период и составляют обучающую выборку. Эти примеры описываются множеством признаков классификации. Причем обучающая выборка может быть:

· “с учителем”, когда для каждого примера задается в явном виде значение признака его принадлежности некоторому классу ситуаций (классообразующего признака);

· “без учителя”, когда по степени близости значений признаков классификации система сама выделяет классы ситуаций.

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

Общие недостатки, свойственные всем самообучающимся системам, заключаются в следующем:

· возможна неполнота и/или зашумленность (избыточность) обучающей выборки и, как следствие, относительная адекватность базы знаний возникающим проблемам;

· возникают проблемы, связанные с плохой смысловой ясностью зависимостей признаков и, как следствие, неспособность объяснения пользователям получаемых результатов;

· ограничения в размерности признакового пространства вызывают неглубокое описание проблемной области и узкую направленность применения.

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

Процесс классификации примеров осуществляется следующим образом:

1. Выбирается признак классификации из множества заданных (либо последовательно, либо по какому-либо правилу, например, в соответствии с максимальным числом получаемых подмножеств примеров);

2. По значению выбранного признака множество примеров разбивается на подмножества;

3. Выполняется проверка, принадлежит ли каждое образовавшееся подмножество примеров одному подклассу;

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

5. Для подмножеств примеров с несовпадающим значением классообразующего признака процесс классификации продолжается, начиная с пункта 1. (Каждое подмножество примеров становится классифицируемым множеством).

Процесс классификации может быть представлен в виде дерева решений, в котором в промежуточных узлах находятся значения признаков последовательной классификации, а в конечных узлах - значения признака принадлежности определенному классу. Пример построения дерева решений на основе фрагмента таблицы примеров (таблица 1.1) показан на рис. 1.10.

Таблица 1.1

Классообр. признак   Признаки классификации  
Цена Спрос Конкуренция Издержки Качество
низкая низкий маленькая маленькие низкое
высокая низкий маленькая большие высокое
высокая высокий маленькая большие низкое
высокая высокий маленькая маленькие высокое
высокая высокий маленькая маленькие низкое
высокая высокий маленькая большие высокое

Самообучающиеся системы - student2.ru

Рис. 1.10. Фрагмент дерева решений

Анализ новой ситуации сводится к выбору ветви дерева, которая полностью определяет эту ситуацию. Поиск решения осуществляется в результате последовательной проверки признаков классификации. Каждая ветвь дерева соответствует одному правилу решения:

Если Спрос=“низкий” и Издержки=“маленькие”

То Цена=“низкая”

Примерами инструментальных средств, поддерживающих индуктивный вывод знаний, являются 1st Class (Programs in Motion), Rulemaster (Radian Corp.), ИЛИС (ArgusSoft), KAD (ИПС Переяславль-Залесский).

Нейронные сети. В результате обучения на примерах строятся математические решающие функции (передаточные функции или функции активации), которые определяют зависимости между входными (Xi) и выходными (Yj) признаками (сигналами) (рис. 1.11).

Самообучающиеся системы - student2.ru

Рис.1.11. Решающая функция - “нейрон”

Каждая такая функция, называемая по аналогии с элементарной единицей человеческого мозга - нейроном, отображает зависимость значения выходного признака (Y) от взвешенной суммы (U) значений входных признаков (Xi), в которой вес входного признака (Wi) показывает степень влияния входного признака на выходной:

Самообучающиеся системы - student2.ru

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

Функциональная зависимость может быть линейной, но, как правило, используется сигмоидальная форма, которая позволяет вычленять более сложные пространства значений выходных признаков. Такая функция называется логистической (рис.1.12).

Самообучающиеся системы - student2.ru

Рис.1.12. Логистическая (сигмоидальная) функция

Нейроны могут быть связаны между собой, когда выход одного нейрона является входом другого. Таким образом, строится нейронная сеть (рис. 1.13), в которой нейроны, находящиеся на одном уровне, образуют слои.

Самообучающиеся системы - student2.ru

Рис.1.13. Нейронная сеть

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

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

Самообучающиеся системы - student2.ru , где

Ti - заданное значение выходного признака по i - му примеру;

Yi - вычисленное значение выходного признака по i - му примеру.

Сущность алгоритма обратного распространения ошибки сводится к следующему:

1. Задать произвольно небольшие начальные значения весов связей нейронов.

2. Для всех обучающих пар “значения входных признаков - значение выходного признака” (примеров из обучающей выборки) вычислить выход сети (Y).

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

Вычислить веса на (t+1) шаге по формуле:

Самообучающиеся системы - student2.ru , где

Самообучающиеся системы - student2.ru - вес связи от скрытого i -го нейрона или от входа к j-му нейрону на шаге t;

Самообучающиеся системы - student2.ru - выходное значение i -го нейрона;

Самообучающиеся системы - student2.ru - коэффициент скорости обучения;

Самообучающиеся системы - student2.ru - ошибка для j-го нейрона.

Если j-й нейрон - выходной, то

Самообучающиеся системы - student2.ru

Если j-й нейрон находится в скрытом внутреннем слое, то

Самообучающиеся системы - student2.ru , где

к - индекс всех нейронов в слое, расположенном вслед за слоем с j-м нейроном.

Выполнить шаг 2.

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

Сам процесс решения задач в силу проведения матричных преобразований проводится очень быстро. Фактически имитируется параллельный процесс прохода по нейронной сети в отличие от последовательного в индуктивных системах. Нейронные сети могут быть реализованы и аппаратно в виде нейрокомпьютеров с ассоциативной памятью.

Последнее время нейронные сети получили стремительное развитие и очень активно используются в финансовой области. В качестве примеров внедрения нейронных сетей можно назвать:

· "Система прогнозирования динамики биржевых курсов для Chemical Bank" (фирма Logica);

· "Система прогнозирования для Лондонской фондовой биржи" (фирма SearchSpace);

· "Управление инвестициями для Mellon Bank" (фирма NeuralWare) и др.

В качестве инструментальных средств разработки нейронных сетей следует выделить инструментальные средства NeurOn-line (фирма GENSYM), NeuralWorks Professional II/Plus (фирма NeuralWare), отечественную разработку FOREX-94 (Уралвнешторгбанк) и др.

Системы, основанные на прецедентах (Case-based reasoning). В этих системах база знаний содержит описания не обобщенных ситуаций, а собственно сами ситуации или прецеденты. Тогда поиск решения проблемы сводится к поиску по аналогии (абдуктивному выводу от частного к частному):

1. Получение подробной информации о текущей проблеме;

2. Сопоставление полученной информации со значениями признаков прецедентов из базы знаний;

3. Выбор прецедента из базы знаний, наиболее близкого к рассматриваемой проблеме;

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

5. Проверка корректности каждого полученного решения;

6. Занесение детальной информации о полученном решении в базу знаний.

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

Системы, основанные на прецедентах, применяются как системы распространения знаний с расширенными возможностями или как в системах контекстной помощи (рис. 1.14.).

Описание ситуации (проблемы)

Не печатает принтер

Вопросы

Наши рекомендации