Лекции по искуственному интеллекту. Классификация интеллектуальных информационных систем
Скачать 286 Kb.
|
1.4 Самообучающиеся системы В основе самообучающихся систем лежат методы автоматической классификации примеров ситуаций реальной практики (обучения на примерах). Примеры реальных ситуаций накапливаются за некоторый исторический период и составляют обучающую выборку. Эти примеры описываются множеством признаков классификации. Причем обучающая выборка может быть:
В результате обучения системы автоматически строятся обобщенные правила или функции, определяющие принадлежность ситуаций классам, которыми обученная система пользуется при интерпретации новых возникающих ситуаций. Таким образом, автоматически формируется база знаний, используемая при решении задач классификации и прогнозирования. Эта база знаний периодически автоматически корректируется по мере накопления опыта реальных ситуаций, что позволяет сократить затраты на ее создание и обновление. Общие недостатки, свойственные всем самообучающимся системам, заключаются в следующем:
Индуктивные системы. Обобщение примеров по принципу от частного к общему сводится к выявлению подмножеств примеров, относящихся к одним и тем же подклассам, и определению для них значимых признаков. Процесс классификации примеров осуществляется следующим образом:
[спрос] высокий [цена высокая] низкий _ [издержки] _ большие [цена высокая] маленькие [цена низкая] Рис. Фрагмент дерева решений Анализ новой ситуации сводится к выбору ветви дерева, которая полностью определяет эту ситуацию. Поиск решения осуществляется в результате последовательной проверки признаков классификации. Каждая ветвь дерева соответствует одному правилу решения: Если Спрос = «низкий» и Издержки = «маленькие» То Цена = «низкая» Нейронные сети. В результате обучения на примерах строятся математические решающие функции (передаточные функции или функции активации), которые определяют зависимости между входными (Xi) и выходными (Yi) признаками (сигналами). X1 W1 X2 U W2 Σ f(u) X3 W3 Выход = f(Σ wixi) Решающая функция – «нейрон» Каждая такая функция, называемая по аналогии с элементарной единицей человеческого мозга – нейроном, отображает зависимость значения выходного признака (Y) от взвешенной суммы (U) значений входных признаков (Xi), в которой вес входного признака (Wi) показывает степень влияния входного признака на выходной: Y=f(ΣW,*X) Решающие функции используются в задачах классификации на основе сопоставления их значений при различных комбинациях значений входных признаков с некоторым пороговым значением. В случае превышения заданного порога считается, что нейрон сработал и таким образом распознал некоторый класс ситуаций. Нейроны используются и в задачах прогнозирования, когда по значениям входных признаков после их подстановки в выражение решающей функции получается прогнозное значение выходного признака. Функциональная зависимость может быть линейной, но, как правило, используется сигмоидальная форма, которая позволяет вычленять более сложные пространства значений выходных признаков. Такая функция называется логической. 1 нейрон «вкл» 0 Логическая (сигмоидальная) функция Нейроны могут быть связаны между собой, когда выход одного нейрона является входом другого. Таким образом, строится нейронная сеть, в которой нейроны, находящиеся на одном уровне, образуют слои. Выходной слой Взвешенные связи Нейронная сеть Обучение нейронной сети сводится к определению связей (синапсов) между нейронами и установлению силы этих связей (весовых коэффициентов). Алгоритмы обучения нейронной сети упрощенно сводится к определению зависимости весового коэффициента связи двух нейронов от числа примеров, подтверждающих эту зависимость. Наиболее распространенным алгоритмом обучения нейронной сети является алгоритм обратного распространения ошибки. Целевая функция по этому алгоритму должна обеспечить минимизацию квадрата ошибки в обучении по всем примерам: Min Σ(Ti - Yi), где Ti – заданное значение выходного признака по i-му примеру Yi – вычисленное значение выходного признака по i-му примеру. Сущность алгоритма обратного распространения ошибки сводится к следующему:
Вычислить веса на (t+1) шаге по формуле: Wij(t=1)=Wij(t) + ŋδiXi, где Wij(t) – все связи от скрытого i-го нейрона или от входа к j-му нейрону на шаге t; Xi – выходное значение i-го нейрона; ŋ – коэффициент скорости обучения; δ – ошибка для j-го нейрона. Если j-ый нейрон – выходной, то δi = Yi(1 - Yi)(Ti - Yi) Если j-ый нейрон находится в скрытом внутреннем слое, то δi =Xj(1- Xj) Σ δkWjk, где k-индекс всех нейронов в слое, расположенном вслед за слоем с j-ым нейроном. Выполнить шаг 2. Достоинство нейронных сетей перед инструктивным выводом заключается в решении не только классифицирующих, но и прогнозных задач. Возможность нелинейного характера функциональной зависимости выходных и входных признаков позволяет строить более точные классификации. Сам процесс решения задач в силу проведения матричных преобразований проводится очень быстро. Фактически имитирует параллельный процесс прохода по нейронной сети в отличие от последовательного в индуктивных системах. Нейронные сети могут быть реализованы и аппаратно в виде нейрокомпьютеров с ассоциативной памятью. Системы, основанные на прецедентах (case-based reasoning). В этих системах база знаний содержит описание не обобщенных ситуаций, а собственно сами операции или прецеденты. Тогда поиск решения проблемы сводится к поиску по аналогии (абдуктивному выводу от частного к частному):
Так же как и для индуктивных систем прецеденты описываются множеством признаков, по которым строятся индексы быстрого поиска. Но в отличие от индуктивных систем допускается нечеткий поиск с получение множества допустимых альтернатив, каждая из которых оценивается некоторым коэффициентом уверенности. Далее наиболее подходящие решения адаптируются по специальным алгоритмам к реальным ситуациям. Обучение системы сводится к запоминанию каждой новой обработанной ситуации с принятыми решениями в базе прецедентов. Технология создания экспертных систем Этапы создания экспертной системы На начальных этапах идентификации и концептуализации, связанных с определением контуров будущей системы, инженер по знаниям выступает в роли ученика, а эксперт – в роли учителя, мастера. На заключительных этапах реализации и тестирования инженер по знаниям демонстрирует результаты разработки, адекватность которых проблемной области оценивает эксперт. На этапе тестирования это могут быть совершенно другие эксперты. На этапе тестирования созданные экспертные системы оцениваются с позиции двух основных групп критериев: точности и полезности. С точностью работы связаны такие характеристики, как правильность делаемых заключений, адекватность базы знаний проблемной области, соответствие применяемых методов решения проблемы экспертным. Поэтому ключевые оценки системе ставят специалисты в проблемной области – эксперты. Полезность же экспертной системы характеризуется степенью удовлетворения требований пользователя в части получения необходимых рекомендаций, легкости и естественности взаимодействия с системой, надежности, производительности и стоимости эксплуатации, способности обоснования решений и обучения настройки на изменение потребностей. Оценивание экспертной системы осуществляется по набору текстовых примеров как из предшествующей практики экспертов, так и специально подобранных ситуаций. Результаты тестирования подлежат статистической обработке, после чего делаются выводы о степени точности работы экспертной системы. Идентификация проблемной области Переформулирование Требования Концептуализация проблемной области П Тестирование базы знаний Опытная эксплуатация Реализация базы знаний Формализация базы знаний ереформулирование Модель Перепроектирование Структура Уточнение Коды Этапы создания экспертной системы Следующий этап жизненного цикла экспертной системы – внедрение и опытная эксплуатация в массовом порядке без непосредственного контроля со стороны разработчиков и переход от текстовых примеров к решению реальных задач. Важнейшим критерием оценки становятся соотношение стоимости системы и ее эффективности. На этом этапе осуществляется сбор критических замечаний и внесение необходимых изменений. В результате опытной эксплуатации может потребоваться разработка новых специализированных версий, учитывающих особенности проблемных областей. На всех этапах разработки инженер по знаниям играет активную роль, а эксперт – пассивную. По мере развития самообучающихся свойств экспертных систем роль инженера по знаниям уменьшается, а активное поведение заинтересованного в эффектной работе экспертной системы пользователя –эксперта возрастает. Описание приемов извлечения знаний инженерами знаний представлено в таблице:
Первые два этапа разработки экспертной системы составляют логическую стадию, не связанную с применением четко определенного инструментального средства. Последующие этапы реализуются в рамках физического создания проекта на базе выбранного инструментального средства. Вместе с тем, процесс создания экспертной системы, как сложного программного продукта, имеет смысл выполнять методом прототипного проектирования, сущность которого сводится к постоянному наращиванию базы знаний, начиная с логической стадии. Прототипная технология создания экспертной системы означает, что простейший прототип будущей системы реализуется с помощью любого подручного инструментального средства еще на этапах идентификации и концепту ализации, в дальнейшем этот прототип детализируется, концептуальная модель уточняется, реализация выполняется в среде окончательно выбранного инструментального средства. После каждого этапа возможны итеративные возвраты на уже выполненные этапы проектирования, что способствует постепенному проникновению инженера по знаниям в глубину решаемых проблем, эффективности использования выделенных ресурсов, сокращению времени обработки, постоянному улучшению компетентности и производительности системы. |