Полная версия

Главная arrow Информатика arrow Искусственный интеллект arrow
Универсальная экспертная система

  • Увеличить шрифт
  • Уменьшить шрифт


Универсальная экспертная система


Универсальная экспертная система

Экспертная система предназначена распознавать и классифицировать объекты по их признакам. Классический принцип построения экспертных систем основан на процедуре вывода. В данном разделе рассматривается построение экспертной системы на принципе имитации обучения.

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

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

Обозначим: x – набор признаков объектов (концепты), у – набор классов, к которым могут быть отнесены объекты,b – набор правил, ставящих в соответствие признаки классам (задается матрицей).

ЯЩИК, ФОРМУЛА

Рассмотрим пример (6,3), то есть 6 признаков (n=6) и 3 класса(L=3). Обозначим набор концептов как X={х1, х2, х3, х4, х5, х6}, где

х1 – признак наличия или отсутствия у объекта крыльев,

х2 – признак наличия или отсутствия у объекта хвоста,

х3 – признак наличия или отсутствия у объекта клюва,

х4 – признак наличия или отсутствия у объекта двигателя,

х5 – признак наличия или отсутствия у объекта оперения,

х6 – признак наличия или отсутствия у объекта шасси.

Обозначим набор классов как Y ={y1,y2, y3}, где

y1 – объект является птицей,

y2 - объект является самолетом,

y3 - объект является планером.

Переменные x иy могут принимать значения из диапазона (0-1): 0 – нет, 1 – да. Если переменная больше 0, но меньше 1, то ее значение является мерой уверенности в определенном ответе. 0,5 – наибольшая неуверенность.

Рассмотрим работу системы в режиме экспертизы, считая, что система уже научилась распознавать объекты по классам.

Тогда матрица правил будет выглядеть следующим образом.

Матрица1

Экспертиза 1.

Допустим, что на вход системы подается набор признаков (111010), то есть у объекта имеется крылья (x1=1), хвост (x2=1), клюв (x3=1), отсутствует двигатель (x4=0), имеется оперение (x5=1), отсутствует шасси (x6=0).

Умножим вектор X={111010} последовательно на первый, второй и третий столбцы матрицы.

Получаем

D1=1*(-1)+1*(-1)+1*1+0*(-1)+1*1+0*(-1)=0

D2=1*(-1)+1*(-1)+1*(-1)+0*1+1*(-1)+0*1= -4

D3=1*0+1*0+1*(-1)+0*(-1)+1*(-1)+0*(-1)= -2

D – оценки похожести входного объекта на каждый из классов (птицуD1, самолет D2, планер D3). ВекторD={0, -4, -2}

D1 - самое большое число в вектореD, поэтому делается вывод, что предъявленный системе объектболее всего похож на птицу.

Экспертиза 2.

Допустим, что на вход системы подается набор признаков (110101), то есть у объекта имеется крылья (x1=1), хвост (x2=1), отсутствует клюв (x3=0), есть двигатель (x4=1), отсутствует оперение (x5=0), есть шасси (x6=1).

Умножим вектор X={110101} последовательно на первый, второй и третий столбцы матрицы.

Получаем

D1=1*(-1)+1*(-1)+0*1+1*(-1)+0*1+1*(-1)= -4

D2=1*(-1)+1*(-1)+0*(-1)+1*1+0*(-1)+1*1= 0

D3=1*0+1*0+0*(-1)+1*(-1)+0*(-1)+1*(-1)= -2

D – оценки похожести входного объекта на каждый из классов (птицуD1, самолет D2, планер D3). ВекторD={-4, 0, -2}

D2 - самое большое число в вектореD, поэтому делается вывод, что предъявленный системе объектболее всего похож на самолет.

Экспертиза 3.

Допустим, что на вход системы подается набор признаков (110000), то есть у объекта имеется крылья (x1=1), хвост (x2=1), отсутствует клюв (x3=0), отсутствует двигатель (x4=0), отсутствует оперение (x5=0), отсутствует шасси (x6=0).

Умножим вектор X={110000} последовательно на первый, второй и третий столбцы матрицы.

Получаем

D1=1*(-1)+1*(-1)+0*1+0*(-1)+0*1+0*(-1)= -2

D2=1*(-1)+1*(-1)+0*(-1)+0*1+0*(-1)+0*1= -2

D3=1*0+1*0+0*(-1)+0*(-1)+0*(-1)+0*(-1)= 0

D – оценки похожести входного объекта на каждый из классов (птицуD1, самолет D2, планер D3). ВекторD={-2, -2, 0}

D3 - самое большое число в вектореD, поэтому делается вывод, что предъявленный системе объектболее всего похож на планер.

Итак, система в состоянии с данной матрицей правил распознавать правильно птиц, самолеты и планеры, отличать их друг от друга. Матрица построена так, чтобы при умножении ее столбцов (фильтров классов) на вектора признаков объектов, какие-то оценки подавлялись, а какие-то усиливались. То есть матрица представляет собой уравнения плоскостей, разделяющих предметную область на классы в пространстве признаков. Пространство представляет собой – 6 независимых осей. Объект – точка в данном пространстве. Если объект находится в некотором отношении к плоскости i класса, то это говорит о степени его принадлежности к классу.

Как получить данную матрицу автоматически? Рассмотрим работу системы в режиме обучения.

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

Сначала система необучена, то есть все элементы матрицы считаются нулями.

Матрица 2

Шаг обучения 1.

Предъявим системе объект птица (класс 1): Y={100}иX={111010}.

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

Матрица 3

Шаг обучения 2.

Предъявим системе объект самолет (класс 2): Y={010}иX={110101}.

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

Матрица 4.

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

После применения приема «ограничение матрицы по выходу коэффициентов за гиперкуб» будем иметь

Матрица 4А

Шаг обучения 3.

Предъявим системе объект планер: Y={001}иX={110000}.

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

Матрица 5.

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

Следствия.

  1. Система не теряет способности различать объекты и при отсутствии данных о некотором признаке или ряде признаков. То есть следует указать в спорном признаке степень уверенности в наличии признака (xi>0.5) или отсутствии его у объекта (xi<0.5). Если выбор в сторону 0 или 1 сделать невозможно, тоxi=0.5. Конечно, если информации нет по большому числу признаков, уверенность в опознании уменьшается. Например, мы предъявляем объект{0.5 1 1 0 0.5 0}, то есть в отношении наличия крыльев и оперения мы сомневаемся. Экспертиза покажет, что D={0 –3 –1.5}. Система классифицирует объект уже менее четко, чем ранее {0 –4 –2}, но все равно различает классы правильно. Явный признак “наличие клюва” (только птица) и не очень явный “отсутствие шасси” (путаем с планером), позволяют все еще сделать правильный вывод. Но еще менее четкий объект типа {1 1 0.5 0.5 0.5 0.5} распознан быть не может {-2 –2 –2}.

  2. Система в состоянии классифицировать неизвестные ей ранее объекты на основе прошлого, хотя и другого опыта. Например, на вопрос «Есть только хвост и двигатель {010100}? Что это такое?» она относит объект, являющийся ракетой, к наиболее близкому из известных ей объектов.

Вектор оценок D={-2,0,-1}– «объект похоже более на самолетD2, менее напланер D3 и еще менее на птицу D1». Нельзя не согласиться в «разумности» ответа.

  1. Оценки D являются показателями похожести объекта на известные системе объекты. Diявляется расстоянием в пространстве признаков от предъявленного объекта до соответствующего классаi. Классы непохожи друг на друга: самолет на птицу на 8 единиц, самолет на планер – на 6 единиц, птица на планер – на 6 единиц. Нарисуем оси под соответствующими углами. РИСУНОК1

При предъявлении в Экспертизе 1 птицы получим D={0 –4 –2 }. Найдем положение точки А, соответствующей этому объекту, на осях. Точка А отходит по оси Самолет от начала координат на –4, по оси Планер от начала координат на –2 и попадает в окрестность точки идеальной птицы на ось Птицы. РИСУНОК2

  1. По мере обучения система может вводить все новые концепты и новые классы. При этом матрица будет дополняться, но накопленная в ней информация остается, хотя, возможно, будет скорректирована. Систему можно переучить, если какая-либо информация стала неверной. Для этого потребуется предъявить примеры (возможно неоднократно) - признаки с новыми условиями классифицирования. Так же поступаем мы с Вами, обладая интеллектом.

  2. Система обладает определенной скоростью обучения. Если перед тем, как сложить (или вычесть) очередной вектор из матрицы умножить его элементы на величину А, то можно управлять скоростью обучения. В нашем примере мы использовали значение А=1. При А<1система будет обучаться медленнее, так как слагаемые будут иметь меньшее значение и их влияние на матрицу будет меньше. Придется неоднократно повторять отдельные примеры при обучении. При А>1система будет обучаться быстрее, так как слагаемые будут иметь большее значение и их влияние на матрицу будет больше. При этом следует иметь в виду, что достаточно большие значения А могут приводить к нежелательному эффекту «релаксации». То есть система при обучении будет «перепрыгивать» через оптимальные значения коэффициентов матрицы, не в состоянии попасть в них точно. Это будет приводить к ошибкам в экспертизе.

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

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

  5. Пространство нашего примера имеет размерность 6 (оси – крылья, хвост, клюв, двигатель, оперение, шасси). Так как признаки независимы друг от друга, то оси взаимно перпендикулярны. Оси отградуированы в интервале от 0 до +1 (гиперкуб). Любой объект, имея конкретные значения шести переменных x1, x2, x3, x4, x5, x6, изображается точкой в данном пространстве. Спроецируем 6-мерное пространство для наглядности на двухмерное пространство на осиx4 (двигатель), x3 (клюв). Уравнения имеют вид

Y1=…+x3-x4+… (класс птиц),

Y2=…-x3+x4+… (класс самолетов).

РИСУНОК3.

  1. Некоторые переменные оказывают существенно большее воздействие на выбор класса, чем другие. Например, у птицы {111010}, самолета{110101}, планера {110000} несущественными являются два первых признака – наличие крыльев и хвоста, поскольку значение признака у всех классов одинаково (равно 1). Поэтому данные признаки можно исключить в такой системе вообще или не спрашивать о них в режиме экспертизы. При сравнении самолета и планера несущественными являются третий (клюв) и пятый (оперение) признаки, так как одинаковы (равны 0). То есть некоторые признаки могут оказываться во время работы более важными или, наоборот, несущественными. Соответственно, время работы экспертной системы с пользователем можно оптимизировать за счет их анализа. Особенно это важно при опросе большого числа признаков или экстремальной ситуации (болезнь, пожар). Тогда важно по ходу ведения процедуры экспертизы управлять порядком опроса.

  2. Рассмотрим количество совпадений элементов у векторов признаков объектов. Действительно, похожесть между птицей и самолетом равна 2, между птицей и планером равно 4, между самолетом и планером равна 4. То есть в пространстве признаков класс планеров находится ближе одновременно к классу самолетов и классу птиц, в то время как классы птиц и самолетов находятся на большем расстоянии. РИСУНОК

Алгоритм.

 

Похожие темы