Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по СИИ.doc
Скачиваний:
175
Добавлен:
02.05.2014
Размер:
3.54 Mб
Скачать

1.5. Обучение системы

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

g(x) = w1x1 + w2x2 + ... + wdxd + wd+1, (1.43)

Данная функция называется также линейной дискриминаторной функцией. Для того, чтобы использовать линейную дискриминаторную функцию, исходное множество  объектов разбивается на классы1,2, ...,N, причем каждый объект из принадлежит только одному классуi.

Для каждого класса некоторым (определенным) образом подби­раются весовые коэффициенты W = <w1, w2, ..., wd+1>. Считается, что предъявленный объект относится к тому классу, для которого значение дискриминаторной функции достигает максимального значения. Рассмотрим, из каких соображений определяются весовые коэффициентыwi. Прежде всего, для каждого класса выбирается представительРiэтого класса.

Расстояние между произвольной точкой X d-мерного пространства и представителемРi, вычисляется как

(1.44)

где (Х - Рi )(Х - Рi) = Х·Х - 2Х · Рi + Рi · Pi. (1.45)

Естественно полагать, что точка Xпринадлежит тому классу, рас­стояние между представителем которогоРiи Xминимально. Поскольку членXXв (1.45) для всех классов один и тот же, то минимум(-2ХРi + Рi Рi)эквивалентен максимуму (2ХРi - РiРi). В связи с этим в качествеgi(Х)используется функция

gi(X) = 2XPi - PiPi. (1.46)

Из (1.46) имеем, что где-i-ая компонента вектора Рiиwd+1 = PiPi.

Теперь выясним, в чем заключается процесс обучения. Если заранее не известен представитель каждого класса, то нужно определить подхо­дящим образом весовые коэффициенты wi, в дискриминантной функции (1.43). Определение весовых коэффициентов осуществляется с помощью обучающей выборки, относительно которой известна результирующая классификация. В качестве обучающей выборки для СИИ может высту­пать накопленный опыт решения задач классификации. Рассмотрим ал­горитм непараметрического обучения, как он описан. В качестве начальных весов выбираются произвольные векторы, изменение кото­рых производится только в случае неправильной классификации объек­тов. Допустим, при классификации объектаYон неверно относится к классу ), вместо отнесения его к классу 1. Тогда весовые векторы, используемые как в 1-ой, так и в 1-ой дискриминантных функциях, изменяются следующим образом:

(1.47)

где - новые весовые выходы;с- коэффициент коррекции.

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

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

1.6. Интерфейс с пользователем

Интерфейс с пользователем включает следующие компоненты:

  • диалоговый компонент;

  • модуль обработки вопросов;

  • редактор знаний;

  • модуль объяснения.

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

  • распределяет роли пользователя и СИИ и организует их взаимодействие в процессе решения задачи;

  • преобразует спецификацию задачи, составленную пользователем, во внутреннее представление машины;

  • выдает сообщения, подсказки, вопросы;

  • протоколирует процесс решения задачи.

Развитый интеллектуальный диалог реализует поддержку процесса решения задачи в духе Пойа. В этом случае пользователь сам актив­но включается в процесс решения задачи, а СИИ организует поисковую активность человека-решателя. Этот процесс описывается следующим семантическим фрагментом:

<решение>::= <контекст><действие>[<решение>]

<контекст>::= <начальный_контекст>[<история>]

<история>::= <вопрос><ответ>[<история>]

<начальный контекст>::= <фрейм_задачи:>

<ответ>::= <совет>|<указание>|<элемент_меню>

<действие>::= <вопрос>|<совет>|<указание>

Например, для математических задач дискретной оптимизации ха­рактерно следующее множество вопросов:

<Вопрос>::=

Задача сводится к последовательному выбору элементов реше­ния? |

Все множество элементов решения доступно сразу? |

Выбор одного элемента решения исключает выбор другого? |

Критерий выбора одного элемента решения соответствует обще­му критерию задачи? |

Число элементов решения велико? |

Можно ли разбить задачу на независимые подзадачи меньшего размера? |

Можно ли выделить непополняемое множество альтернативных решений небольшого размена? |

Известно ли множество решений на каждом шаге? |

Влияет ли выбор решения на шаге i на шаг (i + k), k>1?|

Выбор одного элемента решения изменяет другие элементы решений? |

Известен т последний шаг решения? | и т.д.

<:Совет>::=

запишите задачу в удобной для обозрения и понимания форме |

используйте известные вам аналогии |

отделите то, что дано, от того, что нужно найти |

определите, от чего зависит искомая величина |

определите содержание отдельного шага процедуры решения |

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

начинайте решение с наиболее простого и очевидного |

и т.д.

<Указание>::=

«Объект, который причиняет вред, должен быть поставлен в условия, обратные тем, в которые должен быть поставлен объект, доставляющий максимум пользы» |

«Для получения хорошего решения нужно отбрасывать плохие» |

«Решение, имеющее наиболее глубокие последствия, должно приниматься раньше других» |

«Неизвестную задачу можно свести к известной через преобразования носителя или условий» | и т.д.

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

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

Предъявление подобного объяснения пользователю может убедить его в рациональности стратегии вывода или побудить к самостоя­тельному принятию решения. Таким образом диалоговый компонент СИИ в принципе должен позволять пользователю вмешаться в любой точке трассы вывода и изменить ее по своему усмотрению.

Итак, выделим основные функции интерфейса с пользователем СИИ:

  • ввод спецификации задачи

  • обеспечение возможности вмешательства со стороны пользовате­ля в процесс решения задачи

  • организация поисковой активности человека-решателя

  • предъявление объяснений

  • выдача сообщений

  • протоколирование процесса решения задачи

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