Вопросы к экзамену по курсу «Интеллектуальные информационные системы» 1. Определение искусственного интеллекта. Искусственный интеллект (ИИ, англ. Artificial intelligence, AI) — наука и технология создания интеллектуальных машин, особенно интеллектуальных компьютерных программ. ИИ связан со сходной задачей использования компьютеров для понимания человеческого интеллекта, но не обязательно ограничивается биологически правдоподобными методами. 2. Тест Тьюринга. Тест Тьюринга сравнивает способности предположительно разумной машины со способностями человека — лучшим и единственным стандартом разумного поведения. В тесте, который Тьюринг назвал "имитационной игрой", машину и ее человеческого соперника (следователя) помешают в разные комнаты, отделенные от комнаты, в которой находится "имитатор". Следователь не должен видеть их или говорить с ними напрямую — он сообщается с ними исключительно с помощью текстового устройства, например, компьютерного терминала. Следователь должен отличить компьютер от человека исключительно на основе их ответов на вопросы, задаваемые через это устройство. Если же следователь не может отличить машину от человека, тогда, утверждает Тьюринг, машину можно считать разумной. Изолируя следователя от машины и другого человека, тест исключает предвзятое отношение — на решение следователя не будет влиять вид машины или ее электронный голос. Следователь волен задавать любые вопросы, не важно, насколько окольные или косвенные, пытаясь раскрыть "личность" компьютера. Например, следователь может попросить обоих подопытных осуществить довольно сложный арифметический подсчет, предполагая, что компьютер скорее даст верный ответ, чем человек. Чтобы обмануть эту стратегию, компьютер должен знать, когда ему следует выдать ошибочное число, чтобы показаться человеком. Чтобы обнаружить человеческое поведение на основе эмоциональной природы, следователь может попросить обоих субъектов высказаться по поводу стихотворения или картины. Компьютер в таком случае должен знать об эмоциональном складе человеческих существ. Этот тест имеет следующие важные особенности. 1. Дает объективное понятие об интеллекте, т.е. реакции заведомо разумного существа на определенный набор вопросов. Таким образом, вводится стандарт для определения интеллекта, который предотвращает неминуемые дебаты об "истинности" его природы. 2. Препятствует заведению нас в тупик сбивающими с толку и пока безответными вопросами, такими как: должен ли компьютер использовать какие-то конкретные внутренние процессы, или же должна ли машина по-настоящему осознавать свои действия. 3. Исключает предвзятость в пользу живых существ, заставляя опрашивающего сфокусироваться исключительно на содержании ответов на вопросы. Благодаря этим преимуществам, тест Тьюринга представляет собой хорошую основу для многих схем, которые используются на практике для испытания современных интеллектуальных программ. Программа, потенциально достигшая разумности в какой-либо предметной области, может быть испытана сравнением ее способностей по решению данного множества проблем со способностями человеческого эксперта. Этот метод испытания всего лишь вариация на тему теста Тьюринга, группу людей просят сравнить "вслепую" ответы компьютера и человека. Как видим, эта методика стала неотъемлемым инструментом как при разработке, так и при проверке современных экспертных систем. Тест Тьюринга, несмотря на свою интуитивную притягательность, уязвим для многих оправданных нападок. Одно из наиболее слабых мест — пристрастие в пользу чисто символьных задач. Тест не затрагивает способностей, требующих навыков перцепции или ловкости рук, хотя подобные аспекты являются важными составляющими человеческого интеллекта. Иногда же, напротив, тест Тьюринга обвиняют в попытках втиснуть машинный интеллект в форму интеллекта человеческого. Быть может, машинный интеллект просто настолько отличается от человеческого, что проверять его человеческими критериями — фундаментальная ошибка? Нужна ли нам, в самом деле, машина, которая бы решала математические задачи так же медленно и неточно, как человек'? Не должна ли разумная машина извлекать выгоду из своих преимуществ, таких как большая, быстрая, надежная память, и не пытаться сымитировать человеческое познание? На самом деле, многие современные практики ИИ говорят, что разработка систем, которые бы выдерживали всесторонний тест Тьюринга, — это ошибка, отвлекающая нас от более важных, насущных задач: разработки универсальных теорий, объясняющих механизмы интеллекта люден и машин и применение этих теорий к проектированию инструментов для решения конкретных практических проблем. Все же тест Тьюринга представляется нам важной составляющей в тестировании и "аттестации" современных интеллектуальных программ. Тьюринг также затронул проблему осуществимости построения интеллектуальной программы на базе цифрового компьютера Размышляя в терминах конкретной вычислительной модели (электронной цифровой машины с дискретными состояниями), он сделал несколько хорошо обоснованных предположении касательно ее объема памяти, сложности программы и основных принципов проектирования такой системы. Наконец, он рассмотрел множество моральных, философских и научных возражений возможности создания такой программы средствами современной технологии. Отсылаем читателя к статье Тьюринга за познавательным и все еще актуальным изложением сути споров о возможностях интеллектуальных машин. Два возражения, приведенных Тьюрингом, стоит рассмотреть детально. "Возражение леди Лавлейс". впервые сформулированное Адой Лавлейс, сводится к тому, что компьютеры могут делать лишь то, что им укажут, и, следовательно, не могут выполнять оригинальные (читай: разумные) действия. Однако экспертные системы, особенно в области диагностики, могут формулировать выводы, которые не были заложены в них разработчиками. Многие исследователи считают, что творческие способности можно реализовать программно. Другое возражение «аргумент естественности поведения», связано с невозможностью другое создания набора правил, которые бы говорили индивидууму, что в точности нужно делать при каждом возможном стечении обстоятельств. Действительно, гибкость, позволяющая биологическому разуму реагировать практически на бесконечное количество различных ситуаций приемлемым, если даже и не оптимальным образом – отличительная черта разумного поведения. Справедливо замечание, что управляющая логика, используемая в большинстве традиционных компьютерных программ, не проявляет великой гибкости или силы воображения, но неверно, что все программы должны писаться подобным образом. Большая часть работ в сфере ИИ за последние 25 лет была направлена на обработку таких языков программирования и моделей, призванных устранить упомянутый недостаток, как продукционные системы, объектные системы, сетевые представления и другие модели, обсуждаемые в этой книге. Современные программы ИИ обычно состоят из набора модульных компонентов, или правил поведения, которые не выполняются в жестко заданном порядке, а активизируются по мере надобности в зависимости от структуры конкретной задачи. Системы обнаружения совпадений позволяют применять общие правила к целому диапазону задач. Эти системы необычайно гибки, что позволяет относительно маленьким программам проявлять разнообразное поведение в широких пределах, реагируя на различные задачи и ситуации. Можно ли довести гибкость таких программ до уровня живых организмов, все еще предмет жарких споров. Нобелевский лауреат Герберт Саймон сказал, что большей частью своеобразие и изменчивость поведения, присущие живым существам, возникли скорее благодаря сложности их окружающей среды, чем благодаря сложности их внутренних "программ". В Саймон описывает муравья, петляющего по неровной, пересеченной поверхности. Хотя путь муравья кажется довольно сложным, Саймон утверждает, что цель муравья очень проста- вернуться как можно скорее в колонию. Изгибы и повороты его пути вызваны встречаемыми препятствиями. Саймон заключает, что: "Муравей, рассматриваемый в качестве проявляющей разумное поведение системы, на самом деле очень прост. Кажущаяся сложность его поведения в большей степени отражает сложность среды, в которой он существует". Эта идея, если удастся доказать применимость ее к организмам с более сложным интеллектом, составит сильный аргумент в пользу простоты, а следовательно, постижимости интеллектуальных систем. Любопытно, что, применив эту идею к человеку, мы придем к выводу об огромной значимости культуры в формировании интеллекта. Интеллект, похоже, не взращивается во тьме, как грибы. Для его развития необходимо взаимодействие с достаточно богатой окружающей средой. Культура так же необходима для создания человеческих существ, как и человеческие существа для создания культуры. Эта мысль не умаляет могущества наших интеллектов, но подчеркивает удивительное богатство и связь различных культур, сформировавших жизни отдельных людей. Фактически на идее о том, что интеллект возникает из взаимодействий индивидуальных элементов общества, основывается подход к ИИ, представленный в следующем разделе. 3. Обзор прикладных областей искусственного интеллекта. Основные сферы применения искусственного интеллекта. Существует две основные функциональные проблемы решаемые средствами ИИ: 1. Представление знаний. Относится к проблеме получения новых знаний с помощью формального языка, подходящего для компьютерных манипуляций, всего спектра знаний, требуемых для формирования разумного поведения. 2. Поиск – метод решения проблемы, в котором систематически просматривается пространство состояний задачи, т.е. альтернативных стадий ее решения. Затем в этом пространстве альтернативных решений производится перебор в поисках окончательного ответа. Сферы применения ИИ: 1. Ведение игр – все первые эксперты в этом направлении осуществлялись на основах игр: шашки, шахматы, пятнашки. 2. Автоматическое рассуждение и доказательство теории. 3. Экспертные системы – используются в знаниях экспертов по конкретной предметной области. 4. Понимание естественных языков и семантическое моделирование. 5. Моделирование работы человеческого интеллекта. 6. Планирование робототехники. 7. Машинное обучение. 8. Альтернативные представления: нейронные сети и генетические алгоритмы. Какие возможности предоставляет искусственный интеллект в наши дни? Краткий ответ на этот вопрос сформулировать сложно, поскольку в этом научном направлении существует слишком много подобластей, в которых выполняется очень много исследований. Ниже в качестве примеров перечислено лишь несколько приложений. Автономное планирование и составление расписаний. Работающая на удалении в сотни миллионов километров от Земли программа Remote Agent агентства NASA стала первой бортовой автономной программой планирования, предназначенной для управления процессами составления расписания операций для космического аппарата. Программа Remote Agent вырабатывала планы на основе целей высокого уровня, задаваемых с Земли, а также контролировала работу космического аппарата в ходе выполнения планов: обнаруживала, диагностировала и устраняла неполадки по мере их возникновения. Ведение игр. Программа Deep Blue компании IBM стала первой компьютерной программой, которой удалось победить чемпиона мира в шахматном матче, после того как она обыграла Гарри Каспарова со счетом 3,5:2,5 в показательном матче. Каспаров заявил, что ощущал напротив себя за шахматной доской присутствие «интеллекта нового типа». Журнал Newsweek описал этот матч под заголовком «Последний оборонительный рубеж мозга». Стоимость акций IBM выросла на 18 миллиардов долларов. Автономное управление. Система компьютерного зрения Alvinn была обучена вождению автомобиля, придерживаясь определенной полосы движения. В университете CMU эта система была размещена в микроавтобусе, управляемом компьютером NavLab, и использовалось для проезда по Соединенным Штатам; на протяжении 2850 миль система обеспечивала рулевое управление автомобилем в течение 98% времени. Человек брал на себя управление лишь в течение остальных 2%, главным образом на выездных пандусах. Компьютер NavLab был оборудован видеокамерами, которые передавали изображения дороги в систему Alvinn, а затем эта система вычисляла наилучшее направление движения, основываясь на опыте, полученном в предыдущих учебных пробегах. Диагностика. Медицинские диагностические программы, основанные на вероятностном анализе, сумели достичь уровня опытного врача в нескольких областях медицины. Хекерман описал случай, когда ведущий специалист в области патологии лимфатических узлов не согласился с диагнозом программы в особо сложном случае. Создатели программы предложили, чтобы этот врач запросил у компьютера пояснения по поводу данного диагноза. Машина указала основные факторы, повлиявшие на ее решение, и объяснила нюансы взаимодействия нескольких симптомов, наблюдавшихся в данном случае. В конечном итоге эксперт согласился с решением программы. Планирование снабжения. Во время кризиса в Персидском заливе в 1991 году в армии США была развернута система DART (Dynamic Analysis and Replanning) для обеспечения автоматизированного планирования поставок и составления графиков перевозок. Работа этой системы охватывала одновременно до 50 000 автомобилей, единиц груза и людей; в ней приходилось учитывать пункты отправления и назначения, маршруты, а также устранять конфликты между всеми параметрами. Методы планирования на основе искусственного интеллекта позволяли вырабатывать в течение считанных часов такие планы, для составления которых старыми методами потребовались бы недели. Представители агентства DARPA (Defense Advanced Research Project Agency — Управление перспективных исследовательских программ) заявили, что одно лишь это приложение сторицей окупило тридцатилетние инвестиции в искусственный интеллект, сделанные этим агентством. Робототехника. Многие хирурги теперь используют роботов-ассистентов в микрохирургии. Например, HipNav — это система, в которой используются методы компьютерного зрения для создания трехмерной модели анатомии внутренних органов пациента, а затем применяется робототехническое управление для руководства процессом вставки протеза, заменяющего тазобедренный сустав. Понимание естественного языка и решение задач. Программа Proverb — это компьютерная программа, которая решает кроссворды намного лучше, чем большинство людей; в ней используются ограничения, определяющие состав возможных заполнителей слов, большая база с данными о встречавшихся ранее кроссвордах, а также множество различных источников информации, включая словари и оперативные базы данных, таких как списки кинофильмов и актеров, которые играли в этих фильмах. Например, эта программа способна определить, что одним из решений, подходящих для ключа «Nice Story», является слово «ETAGE», поскольку ее база данных содержит пару ключ — решение «Story in France/ETAGE», а сама программа распознает, что шаблоны «Nice X» и «X in France» часто имеют одно и то же решение. Программа не знает, что Nice (Ницца) — город во Франции, но способна разгадать эту головоломку. Выше приведено лишь несколько примеров систем искусственного интеллекта, которые существуют в настоящее время. Искусственный интеллект — это не магия и не научная фантастика, а сплав методов науки, техники и математики. 4. Интеллектуальные информационные системы: определение и области применения. Интеллектуальные информационные системы (ИИС) применяются для решения сложных задач, где логическая (смысловая) обработка информации превалирует над вычислительной. ИИС – система, которая способна принимать решения в условиях: 1. Необходимости обработать и проанализировать большой объем информации. 2. Ограниченности информации. 3. Неопределенности 4. Многомерного пространства. 5. Необходимости распознать ситуацию. 6. Необходимости различия стадии жизненного цикла процессов. 7. Динамически изменяющихся факторов, влияющих на решение задач. Все ИИС можно разбить на 2 класса: Системы общего назначения – те, которые не только используют заданные процедуры, но и на основе мета-процедур поиска создают и используют процедуры решения новых задач. Технология использования таких систем состоит в следующем: Эксперт формирует знания, описывая некоторые предметы, затем система использует эти знания для решения текущих задач, а так же пытается на их основе получить нестандартные решения для стандартных ситуаций. Специализированные системы – выполняют решение фиксированного набора задач, который был определен при проектировании. Интеллектуальная информационная система (ИИС, англ. intelligent system) — разновидность интеллектуальной системы, один из видов информационных систем, иногда ИИС называют системой, основанных на знаниях. ИИС представляет собой комплекс программных, лингвистических и логико-математических средств для реализации основной задачи: осуществление поддержки деятельности человека, например возможность поиска информации в режиме продвинутого диалога на естественном языке. (экспертные системы; вопросно-ответные системы – виртуальные собеседники, цифровые помощники). Области применения систем, основанных на знаниях, могут быть сгруппированы в несколько основных классов: медицинская диагностика, контроль и управление, диагностика неисправностей в механических и электрических устройствах, обучение. а) Медицинская диагностика. Диагностические системы используются для установления связи между нарушениями деятельности организма и их возможными причинами. Наиболее известна диагностическая система MYCIN, которая предназначена для диагностики и наблюдения за состоянием больного при менингите и бактериальных инфекциях. Ее первая версия была разработана в Стенфордском университете в середине 70-х годов. В настоящее время эта система ставит диагноз на уровне врача-специалиста. Она имеет расширенную базу знаний, благодаря чему может применяться и в других областях медицины. б) Прогнозирование. Прогнозирующие системы предсказывают возможные результаты или события на основе данных о текущем состоянии объекта. Программная система "Завоевание Уолл-стрита" может проанализировать конъюнктуру рынка и с помощью статистических методов алгоритмов разработать для вас план капиталовложений на перспективу. Она не относится к числу систем, основанных на знаниях, поскольку использует процедуры и алгоритмы традиционного программирования. Хотя пока еще отсутствуют ЭС, которые способны за счет своей информации о конъюнктуре рынка помочь вам увеличить капитал, прогнозирующие системы уже сегодня могут предсказывать погоду, урожайность и поток пассажиров. Даже на персональном компьютере, установив простую систему, основанную на знаниях, вы можете получить местный прогноз погоды. в) Планирование. Планирующие системы предназначены для достижения конкретных целей при решении задач с большим числом переменных. Дамасская фирма Informat впервые в торговой практике предоставляет в распоряжении покупателей 13 рабочих станций, установленных в холле своего офиса, на которых проводятся бесплатные 15-минутные консультации с целью помочь покупателям выбрать компьютер, в наибольшей степени отвечающий их потребностям и бюджету. Кроме того, компания Boeing применяет ЭС для проектирования космических станций, а также для выявления причин отказов самолетных двигателей и ремонта вертолетов. Экспертная система XCON, созданная фирмой DEC, служит для определения или изменения конфигурации компьютерных систем типа VAX и в соответствии с требованиями покупателя. Фирма DEC разрабатывает более мощную систему XSEL, включающую базу знаний системы XCON, с целью оказания помощи покупателям при выборе вычислительных систем с нужной конфигурацией. В отличие от XCON система XSEL является интерактивной. г) Интерпретация. Интерпретирующие системы обладают способностью получать определенные заключения на основе результатов наблюдения. Система PROSPECTOR, одна из наиболее известных систем интерпретирующего типа, объединяет знания девяти экспертов. Используя сочетания девяти методов экспертизы, системе удалось обнаружить залежи руды стоимостью в миллион долларов, причем наличие этих залежей не предполагал ни один из девяти экспертов. Другая интерпретирующая система- HASP/SIAP. Она определяет местоположение и типы судов в тихом океане по данным акустических систем слежения. д) Контроль и управление. Системы, основанные на знаниях, могут применятся в качестве интеллектуальных систем контроля и принимать решения, анализируя данные, поступающие от нескольких источников. Такие системы уже работают на атомных электростанциях, управляют воздушным движением и осуществляют медицинский контроль. Они могут быть также полезны при регулировании финансовой деятельности предприятия и оказывать помощь при выработке решений в критических ситуациях. е) Диагностика неисправностей в механических и электрических устройствах. В этой сфере системы, основанные на знаниях, незаменимы как при ремонте механических и электрических машин (автомобилей, дизельных локомотивов и т.д.), так и при устранении неисправностей и ошибок в аппаратном и программном обеспечении компьютеров. ж) Обучение. Системы, основанные на знаниях, могут входить составной частью в компьютерные системы обучения. Система получает информацию о деятельности некоторого объекта (например, студента) и анализирует его поведение. База знаний изменяется в соответствии с поведением объекта. Примером этого обучения может служить компьютерная игра, сложность которой увеличивается по мере возрастания степени квалификации играющего. Одной из наиболее интересных обучающих ЭС является разработанная Д.Ленатом система EURISCO, которая использует простые эвристики. Эта система была опробована в игре Т.Тревевеллера, имитирующая боевые действия. Суть игры состоит в том, чтобы определить состав флотилии, способной нанести поражение в условиях неизменяемого множества правил. Система EURISCO включила в состав флотилии небольшие, способные провести быструю атаку корабли и одно очень маленькое скоростное судно и постоянно выигрывала в течение трех лет, несмотря на то, что в стремлении воспрепятствовать этому правила игры меняли каждый год. Большинство ЭС включают знания, по содержанию которых их можно отнести одновременно к нескольким типам. Например, обучающая система может также обладать знаниями, позволяющими выполнять диагностику и планирование. Она определяет способности обучаемого по основным направлениям курса, а затем с учетом полученных данных составляет учебный план. Управляющая система может применяться для целей контроля, диагностики, прогнозирования и планирования. Система, обеспечивающая сохранность жилища, может следить за окружающей обстановкой, распознавать происходящие события (например, открылось окно), выдавать прогноз (вор-взломщик намеревается проникнуть в дом) и составлять план действий (вызвать полицию). 5. Инженерия знаний. Типы решаемых задач. Инженерия знаний (англ. knowledge engineering) — область наук об искусственном интеллекте, связанная с разработкой экспертных систем и баз знаний. Изучает методы и средства извлечения, представления, структурирования и использования знаний. В настоящее время это также предполагает создание и обслуживание подобных систем (Кендэл, 2007). Это также тесно соприкасается с разработкой программного обеспечения и используется во многих информационных исследованиях, например таких, как исследования искусственного интеллекта, включая базы данных, сбор данных, экспертные системы, систем поддержки принятия решений и географические информационные системы. ИЗ связана с математической логикой, также используемой в разных научных дисциплинах, например в социологии где «подопытными» являются люди, а цели исследований — понимание, как работает человеческая логика на примере взаимоотношений в обществе. 6. Представление данных и знаний. Информация, с которой имеют дело ЭВМ, разделяется на процедурную и декларативную. Процедурная информация овеществлена в программах, которые выполняются в процессе решения задач, декларативная информация - в данных, с которыми эти программы работают. Стандартной формой представления информации в ЭВМ является машинное слово, состоящее из определенного для данного типа ЭВМ числа двоичных разрядов - битов. Машинное слово для представления данных и машинное слово для представления команд, образующих программу, могут иметь одинаковое или разное число разрядов. В последнее время для представления данных и команд используются одинаковые по числу разрядов машинные слова. Однако в ряде случаев машинные слова разбиваются на группы по восемь двоичных разрядов, которые называются байтами. Одинаковое число разрядов в машинных словах для команд и данных позволяет рассматривать их в ЭВМ в качестве одинаковых информационных единиц и выполнять операции над командами, как над данными. Содержимое памяти образует информационную базу. В большинстве существующих ЭВМ возможно извлечение информации из любого подмножества разрядов машинного слова вплоть до одного бита. Во многих ЭВМ можно соединять два или более машинного слова в слово с большей длиной. Однако машинное слово является основной характеристикой информационной базы, т.к. его длина такова, что каждое машинное слово хранится в одной стандартной ячейке памяти, снабженной индивидуальным именем - адресом ячейки. По этому имени происходит извлечение информационных единиц из памяти ЭВМ и записи их в нее. Параллельно с развитием структуры ЭВМ происходило развитие информационных структур для представления данных. Появились способы описания данных в виде векторов и матриц, возникли списочные структуры, иерархические структуры. В настоящее время в языках программирования высокого уровня используются абстрактные типы данных, структура которых задается программистом. Появление баз данных (БД) знаменовало собой еще один шаг на пути организации работы с декларативной информацией. В базах данных могут одновременно храниться большие объемы информации, а специальные средства, образующие систему управления базами данных (СУБД), позволяют эффективно манипулировать с данными, при необходимости извлекать их из базы данных и записывать их в нужном порядке в базу. По мере развития исследований в области ИС возникла концепция знаний, которые объединили в себе многие черты процедурной и декларативной информации. В ЭВМ знания так же, как и данные, отображаются в знаковой форме - в виде формул, текста, файлов, информационных массивов и т.п. Поэтому можно сказать, что знания - это особым образом организованные данные. Но это было бы слишком узкое понимание. А между тем, в системах ИИ знания являются основным объектом формирования, обработки и исследования. База знаний, наравне с базой данных, - необходимая составляющая программного комплекса ИИ. Машины, реализующие алгоритмы ИИ, называются машинами, основанными на знаниях, а подраздел теории ИИ, связанный с построением экспертных систем, - инженерией знаний. 7. Данные. В информатике Данные — это результат фиксации, отображения информации на каком-либо материальном носителе, то есть зарегистрированное на носителе представление сведений независимо от того, дошли ли эти сведения до какого-нибудь приёмника и интересуют ли они его. Данные — это и текст книги или письма, и картина художника, и ДНК. Данные, являющиеся результатом фиксации некоторой информации, сами могут выступать как источник информации. Информация, извлекаемая из данных, может подвергаться обработке, и результаты обработки фиксируются в виде новых данных. Данные могут рассматриваться как записанные наблюдения, которые не используются, а пока хранятся. 8. Знания. Знание — в теории искусственного интеллекта и экспертных систем — совокупность информации и правил вывода (у индивидуума, общества или системы ИИ) о мире, свойствах объектов, закономерностях процессов и явлений, а также правилах использования их для принятия решений. Главное отличие знаний от данных состоит в их структурности и активности, появление в базе новых фактов или установление новых связей может стать источником изменений в принятии решений. Параллельно с развитием структуры компьютеров происходит развитие информационных структур для представления данных. Знания имеют более сложную структуру чем данные. Знания З1. Знания находятся в человеческой памяти. З2. Знания материализованные. З3. Совокупность З1 и З2. З4. Знания на языке представления знаний. З5. Базы знаний. Данные Д1. Результат наблюдения над объектами или данными в памяти человека. Д2. Фиксация данных на материальном носителе. Д3. Модель данных. Д4. Данные на языке описания данных. Д5. БД. Обычно рассматривают 1,3,5. Знания задаются двумя способами: Экстенсионально – через набор конкретных фактов, касающихся данной предметной области. Интенсионально – через свойства данной предметной области и систему связи между атрибутами. Свойства знаний: 1. Внутренняя интерпретируемость знаний – каждая информационная единица (и.е.) должна иметь уникальное имя, по которому ИИС будет находить ее и отвечать на запросы, в которых упомянуто ее имя. 2. Структурируемость – и.е. должна обладать гибкой структурой, т.е. для них должен выполнятся «принцип матрешки» каждая и.е. может быть включена а состав другой и.е. и наоборот. 3. Связность – в информационной базе между и.е. должна быть предусмотренная возможность восстановления различных взаимосвязей. При этом различают следующие связи (отношения): a. связи структуризации – задается иерархия в и.е.; b. функциональные отношения – описывают информацию о функциях; c. казуальные отношения – используются для задания причинно-следственной связи; d. семантические связи – все остальное. 4. Семантическая метрика – позволяет задать отношения, которые характеризуют ситуационную близость между и.е., другими словами определяет ассоциативную связь. 5. Активность знаний – с момента появления компьютеров используемые в них и.е. разделены на данные и команды. Данные пассивны, а команды – активны. Классификация знаний Поверхностные – совокупность эмпирических ассоциаций и причинно-следственных отношений между понятиями предметной области. Глубинные – абстракции, образы, аналогии в которых отражается понимание структуры предметной области, назначение и взаимосвязь отдельных понятий. Жесткие знания позволяют получать однозначные четкие рекомендации при заданных начальных условиях. Мягкие знания допускают множественные, «размытые» решения и различные варианты рекомендаций. 9. Информационно-поисковые системы: процесс поиска текстовой информации. Лексический, морфологический, синтаксический и семантический анализ. ИПС (информационно-поисковая система) - это система, обеспечивающая поиск и отбор необходимых данных в специальной базе с описаниями источников информации (индексе) на основе информационно-поискового языка и соответствующих правил поиска. Главной задачей любой ИПС является поиск информации релевантной информационным потребностям пользователя. Очень важно в результате проведенного поиска ничего не потерять, то есть найти все документы, относящиеся к запросу, и не найти ничего лишнего. Поэтому вводится качественная характеристика процедуры поиска - релевантность. 10. Экспертные системы. Краткая характеристика. Общие задачи. Экспертная система (ЭС, expert system) — компьютерная программа, способная частично заменить специалиста-эксперта в разрешении проблемной ситуации. Современные ЭС начали разрабатываться исследователями искусственного интеллекта в 1970-х годах, а в 1980-х получили коммерческое подкрепление. Предтечи экспертных систем были предложены в 1832 году С. Н. Корсаковым, создавшим механические устройства, так называемые «интеллектуальные машины», позволявшие находить решения по заданным условиям, например определять наиболее подходящие лекарства по наблюдаемым у пациента симптомам заболевания. В информатике экспертные системы рассматриваются совместно с базами знаний как модели поведения экспертов в определенной области знаний с использованием процедур логического вывода и принятия решений, а базы знаний — как совокупность фактов и правил логического вывода в выбранной предметной области деятельности. Похожие действия выполняет такой программный инструмент как Мастер (Wizard). Мастера применяются как в системных программах так и в прикладных для упрощения интерактивного общения с пользователем (например, при установке ПО). Главное отличие мастеров от ЭС — отсутствие базы знаний — все действия жестко запрограммированы. Это просто набор форм для заполнения пользователем. Другие подобные программы — поисковые или справочные (энциклопедические) системы. По запросу пользователя они предоставляют наиболее подходящие (релевантные) разделы базы статей (представления об объектах областей знаний, их виртуальную модель). 11. Архитектура типовой экспертной системы. 12. Выбор задачи экспертной системы. Исследовательский цикл разработки. Экспертные системы привлекают значительные денежные средства и человеческие усилия, поэтому попытки решить слишком сложную, малопонятную или не соответствующую имеющейся технологии проблему могут привести к дорогостоящим неудачам и потерям средств. Выработаны критерии оправданности решения данной задачи с помощью экспертной системы: 1. Необходимость решения оправдывает стоимость и усилия по разработке экспертной системы. Например для сохранения человеческой жизни. 2. Отсутствие человеческого опыта в ситуациях, где он необходим. Например в геологии, где присутствует задача удалённой экспертизы минирования и бурения. 3. Проблема может быть решена с использованием символьных рассуждений. Задача не требует физической ловкости, владения конкретными навыками ? современные системы зрения и движения не обладают уровнем человека. 4. Проблемная область является хорошо структурированной и не требует рассуждений на основе здравого смысла. 5. Проблема не может быть решена традиционными вычислительными методами. 6. Известны эксперты, способные взаимодействовать между собой и четко выражать свои мысли. Знания, используемые экспертными системами формируются из опыта и суждений людей, работающих в данной области. 7. Проблема имеет приемлемые размеры и границы. Например, программа, пытающаяся вполотить весь опыт эксперта нереальна. 13. Концептуальная модель. Концептуальная модель (англ. conceptual model) — это определённое множество понятий и связей между ними, являющихся смысловой структурой рассматриваемой предметной области. Концептуальная модель — модель предметной области, состоящей из перечня взаимосвязанных понятий, используемых для описания этой области, вместе со свойствами и характеристиками, классификацией этих понятий, по типам, ситуациям, признакам в данной области и законов протекания процессов в ней. (Толковый словарь по искусственному интеллекту) Концептуальная (содержательная) модель — это абстрактная модель, определяющая структуру моделируемой системы, свойства её элементов и причинно-следственные связи, присущие системе и существенные для достижения цели моделирования. 14. Поиск на основе данных и цели. Графы. Поиск в пространстве состояния можно вести в двух направлениях: от исходных данных задачи к цели и в обратном направлении – от цели к исходным данным. При поиске на основе данных, который иногда называют «прямой цепочкой», исследователь начинает процесс решения задачи, анализируя её условие, а затем применяет допустимые ходы или правила изменения состояния. В процессе поиска правила изменения состояния. В процессе поиска правила применяются к известным фактам для получения новых фактов, которые, в свою очередь, используются для генерации новых фактов. Этот процесс продолжается до тех пор, пока мы, если повезёт, не достигнем цели. Возможен и альтернативный подход. Рассмотрим цель, которую мы хотим достичь. Проанализируем правила или допустимые ходы, ведущие к цели, и определим условия их применения. Эти условия становятся новыми целями, или подцелями, поиска. Поиск продолжается в обратном направлении от достигнутых подцелей до тех пор, пока (если повезет) мы не достигнем исходных данных. Таким образом определяется путь от данных к цели, который на самом деле строится в обратном направлении. Этот подход называется поиском от цели или «обратной цепочкой». Он напоминает простой детский трюк, заключающийся в поиске выхода из лабиринта из конечного искомого состояния к заданному начальному. Подведём итоги: поиск на основе данных начинается с условий задачи и выполняется путём применения правили или допустимых ходов для получения новых фактов, ведущих к цели. Поиск от цели начинается с обращения к цели и продолжается путем определения правил, которые могут привести к цели, и построения цепочки моделей, ведущей к исходным данным задачи. Граф — это множество вершин и дуг между ними. В размеченном графе для каждой вершины задается один или несколько дескрипторов (меток), которые позволяют отличить одну вершину графа от другой. На графе пространства состояний эти дескрипторы идентифицируют состояния в процессе решения задачи. Если дескрипторы двух вершин не различаются, то эти вершины считаются одинаковыми. Дуга между двумя вершинами определяется метками этих вершин. Дуги графа также могут быть размеченными. Метка дуги используется для задания именованного отношения (как в семантических сетях) либо веса дуги (как в задаче о коммивояжере). Дуги между двумя вершинами тоже можно различать с помощью меток. Граф называется ориентированным, если каждой дуге приписано определенное направление. Дуги в ориентированном графе обычно содержат стрелки, определяющие ориентацию дуги. Дуги, которые можно проходить в любом из двух направлений, могут содержать две стрелки-указателя, но чаще вовсе не имеют стрелок. Путь (path) на графе — это последовательность дуг, соединяющих соседние вершины. Путь представляется списком дуг, систематизированным в порядке их следования. Корневой граф содержит единственную вершину, от которой существует путь к любой вершине графа. Эта вершина называется корнем (root). При изображении корневого графа корень обычно помещают в верхней части рисунка над всеми остальными вершинами. Граф пространства состояний любой игры обычно является корневым графом, причем в качестве корня выступает начальное состояние игры. Дерево (tree) — это граф, на котором для любых двух вершин существует не более одного пути между ними. Деревья обычно имеют корни, которые изображаются в верхней части рисунка, как и для корневых графов. Поскольку для каждой вершины дерева существует не более одного пути в эту вершину из любой другой вершины, то не существует путей, содержащих петли или циклы. Для корневых деревьев или графов отношения между вершинами описываются понятиями родителя, потомка и вершин-братьев (siblings) — вершин дерева, имеющих общую вершинуродителя. Они используются в обычном смысле наследования: при проходе вдоль направленной дуги родитель предшествует потомку. Концы всех направленных дуг, исходящих из одной вершины, называются вершинами-братьями. 15. Экспертные системы, основанные на правилах (диагностика автомобиля) (на основе цели). Архитектура экспертной системы, основанной на правилах, может быть рассмотрена в терминах модели продукционной системы решения задач, представленной в части П. Между ними есть большое сходство: продукционная система считается интеллектуальным предшественником архитектуры современных экспертных систем, в которой продукционные правша позволяют лучше понять конкретную ситуацию. Когда Ньюэлл и Саймон разрабатывали продукционную систему, их целью было моделирование деятельности человека при решении задач. Если экспертную систему на рис. 7.1 рассматривать как продукционную, то базу знаний о предметной области можно считать набором продукционных правил. В системе, основанной на правилах, пары "условие-действие" представляются правилами "если..., то... " в которых посылка (часть если) соответствует условию, а заключение (часть то) — действию. Если условие удовлетворяется, экспертная система осуществляет действие, означающее истинность заключения. Данные частных случаев можно хранить в рабочей памяти. Механизм вывода осуществляет цикл продукционной системы "распознавание-действие". При этом управление может осуществляться либо на основе данных, либо на основе цели. Многие предметные области больше соответствуют прямому поиску. Например, в проблеме интерпретации большая часть информации представляет собой исходные данные, при этом часто трудно сформулировать гипотезы или цель. Это приводит к прямому процессу рассуждения, при котором факты помещаются в рабочую память, и система ищет для них интерпретацию. В экспертной системе на основе цели в рабочую память помещается целевое выражение. Система сопоставляет заключения правил с целевым выражением и помешает их предпосылки в рабочую память. Это соответствует декомпозиции проблемы на более простые подцели. На следующей итерации работы продукционной системы процесс продолжается, эти предпосылки становятся новыми подцелями, которые сопоставляются с заключениями правил. Система работает до тех пор, пока все подцели в рабочей памяти не станут истинными, подтверждая гипотезу. Таким образом, обратный поиск в экспертной системе приближенно соответствует процессу проверки гипотез при решении проблем человеком. В экспертной системе, чтобы достичь подцели, следует запросить информацию у пользователя. В некоторых экспертных системах разработчики определяют, какие подцели могут достигаться путем запроса к пользователю. Другие системы обращаются к пользователю, если не могут вывести истинность подцели на основе правил из базы знаний. В качестве примера решения задач на основе цели с запросами к пользователю рассмотрим небольшую экспертную систему диагностики автомобиля. Это не полная система диагностики, так как она содержит всего четыре очень простых правила. Она приводится как пример, демонстрирующий образование цепочек правил, интеграцию новых данных и использование возможностей объяснения. Правило 1: если топливо поступает в двигатель и двигатель вращается, то проблема в свечах зажигания. Правило 2: если двигатель не вращается и фары не горят, то проблема в аккумуляторе или проводке. Правило 3: если двигатель не вращается и фары горят, то проблема в стартере. Правило 4: если в баке есть топливо и топливо поступает в карбюратор, то топливо поступает в двигатель. Для работы с этой базой знаний цель верхнего уровня проблема в X помещается в рабочую память, как показано на рис. 7.5. Здесь X — переменная, которая может сопоставляться с любой фразой, например, проблема в аккумуляторе или проводке. В процессе решения задачи она будет связана с некоторым значением. С выражением в рабочей памяти сопоставляются три правила: правило 1, правило 2 и правило 3. Если мы разрешаем конфликты, предпочитая правила с наименьшим номером, будет активизироваться правило 1. При этом X связывается со значением свечи зажигания, и предпосылки правила 1 помещаются в рабочую память (рис. 7.6). Таким образом, система выбирает для исследования гипотезу о неисправности свечей зажигания. Это можно рассматривать как выбор системой ветви ИЛИ на графе И/ИЛИ (глава 3). Отметим, что для истинности заключения правила 1 должны быть удовлетворены две предпосылки, Они являются ветвями И графа поиска, представляющего декомпозицию задачи (действительно ли проблема в свечах зажигания) на две подзадачи (топливо поступает в двигатель и двигатель вращается). Затем можно активизировать правило 4, заключение которого сопоставляется с целевым утверждением топливо поступает в двигатель, и его предпосылки помещаются в рабочую память (рис. 7.7). Теперь в рабочей памяти существуют три элемента, которые не соответствуют ни одному из заключений в наборе правил. В подобной ситуации экспертная система будет запрашивать пользователя. Если пользователь подтвердит истинность всех трех подцелей, экспертная система успешно определит, что автомобиль не заводится из-за неисправности свечей зажигания. При поиске этого решения система исследовала крайнюю слева ветвь графа И/ИЛИ, показанного на рис. 7.8. Конечно, это очень простой пример. И не только потому, что база знаний об автомобиле ограничена, а также потому, что в этом примере не учитывается ряд важных аспектов реализации. Правила описаны на русском, а не на формальном языке. При обнаружении решения реальная экспертная система сообщит пользователю свой диагноз (наша модель просто останавливается). Необходимо также поддерживать достаточно длинную историю рассуждений, чтобы в случае необходимости возвратиться назад. Если вывод о неисправности свечей зажигания окажется неудачным, нужно иметь возможность возвратиться на второй уровень и проверить правило 2. Заметим, что информация по упорядочению подцелей в рабочей памяти на рис. 7.7 и на графе, представленном на рис. 7.8, явно не выражена. Однако, несмотря на простоту, этот пример подчеркивает важность поиска на основе продукционной системы и его представления графом И/ИЛИ в экспертных системах, основанных на правилах. Ранее мы подчеркивали, что экспертная система должна быть открытой для инспектирования, легко модифицируемой и эвристической по природе. Архитектура продукционной системы является важным фактором для каждого из этих требований. Легкость модификации, например, определяется синтаксической независимостью продукционных правил: каждое правило является "глыбой" знаний, которая может модифицироваться независимо. Однако существуют семантические ограничения, поскольку индивидуальные правила связаны но смыслу. Значит, они должны быть согласованы в любом процессе редактирования или модификации. Ниже мы обсудим генерацию объяснений и управление выводом. 16. Объяснения и прозрачность при поиске на основе цели. Рисунки 7.5-7.8 в начале предыдущего вопроса. Продукционная система осуществляет поиск на графе. Программы подсистемы объяснений на отслеживают процесс поиска на графе и используют эту информацию, чтобы отвечать на вопросы пользователя. С помощью продукционных правил каждый шаг процесса рассуждений документируется автоматически. Обычно экспертные системы, основанные на правилах, отвечают на дна вопроса — "почему?" и "как?". Вопрос "почему?" возникает, когда программа запрашивает информацию у пользователя, и его ответ означает "почему вы запрашиваете эту информацию?". Ответом является текущее правило, которое система пытается активизировать. Ответом на вопрос "как вы получили этот результат?" является последовательность правил, использованных для достижения цели, Предположим, автомобильная экспертная система имеет средства объяснения, и в процессе работы достигла стадии, представленной конфигурацией рабочей памяти на рис. 7.7. Приведенный ниже диалог начинается с вопроса компьютера к пользователю о целях, представленных в рабочей памяти. Ответы пользователя выделены жирным шрифтом. в баке есть топливо? да топливо поступает в карбюратор да двигатель вращается? почему Здесь пользователь задаст вопрос: "Почему вы хотите знать, вращается ли двигатель?". Система отвечает с помощью символьною представления правила, к которому относится вопрос. Выло установлено, что: 1. топливо поступает в двигатель, поэтому если 2. двигатель вращается, то проблема в свечах зажигания. Поскольку пользователь на первые два вопроса ответил "да", это дало возможность активизировать правило 1 и проверить его первую предпосылку. Отметим, что объяснением поведения системы является только вывод правила, которое находится в рассмотрении на данный момент. Однако это обеспечивает адекватное объяснение причин, почему программа хочет знать, вращается ли двигатель. В ответ на вопрос "почему" система отмечает, что, по ее данным, топливо поступает в двигатель. Предположим, пользователь далее спрашивает: как топливо поступает м двигатель? Ответом является последовательность рассуждений, приведшая к этому заключению. Она восстанавливается обратным проходом от цели вдоль соответствующих правил до информации, введенной пользователем. Из правила 4 следует: если в баке есть топливо и топливо поступает о карбюратор, то топливо поступает в двигатель. в баке есть топливо - указано пользователем топливо поступает в карбюратор - указано пользователем Таким образом, архитектура продукционной системы обеспечивает основу для этих объяснений. В каждом цикле управления выбирается и активизируется новое правило. После каждого цикла программа может быть остановлена и проинспектирована. Поскольку каждое правило представляет "глыбу" знаний по решению проблемы, текущее правило обеспечивает контекст для объяснения. Этим продукционный подход отличается от более традиционных архитектур: если программу на С или С++ остановить во время исполнения, то вряд ли текущее выражение будет иметь много смысла. Итак, система, основанная на знаниях, отвечает на вопросы "почему?", отображая текущее правило, которое она пытается активизировать. В ответ на вопросы "как?" она предоставляет последовательность рассуждений, которая привела к цели. Хотя эти механизмы являются концептуально простыми, они обладают хорошими возможностями объяснений, если база знаний организована логически грамотно. 17. Экспертные системы, основанные на данных. Продукционная система является идеальной архитектурой для рассуждений на основе данных. В рассуждениях на основе данных чаше применяется поиск в ширину. Алгоритм очень прост: содержимое рабочей памяти сравнивается с предпосылками каждого правила в упорядоченной базе правил. Если данные в рабочей памяти приводят к активизации правила, результат помещается в рабочую память, и управление передается следующему правилу. После рассмотрения всех правил поиск повторяется сначала. Рассмотрим, например, задачу автомобильной диагностики на основе правил: Правило 1: если топливо поступает в двигатель и двигатель вращается, то проблема в свечах зажигания. Правило 2: если двигатель не вращается и фары не горят, то проблема в аккумуляторе или проводке. Правило 3: если двигатель не вращается и фары горят, то проблема в стартере. Правило 4: если в баке есть топливо и топливо поступает в карбюратор, то топливо поступает в двигатель. Если предпосылка правила не выводится из других правил, то недостающая информация запрашивается при необходимости. Например, предпосылка правила 1 топливо поступает в двигатель не является запрашиваемой, так как этот факт является заключением другого правила, а именно — правила 4. Поиск в ширину на основе данных начинается из состояния, показанного на рис. 7.9. Оно очень напоминает состояние, изображенное на рис. 7.5. (см вопрос 15) Отличие состоит лишь в отсутствии информации в рабочей памяти. Предпосылки четырех правил проверяются на предмет "запрашиваемой" информации. Предпосылка топливо поступает в двигатель не является запрашиваемой, поэтому правило 1 применить нельзя, и управление переходит к правилу 2. Информация двигатель не вращается является запрашиваемой. Предположим, ответом на этот вопрос будет ложь, тогда в рабочую память заносится фраза двигатель вращается, как показано на рис. 7.10. Но правило 2 применить нельзя, поскольку первая из двух конъюнктивных предпосылок является ложной. Управление переходит к правилу 3, в котором первая посылка снова принимает значение "ложь". В правиле 4 обе предпосылки являются запрашиваемыми. Предположим, ответом на оба вопроса будет "истина", тогда предложения в баке есть топливо и топливо поступает в карбюратор помещаются в рабочую память. Туда же заносится и заключение правила — топливо поступает в двигатель. Итак, по первому разу все правила рассмотрены, и начинается повторное рассмотрение правил с учетом нового содержания рабочей памяти. Как показано на рис. 7.11, при сопоставлении правила 1 с данными в рабочей памяти его заключение — проблема в свечах зажигания — помещается в рабочую память. Больше никаких правил применить нельзя, и сеанс решения задачи завершается. На рис. 7.12 показан граф поиска, узлы которого содержат информацию, находящуюся в рабочей памяти (РП). Важной модификацией используемой в предыдущем примере стратегии поиска в ширину является так называемый оппортунистический поиск. Это простая стратегия поиска: всякий раз при активизации правила для вывода новой информации управление переходит к правилу, содержащему эту новую информацию в качестве предпосылки. Следовательно, любая вновь выведенная информация (состояние графа поиска в результате обработки "запрашиваемых" предпосылок не изменяется) является движущей силой для определения активизируемых в дальнейшем правил. Из-за случайного порядка следования правил представленный пример, сам по себе очень простой, также оказался оппортунистическим. В завершение раздела, посвященного рассуждениям на основе данных, затронем вопросы объяснений и прозрачности в системах прямого поиска. Во-первых, по сравнению с системами, основанными на цели (вопросы 15, 16), рассуждения на основе данных выполняются менее целенаправленно. Причина этого очевидна — в системе, основанной на цели, рассуждение направлено на решение конкретной задачи, которая разбивается на более мелкие, и эти подзадачи, в свою очередь, могут дробиться дальше. В результате поиск всегда направлен по иерархии, ведущей от этой цели к ее составляющим, В системах на основе данных ориентация на цель отсутствует. Поиск выполняется по дереву, зависящему лишь от порядка следования правил и появления новой информации. В итоге процесс поиска часто кажется "расплывчатым" и несфокусированным. Во-вторых, и это является прямым результатом только что сказанного, пояснения, выдаваемые пользователю в процессе поиска, весьма ограничены. В системах на основе правил в ответ на вопрос "почему?'' пользователю представляется рассматриваемое правило. Однако, если последовательность правил точно не отслеживается (например, с помощью оппортунистического поиска), это объяснение нельзя развить. "Расплывчатость" поиска на основе данных затрудняет подобные объяснения. И, наконец, при достижении цели системе трудно дать исчерпывающее объяснение в ответ на вопрос "как?". В качестве частичного или полного объяснения можно лишь использовать содержимое рабочей памяти или список активизированных правил. Но опять-таки эти пояснения не дают полного согласованного обоснования, которое мы наблюдали в рассуждениях на основе цели. 18. Поиск в глубину и ширину. При поиске в глубину после исследования состояния сначала необходимо оценить все его потомки и их потомки, а затем исследовать любую из вершин братьев. Поиск в глубину по возможности углубляется в область поиска. Если дальнейшие потомки состояния не найдены, рассматриваются вершины-братья. Поиск в ширину, напротив, исследует пространство состояний по уровням, один за другим. И только если состояний на данном уровне больше нет, алгоритм переходит к следующему уровню. В отличие от поиска в ширину, поиск в глубину не гарантирует нахождение оптимального пути к состоянию, если оно встретилось впервые. Позже в процессе поиска могут быть найдены различные пути к любому состоянию. Если длина пути имеет значение в решении задачи, то в случае нахождения алгоритмом некоторого состояния повторно необходимо сохранить именно тот путь, который оказался короче. Поиск в ширину всегда находит самый короткий путь к целевой вершине. Если в задаче существует простое решение, это решение будет найдено. К сожалению, при большом коэффициенте ветвления, если состояния имеют высокое среднее число потомков, комбинаторный взрыв может помешать алгоритму найти решения. Поиск в глубину эффективен для областей поиска с высокой степенью связности, потому что ему не нужно помнить все узлы данного уровня. В степень использованья пространства состояний в случае поиска в глубину – это линейная функция длины пути. На каждом уровне сохраняются только дочерние вершины единственного пути. Так что же лучше: поиск в глубину или поиск в ширину? На этот вопрос можно ответить так. Необходимо исследовать пространство состояний и проконсультироваться с экспертами в данной области. В шахматах, например, поиск в ширину просто невозможен. В более простых играх поиск в ширину не только возможен, но даже может оказаться единственным способом избежать проигрышей или потерь в игре. 19. Рассуждения на основе моделей. Рассуждение на основе модели наиболее удобно, например, в диагностике неисправностей приборов, когда составляется модель прибора и на основе её делаются выводы. Качественные рассуждения на основе моделей включают следующие аспекты: 1. Описание каждого компонента прибора, позволяющее моделировать их поведение. 2. Описание внутренней структуры прибора. Оно обычно содержит представление компонентов и их взаимосвязей наряд с возможностью моделировать их взаимодействие. Требуемая степень знаний внутренней структуры зависит от применяемого уровня абстракции и ожидаемого диагноза. 3. Диагностика частной проблемы. Это требует наблюдений реального поведения прибора, обычно – измерения его входов и выходов. Входные и выходные измерения получить легче всего. 20. Рассуждения на основе опыта. В рассуждениях на основе опыта для решения новых проблем используется детальная база данных, содержащая известные решения задач. Эти решения могут быть собраны экспертами в области знаний или могут отображать результаты предыдущих успешных и неудачных попыток поиска решения. Например, медицинская практика основывается не только на теоретических моделях болезней, анатомии и физиологии, но и на изучении истории болезни и врачебного опыта, и приобретенного при лечении других пациентов. Юристы тоже подыскивают прецеденты и пытаются убедить суд, что нужно действовать по аналогии с известной ситуацией. Хотя общие законы вырабатываются в рамках демократических процессов, их интерпретация обычно основана на прецедентах. Программисты часто повторно используют старые программы для адаптации существующих структур к похожей ситуации. Архитекторы используют свои знания об эстетической привлекательности и полезности существующих сооружений для разработки новых знаний, которые будут восприняты современниками, как красивые и удобные. Историки используют исторические факты, чтобы помочь государственным деятелям, чиновникам и гражданам понять прошлые события и планировать будущее. Возможность рассуждать на основе опыта является краеугольным камнем человеческого интеллекта. Рассуждения на основе опыта обеспечивают ряд преимуществ для разработки экспертных систем. Процесс извлечения знаний может быть упрощён, если механизм рассуждения будет использовать записанные решения экспертов по ряду проблем. Это могло бы освободить инженера по знания от необходимости разрабатывать общие правила на основе примеров, полученных от экспертов. Механизм рассуждения может обобщать правила автоматически, применяя их к новым ситуациям. Механизм рассуждения на основе опыта функционирует следующим образом: 1. Находит подходящие случаи в памяти. Случай является подходящим, если решение может быть успешно применено в новой ситуации. Поскольку механизмы рассуждения не могут знать этого наперед, для выбора случаев обычно используются эвристики. Как люди, так и искусственные механизмы рассуждения определяют подобие на основе общих признаков: например, если у двух пациентов наблюдается ряд общих признаков, связанных с симптомами и историей болезни, то велика вероятность, что у них одно и то же заболевание, и им подходит один и тот же курс лечения. Для эффективного поиска память должна быть организована соответствующим образом. Обычно ситуации индексируются по их существенным признакам, что обеспечивает эффективный поиск аналогичных случае. Идентификация существенных признаков зависит от ситуации. 2. Приспосабливает найденную ситуацию к текущей. Обычно случай – это последовательность операций, преобразующих начальное состояние в целевое. Механизм рассуждения должен модифицировать некоторые операции в сохраненном решении с учетом специфики текущей проблемы. 3. Применяет преобразованное решение. Модификация известного случая не обязательно гарантирует удовлетворительное решение проблемы. Может потребоваться ещё одна итерация выполнения первых шагов. 4. Сохраняет успешное или неудачное решение для дальнейшего использования. Сохранение новых случае требует адаптации индексной структуры. 21. Рассуждения на основе правил (достоинства и недостатки). Преимущества этого подхода сводятся к следующему. 1. Возможность использовать знания экспертов в очень простой форме. Это важно в областях, зависящих от эвристик управления сложной и/или отсутствующей информацией. 2. Правила отображаются в пространство состояний поиска. Возможности объяснения облегчают отладку программ. 3. Отделение знаний от управления упрощает разработку экспертной системы, обеспечивая итеративный процесс разработки, в котором инженер накапливает, реализует и тестирует отдельные правила. 4. В ограниченных предметных областях возможны хорошие результаты. Поскольку для интеллектуального решения задачи требуется большой объем знаний, экспертные системы ограничиваются узкими областями. Однако существует много областей, в которых разработка подобных систем оказалась чрезвычайно полезной. 5. Хорошие возможности объяснения. Хотя системы на основе правил поддерживают гибкие, проблемно-зависимые объяснения, необходимо отметить, что максимальное качество этих объяснений зависит от структуры и содержания правил. Возможности объяснения в системах, основанных на данных и на целях, сильно различаются. Недостатки рассуждений, основанных на правилах. 1. Правила, полученные от экспертов, часто являются эвристическими по природе и не охватывают функциональных знаний или знаний, основанных на моделях. 2. Эвристические правила обычно не являются робастными и не позволяют управлять отсутствующей информацией или неожиданными значениями данных. 3. Другой особенностью правил является их неприменимость на границы области определения. В отличие от людей, системы на основе правил при столкновении с новыми проблемами обычно не способны возвратиться назад к первоначальным принципам рассуждения. 4. Объяснения применимы лишь на описательном уровне. Теоретические обоснования отсутствуют. Это связано с тем, что эвристические правила напрямую связывают симптомы с решениями и не обеспечивают более глубоких рассуждений. 5. Знания являются проблемно-зависимыми. Формализованные знания о некотором предметной области, как правило, очень специфичны и применимы только к данной области. Современные языки представления знаний не обеспечивают гибкости, присущей человеку. 22. Рассуждения на основе опыта (достоинства и недостатки). Преимущества рассуждений на основе опыта сводятся к следующему. 1. Возможность напрямую использовать исторический опыт. Во многих областях необходимую информацию можно получить из существующих исторических материалов. записей или других источников. При этом устраняется необходимость интенсивного приобретения знаний с помощью человека-эксперта. 2. Возможность сокращения рассуждений. Если известен аналогичный случай, новые задачи решаются гораздо быстрее, чем при использовании правил или моделей. 3. Рассуждения на основе опыта позволяют избежать прошлых ошибок и использовать прошлые успехи. Они обеспечивают модель обучения, как интересную с теоретической точки зрения, так и достаточно практичную для применения в сложных ситуациях. 4. Не требуется всестороннего анализа знаний о данной области. В отличие от систем, основанных на правилах, где инженер по знаниям должен описать взаимодействие правил, рассуждения на основе опыта обеспечивают простую аддитивную модель приобретения знаний. Для использования этого подхода необходимо обеспечить соответствующее представление случаев, индексирование данных и стратегию адаптации. 5. Соответствующие стратегии индексирования повышают эффективность решения задач. Мощность механизма рассуждений на основе опыта определяется возможностью выявлять отличительные особенности целевой проблемы и выбирать соответствующий случай из базы данных. Алгоритмы индексации часто обеспечивают эту функциональность автоматически. Рассмотрим недостатки рассуждений на основе опыта. 1. Описания случаев обычно не учитывают более глубокие знания о предметной области. Это снижает качество объяснения и во многих ситуациях приводит к ошибочному применению опыта, а значит, к неправильным или низкокачественным советам. 2. Большая база данных может привести к снижению производительности системы. 3. Трудно определить хороший критерий для индексирования и сравнения случаев. Словари поиска и алгоритмы определения подобия необходимо тщательно отлаживать вручную. Это может нейтрализовать многие из преимуществ, присущих рассуждениям на основе опыта. 23. Рассуждения на основе моделей (достоинства и недостатки). Преимущества рассуждений на основе моделей сводятся к следующему. 1. Возможность использовать при решении задач функциональные и структурные знания о предметной области. Это увеличивает эффективность механизма рассуждений при решении различных задач, включая те. которые не были предусмотрены при разработке системы. 2. Механизмы рассуждений на основе моделей обычно очень эффективны. Они являются мощными и гибкими средствами решения задач, поскольку, как и люди, часто возвращаются к исходным данным при столкновении с новой проблемой. 3. Некоторые знания можно использовать в разных задачах. Системы рассуждений на основе моделей зачастую базируются на теоретических научных знаниях. Поскольку наука обычно оперирует общими теориями, такое обобщение часто расширяет возможности механизма рассуждений на основе моделей. 4. Обычно системы рассуждений, основанные на моделях, обеспечивают причинные объяснения. Таким образом пользователям можно передать более глубокое понимание причин неисправности, которое может сыграть важную образовательную роль (см. также раздел 16.2). Недостатки рассуждений на основе моделей таковы. 1. Отсутствие экспериментального (описательного) знания предметной области. Эвристические методы, используемые при рассуждениях на основе правил, отражают важный класс экспертных оценок. 2. Необходимость точной модели предметной области. Знания из многих областей имеют строгую научную основу, которую можно использовать в рассуждениях на основе моделей. Однако во многих сферах, например, в некоторых медицинских направлениях, большинстве проблем проектирования или финансовых приложениях, хорошо определенная научная теория отсутствует. В таких случаях подходы, основанные на моделях, не могут быть использованы. 3. Высокая сложность. Рассуждения, основанные на моделях, обычно ведутся на детализированном уровне, что приводит к значительным усложнениям. Именно по этой причине эксперты в первую очередь разрабатывают эвристики. 4. Исключительные ситуации. Необычные обстоятельства, например, замыкание или взаимодействие множества неисправностей электронных компонентов, могут изменить функциональность системы таким образом, что ее трудно будет предсказать. 24. Гибридные системы. Важной областью исследований является комбинация различных моделей рассуждений. В гибридной архитектуре, объединяющей несколько парадигм, эффективность одного подхода может компенсировать слабости другого. Комбинируя различные подходы, можно обойти недостатки, присущие каждому из них в отдельности. Например, сочетание рассуждений на основе правил и опыта может обеспечить следующие преимущества. 1. Просмотр известных случаев до начала рассуждений на основе правил позволяет снизить затраты на поиск. 2. Примеры и исключения можно сохранять в базе данных ситуаций. 3. Результаты поиска можно сохранить для будущего использования. При этом механизм рассуждений позволит избежать затрат на повторный поиск. Комбинация рассуждений на основе правил и моделей открывает следующие возможности. 1. Объяснения дополняются функциональными знаниями. Это может быть полезно в обучающих системах. 2. Повышается устойчивость системы при отказах. При отсутствии эвристических правил, используемых в данном случае, механизм рассуждений может прибегнуть к рассуждениям от исходных принципов. 3. Поиск на основе модели дополняется эвристическим поиском. Это может помочь в сложных рассуждениях, основанных на модели, и обеспечивает возможность выбора. Комбинация рассуждений на основе моделей и опыта дает следующие преимущества. 1. Более разумное объяснение ситуаций. 2. Проверка аналогичных случаев до начала более экстенсивного поиска посредством рассуждений на основе моделей. 3. Обеспечение записи примеров и исключений в базу данных случаев, которые могут быть использованы для управления выводом на основе модели. 4. Запись результатов вывода на основе моделей для будущего использования. Гибридные методы заслуживают внимания как исследователей, так и разработчиков приложений. Однако построение таких систем требует решения целого ряда проблем. Необходимо определить метод рассуждения для данной ситуации, момент изменения метода рассуждения, выяснить различия между методами рассуждения, разработать представления, обеспечивающие совместное использование знаний. Далее будут рассмотрены вопросы планирования или организации частей знаний дли решения более сложных проблем. 25. Семантические сети. Семантическая сеть — информационная модель предметной области, имеющая вид ориентированного графа, вершины которого соответствуют объектам предметной области, а дуги (рёбра) задают отношения между ними. Объектами могут быть понятия, события, свойства, процессы. Таким образом, семантическая сеть является одним из способов представления знаний. В названии соединены термины из двух наук: семантика в языкознании изучает смысл единиц языка, а сеть в математике представляет собой разновидность графа — набора вершин, соединённых дугами (рёбрами). В семантической сети роль вершин выполняют понятия базы знаний, а дуги (причем направленные) задают отношения между ними. Таким образом, семантическая сеть отражает семантику предметной области в виде понятий и отношений. Несмотря на то, что терминология и их структура различаются, существуют сходства, присущие практически всем семантическим сетям: 1. узлы семантических сетей представляют собой концепты предметов, событий, состояний; 2. различные узлы одного концепта относятся к различным значениям, если они не помечено, что они относятся к одному концепту; 3. дуги семантических сетей создают отношения между узлами-концептами (пометки над дугами указывают на тип отношения); 4. некоторые отношения между концептами представляют собой лингвистические падежи, такие как агент, объект, реципиент и инструмент (другие означают временные, пространственные, логические отношения и отношения между отдельными предложениями; 5. концепты организованы по уровням в соответствии со степенью обобщенности так как, например, сущность, живое существо, животное, плотоядное. Однако существуют и различия: понятие значения с точки зрения философии; методы представления кванторов общности и существования и логических операторов; способы манипулирования сетями и правила вывода, терминология. Все это варьируется от автора к автору. Несмотря не некоторые различия, сети удобны для чтения и обработки компьютером, а также достаточно мощны, чтобы представить семантику естественного языка. 26. Сценарии. Сценарий (script) – это структурированное представление, описывающее стереотипную последовательность событий в частном контексте. Сценарии первоначально были предложены, как средство для организации структур концептуальной зависимости в описаниях типовых ситуаций. Сценарии используются в системах понимания естественного языка для организации базы знаний в терминах ситуаций, которые система должна понимать. Сценарий включает следующие компоненты: - Начальные условия, которые должны быть истинными при вызове сценария. - Результаты или факты, которые являются истинными, когда сценарий завершается. - Предположения, которые поддерживают контекст сценария. - Роли являются действиями, которые совершают отдельные участники. - Сцены. Сценарий разбивается на последовательность сцен, каждая из которых представляет временные аспекты сценария. Элементы сценария – основные части семантического значения – представляются отношениями концептуальной зависимости. Собранные вместе во фреймоподобной структуре, они представляют последовательность значений или событий. 27. Фреймы. Фреймы – схема представления, во многом подобная сценариям и ориентированная на включение в строго организованные структуры данных неявных (подразумеваемых) информационных связей, существующих в предметной области. Это представление поддерживает организацию знаний в более сложные единицы, которые отображают структуру объектов этой области. «Вот суть теории фреймов. Когда некто встречается с новой ситуацией (или существенно меняет свою точку зрения на проблему), он выбирает из памяти структуру, называемую фреймом. Этот сохранённый каркас при необходимости должен быть адаптирован и приведён в соответствие с реальным изменением деталей.» Например, достаточно один раз остановиться в гостинице, чтобы составить представление о всех гостиничных номерах – там почти всегда есть кровать, ванная, место для чемодана и т.д. Но могут быть и варьируемые факторы – цвета, расположение мебели, некоторые детали интерьера. С данным фреймом так же связана информация, принимаемая по умолчанию. Если нет простыней – можно вызвать горничную и так далее. Нам не надо подстраивать сознание для каждого нового гостиничного номера, все элементы обобщенного номера организуются в концептуальную структуру, к которой мы обращаемся, когда останавливаемся в гостинице. Понятие фрейма. Под фреймом понимается однажды определенная единица представления знаний, которую можно изменять лишь в деталях согласно текущей ситуации. Теория фреймов предложена М. Минским в 1974 г. В основе данной модели представления знаний лежит свойство концептуальных объектов иметь аналогии, которые позволяют строить иерархические структуры отношений типа "абстрактноеконкретное". Каждый фрейм следует рассматривать как сеть из нескольких вершин и отношений. На самом верхнем уровне фрейма представляется фиксированная информация о состоянии моделируемого объекта, которая является истинной вне зависимости от контекста рассмотрения объекта и соответствует имени фрейма. Следующий уровень - уровень терминальных слотов (терминалов), который отражает относящуюся к моделируемому объекту конкретную информацию. В каждом слоте задается условие, которое должно выполняться при установлении соответствия между значениями (слот либо сам устанавливает соответствие, либо обычно это делает более мелкая составляющая фрейма). В одной системе различные фреймы могут иметь общие терминалы. Несколько терминалов одного фрейма обычно заранее определяются значениями по умолчанию, что позволяет представлять информацию общего характера при решении сходных задач. Среди слотов отдельного фрейма выделяют слоты, определяемые системой и определяемые пользователем. Примерами системных слотов могут служить : IS_A (указание на фреймродитель), слот указателей дочерних фреймов, слоты дат создания и изменения информации фрейма. Фреймы, соответствующие описанию отдельных объектов, называются шаблонами, а фреймы верхнего уровня, используемые для представления этих шаблонов, называются фреймами классов. Основные свойства фреймов. 1). Базовый тип (базовый фрейм) - с его помощью запоминаются наиболее важные компоненты исследуемого объекта. На основании базовых фреймов строятся фреймы для новых состояний исследуемого объекта. При этом каждый фрейм содержит слот, оснащенный указателем подструктуры, который позволяет различным фреймам совместно использовать одинаковые части. 2). Процесс сопоставления - в ходе его проверяется правильность выбора фрейма. Вначале в соответствии с текущей целью делается попытка подтверждения релевантности некоторого базового фрейма (в т.ч. с помощью подфреймов), при подтверждении процесс сопоставления завершается. В противном случае для слота, в котором возникла ошибка, делается попытка присваивания надлежащего значения с учетом наложенных слотом ограничений. В случае неуспеха управление передается другому надлежащему фрейму из рассматриваемой системы, затем - соответствующему фрейму из другой фреймовой системы и т.д. пока не произойдет успешного сопоставления. В противном случае для данной фреймовой системы рассматриваемая поисковая задача решения не имеет и требуется либо переформулировать текущую цель, либо пересмотреть содержательную часть фреймовой модели, включая накладываемые слотами ограничения. 3). Иерархическая структура. Ее особенность заключается в том, что информация об атрибутах, которую содержит фрейм верхнего уровня, совместно используется всеми фреймами нижних уровней, связанных с ним. 4). Межфреймовые сети - образуются путем соединения фреймов, описывающих объекты с небольшими различиями, с использованием указателей различия. Основные свойства фреймов (продолжение) 5). Значение по умолчанию - под ним понимается значение слота, полученное путем распределения человеком-экспертом конкретных значений между терминальными слотами фрейма. Выводы, получаемые на основании значений по умолчанию, называются выводами по умолчанию. С их помощью можно восполнить недостатки изначально заданной информации. Как правило, когда используется подобный способ вывода, предполагается наличие эффективно действующих межфреймовых сетей и демонов. 6). Отношения "абстрактное-конкретное" и "целое-часть". Отношения "абстрактноеконкретное" (IS_A) характерны тем, что на верхних уровнях иерархии расположены более абстрактные объекты, а на нижних уровнях - более конкретные объекты, причем объекты нижних уровней наследуют атрибуты объектов верхних уровней. Отношение "целое-часть" (PART_OF) касается структурированных объектов и показывает, что объект нижнего уровня является частью объекта верхнего уровня. В отношениях этого типа нельзя использовать наследование атрибутов. Структура данных фрейма. 1). Имя фрейма - присваиваемый фрейму идентификатор, для заданной фреймовой системы имя фрейма должно быть уникально. 2). Имя слота - присваиваемый слоту идентификатор. Слот должен иметь уникальное имя во фрейме, к которому он принадлежит. 3). Указатели наследования - с их помощью определяется, какую информацию об атрибутах слотов фрейма верхнего уровня наследуют слоты с такими же именами во фрейме нижнего уровня. Типичные указатели наследования : U (Unique, уникальный) - слот наследуется, но данные в каждом фрейме могут принимать любые значения; S (Same, такой же) - наследование тех же значений данных; R (Range) - значения слотов фрейма нижнего уровня должны находиться в пределах, указанных значениями слотов фрейма верхнего уровня; O - выполняет одновременно функции указателей U и S, при отсутствии указаний работает как S. 4). Указание типа данных : FRAME (указатель на другой фрейм), INTEGER (целый), REAL (действительный), BOOL (булевский), LISP (присоединенная процедура), TEXT (текст), LIST (список), TABLE (таблица), EXPRESSION (выражение). 5). Значение слота - должно совпадать с указанным типом данных этого слота. Кроме того, должно выполняться условие наследования. Структура данных фрейма : демоны и присоединенные процедуры. 6). Демон - особая разновидность присоединенной процедуры, которая запускается при выполнении некоторого условия, определяемого значением соответствующего слота. Пример : демон IF-NEEDED запускается, если в момент обращения к слоту его значение не было установлено, IF-ADDED запускается при подстановке в слот значения, IF-REMOVED - при стирании значения слота. 7). Присоединенная процедура является программой процедурного типа, которая является значением слота и запускается по сообщению, переданному из другого фрейма. Демоны и присоединенные процедуры являются процедурными знаниями из представляемых фреймовой моделью. В языке представления знаний фреймами отсутствует специальный механизм управления выводом, поэтому разработчик (в литературе, в частности, в [1] используется термин "пользователь" применительно к фреймовой модели именно как к формализму) должен реализовать данный механизм с помощью присоединенной процедуры. Достоинство : высокая универсальность языка, что позволяет писать любую программу управления выводом с помощью присоединенной процедуры (помимо иерархического и сетевого представления знаний). Недостаток : требуется высокая квалификация разработчика. 28. Концептуальные графы: введение, типы, экземпляры, имена. Концептуальный граф – это конечный, связанный, двудольный граф. Узлы графа представляют понятия, или концептуальные отношения. В концептуальных графах метки дуг не используются. Отношения между понятиями представляются узлами концептуальных отношений. В концептуальных графах узлы понятий представляют либо конкретные, либо абстрактные объекты в мире рассуждений. Конкретные понятия, такие как кошка, телефон или ресторан, характеризуются нашей способностью сформировать их образ. Отметим, что к конкретным относятся обобщенные понятия (то есть произвольная кошка), а также понятия конкретные (то есть одна определённая кошка). Мы можем также сформировать образ обобщенной кошки. Абстрактные понятия включают такие абстракции как любовь, красота, верность, для которых не существует образов в нашем воображении. Узлы концептуальных отношений описывают отношения, включающие одно или несколько понятий. Одним из преимуществ концептуальных графов без использования помеченных дуг является простота представления отношений любой арности. N-арное отношение представляется узлом концептуального отношения, имеющего N дуг. Каждый концептуальный граф представляет одно высказывание. Типовая база знаний будет состоять из ряда таких графов. Графы могут быть произвольной сложности, но они должны быть конечными. Пример высказывания «Собака коричневого цвета» В концептуальных графах каждое понятие является уникальным экземпляром конкретного типа. Каждый прямоугольник понятия снабжается меткой типа, определяющей класс или тип экземпляра, представленного этим узлом. Таким образом, узел, снабженный меткой «собака», представляет некоторый объект этого типа. Типы имеют неиерархическую структуру. Тип «собака» является подтипом типа «плотоядные», который, в свою очередь, является подтипом «млекопитающие» и т.д. Прямоугольники с одной и той же меткой типа отражают понятие одного и того же типа. Однако эти прямоугольники могут либо представлять, либо не представлять одно и то же индивидуальное понятие. Каждый прямоугольник понятия помечается именами типа и экземпляра. Метки типа и экземпляра отделяются двоеточием. Нижеследующий граф показывает, что собака Эмма – коричневая. Концептуальные графы позволяют также описывать конкретные, но неименованные экземпляры. Для обозначения каждого экземпляра в мире рассуждений используется уникальные дескриптор, называемый маркером. Он представляет собой число, перед которым расположен символ #. Маркеры отличаются от имен тем, что они являются уникальными: экземпляр может иметь одно имя, несколько имен или вовсе быть безымянным, но он имеет ровно один маркер. Можно использовать маркер * для неспецифицированных экземпляров. Это часто опускается в метках понятий: узел с меткой «собака» эквивалентен узлу «собака: *». 29. Обобщение и специализация. Теория графов включает ряд операций для создания новых графов на основе существующих. Они позволяют генерировать новый граф путем либо специализации, либо обобщения существующего графа, и очень важны для представления семантики естественного языка. Существуют четыре типа операций: копирование, ограничение, объединение и упрощение. Копирование позволяет сформировать новый граф А, который является точной копией графа А1. Ограничение позволяет заменить узлы понятий графа узлами, представляющими их специализацию. Возможно две ситуации: 1. Если понятие помечено общим маркером, то общий маркер может быть заменен индивидуальным. 2. Метка типа может быть заменена одной из меток его подтипов, если это соответствует объекту ссылки понятия. Объединение позволяет интегрировать два графа в один. Если узел понятия С1 графа S1 идентичен узлу понятия C2 графа S2, то можно сформировать новый граф ,вычеркивая C2 и связывая все его отношения с C1. Объединение – это правило специализации, так как результирующий граф является менее общим, чем любой из его компонентов. Если граф содержит два одинаковы отношения, то одно из них может быть вычеркнуто вместе со всеми его дугами. В этом заключается правило упрощения. Дублирующиеся отношения часто возникают в результате объединения. Наследование в теории концептуальных графов. Нема :( 30. Машинное обучение на основе связей: введение, основы нейронных сетей. Нейронные сети – самообучающиеся системы, имитирующие деятельность человеческого мозга. Искусственный нейрон – имитирует свойства и работу своего биологического прототипа. Схема нейрона. Из рисунка видно, что искусственный нейрон, так же, как и живой, состоит из синапсов (Однонаправленная входная связь нейрона, соединенная с выходом другого нейрона), связывающих входы нейрона с ядром; ядра нейрона, которое осуществляет обработку входных сигналов и аксона (Единственный отросток биологического нейрона, по которому он передает свой выходной сигнал), который связывает нейрон с нейронами следующего слоя. Каждый синапс имеет вес, который определяет, насколько соответствующий вход нейрона влияет на его состояние. Состояние нейрона определяется по формуле: , где: n – число входов нейрона, xi – значение i-го входа нейрона, wi – вес i-го синапса. Затем определяется значение аксона нейрона по формуле: Y = f(S), где f – некоторая функция, которая называется активационной (пороговой). Наиболее часто в качестве активационной функции используется так называемый сигмоид (т.е. функция, график которой похож на букву "S"), который имеет следующий вид: Основное достоинство этой функции в том, что она дифференцируема на всей оси абсцисс и имеет очень простую производную: При уменьшении параметра a сигмоид становится более пологим, вырождаясь в горизонтальную линию на уровне 0,5 при a=0. При увеличении a сигмоид все больше приближается к функции единичного скачка. Обучение нейронных сетей. Сеть должна для некоторого множества входов давать некоторое желаемое количество выходов каждый из которых рассматривается как вектор. Процесс обучения состоит в том что перебираются входные векторы и подстраиваются их весовые коэффициенты с целью получения определенных результатов. Существует два способа обучения: - с учителем - без учителя Сети, обучающиеся без учителя, просматривают выборку только один раз. Сети, обучающиеся с учителем, просматривают выборку множество раз, при этом один полный проход по выборке называется эпохой обучения. При обучении с учителем набор исходных данных делят на две части – собственно обучающую выборку и тестовые данные; принцип разделения может быть произвольным. Обучающие данные подаются сети для обучения, а проверочные используются для расчета ошибки сети (проверочные данные никогда для обучения сети не применяются). Таким образом, если на проверочных данных ошибка уменьшается, то сеть действительно выполняет обобщение. Если ошибка на обучающих данных продолжает уменьшаться, а ошибка на тестовых данных увеличивается, значит, сеть перестала выполнять обобщение и просто «запоминает» обучающие данные. Это явление называется переобучением сети или оверфиттингом. В таких случаях обучение обычно прекращают. Одним из первых ученых который начал разработки в этом направлении был Кохонен. Обучающееся множество состоит из входных векторов. Обучающийся алгоритм подстраивает вес сети так, чтобы получались согласованные выходные векторы, т.е. при предъявлении достаточно близких входных векторов получались одинаковые выходные. 31. Нейрон Мак-Каллока-Питтса. Первым примером нейросетевой модели является нейрон Мак-Каплока-Питтса [McCulloch и Pitts. 1943]. На вход нейрона подаются биполярные сигналы (равные +1 или -1). Активационная функция — это пороговая зависимость, результат которой вычисляется следующим образом. Если взвешенная сумма входов не меньше нуля, выход нейрона принимается равным 1, в противном случае - -1. В своей работе Мак-Калпок и Питгс показали, как на основе таких нейронов можно построить любую логическую функцию. Следовательно, система из таких нейронов обеспечивает полную вычислительную модель. На рисунке показан пример вычисления логических функций И и ИЛИ с помощью нейронов МакКаллока-Питгса. Каждый из этих нейронов имеет три входа, первые два из которых задают аргументы функции x и y, а третий, иногда называемый пороговым (bias), всегда равен 1. Весовые коэффициенты связей для входных нейронов составляют соответственно +1, +1 и - 2. Тогда для любых входных значений x и y нейрон вычисляет значение x+y-2. Если это значение меньше 0, выходным значением нейрона является -1, в противном случае 1. Из таблицы видно, что такой нейрон, по существу вычисляет значение функции x y . Аналогично можно удостовериться в том, что второй нейрон на рисунке вычисляет значение логической функции ИЛИ. Несмотря на то что Мак-Каллок и Питгс продемонстрировали возможности нейросетевых вычислений, реальный интерес к этой области проявился только после разработки применимых на практике алгоритмов обучена. Первые модели обучения во многом связаны с работами специалиста по психологии Д. О. Хебба, который в 1949 году предположил, что обучение биологических существ связано с модификацией синапсов в мозгу. Он показал, что многократное возбуждение синапса приводят к повышению его чувствительности и вероятности его возбуждения в будущем. Если некоторый стимул многократно приводит к активизации группы клеток, то между этими клетками возникает сильная ассоциативная связь. Поэтому в будущем подобный стимул приведет к возбуждению тех же связей между нейронами, что в свою очередь обеспечит распознавание стимула. Модель обучения Хебба основана только на идее подкрепления и не учитывает забывчивость, штрафы за ошибки или износ. Современные психолога пытались реализовать модель Хебба, но не смогли получить достаточно общих результатов без добавления механизма забывчивости. Модель обучения Хебба более подробно будет рассмотрена в разделе 10.5. В следующем разделе модель нейрона Мак-Каллока-Хебба расширена за счет формирования слоен взаимосвязанных нейронов и добавления алгоритмов их взаимодействия. Первая версия такой нейроподобной структуры получила название персептрона (perception). 32. Персептрон Ф. Розенблата. В качестве предмета исследования искусственные нейронные сети впервые заявили о себе в 1940е годы. Стремясь воспроизвести функции человеческого мозга, исследователи создали простые аппаратные (а позже программные) модели биологического нейрона и системы его соединений. Когда нейрофизиологи достигли более глубокого понимания нервной системы человека, эти ранние попытки стали восприниматься как весьма грубые аппроксимации. Тем не менее, на этом пути были достигнуты впечатляющие результаты, стимулировавшие дальнейшие исследования, которые привели к созданию более изощренных сетей. Проблема функции «Исключающего ИЛИ» Один из самых пессимистических результатов М.Л. Минского гласит, что однослойный персептрон не может воспроизвести такую простую функцию, как «Исключающее ИЛИ». Это функция от двух аргументов, каждый из которых может быть нулем или единицей. Она принимает значение единицы, когда один из аргументов равен единице (но не оба). Проблему можно проиллюстрировать с помощью однослойной однонейронной системы с двумя входами, показанной на рисунке: Обозначим один вход через , а другой через , тогда все их возможные комбинации будут состоять из четырех точек на плоскости , как показано на рисунке ниже. Например, точка и обозначена на рисунке как точка . Таблица показывает требуемую связь между входами и выходом, где входные комбинации, которые должны давать нулевой выход, помечены и , единичный выход и . В сети на первом рисунке функция является обычным порогом, так что OUT принимает значение 0, когда NET меньше 0,5, и 1 в случае, когда NET больше или равно 0,5. Нейрон выполняет следующее вычисление: (1) Никакая комбинация значений двух весов не может дать соотношения между входом и выходом, задаваемого таблице. Чтобы понять это ограничение, зафиксируем на величине порога 0,5. Сеть в этом случае описывается уравнением (2). Это уравнение линейно по и , т. е. все значения по и , удовлетворяющие этому уравнению, будут лежать на некоторой прямой в плоскости . (2) Любые входные значения для и на этой линии будут давать пороговое значение 0,5 для . Входные значения с одной стороны прямой обеспечат значения больше порога, следовательно, . Входные значения по другую сторону прямой обеспечат значения NET меньше порога, делая равным 0. Изменения значений , и порога будут менять наклон и положение прямой. Для того чтобы сеть реализовала функцию ИСКЛЮЧАЮЩЕЕ ИЛИ, заданную таблице, нужно расположить прямую так, чтобы точки , были с одной стороны прямой, а точки , — с другой. Попытавшись нарисовать такую прямую на втором рисунке, убеждаемся, что это невозможно. Это означает, что какие бы значения ни приписывались весам и порогу, сеть неспособна воспроизвести соотношение между входом и выходом, требуемое для представления функции ИСКЛЮЧАЮЩЕЕ ИЛИ. Взглянув на задачу с другой точки зрения, рассмотрим как поверхность над плоскостью . Каждая точка этой поверхности находится над соответствующей точкой плоскости на расстоянии, равном значению в этой точке. Можно показать, что наклон этой -поверхности одинаков для всей поверхности . Все точки, в которых значение равно величине порога, проектируются на линию уровня плоскости (см. рисунок ниже). Ясно, что все точки по одну сторону пороговой прямой проецируются в значения большие порога, а точки по другую сторону дадут меньшие значения . Таким образом, пороговая прямая разбивает плоскость на две области. Во всех точках по одну сторону пороговой прямой значение равно единице, по другую сторону — нулю. 33. Карты Кохонена. Самоорганизующиеся карты Кохонена – одна из разновидностей нейросетевых алгоритмов. Основные отличия данной технологии от остальных нейросетей является то, что обучение этой структуры происходит без учителя. Нейросети данного типа применяются для решения различных задач начиная от прогнозирования до восстановления пропущенных данных. Алгоритм функционирования самообучающихся карт (Self Organizing Maps – SOM) представляет собой один из вариантов кластеризации многомерных векторов. Примером таких алгоритмов может служить алгоритм k-ближайших средних (c-means). Важным отличием алгоритма SOM является то, что в нем все нейроны (узлы, центры классов…) упорядочены в некоторую структуру (обычно двумерную сетку). При этом в ходе обучения модифицируется не только нейрон-победитель, но и его соседи, но в меньшей степени. За счет этого SOM можно считать одним из методов проецирования многомерного пространства в пространство с более низкой размерностью. При использовании этого алгоритма вектора, схожие в исходном пространстве, оказываются рядом и на полученной карте. Структура SOM подразумевает использование упорядоченной структуры нейронов. Обычно используются одно и двумерные сетки. При этом каждый нейрон представляет собой n-мерный вектор-столбец , где n определяется размерностью исходного пространства (размерностью входных векторов). Применение одно и двумерных сеток связано с тем, что возникают проблемы при отображении пространственных структур большей размерности (при этом опять возникают проблемы с понижением размерности до двумерной, представимой на мониторе). Обычно нейроны располагаются в узлах двумерной сетки с прямоугольными или шестиугольными ячейками. При этом, как было сказано выше, нейроны также взаимодействуют друг с другом. Величина этого взаимодействия определяется расстоянием между нейронами на карте. На рисунке 1 дан пример расстояния для шестиугольной и четырехугольной сеток. Расстояние между нейронами на карте для шестиугольной (а) и четырехугольной (б) сеток. При этом легко заметить, что для шестиугольной сетки расстояние между нейронами больше совпадает с евклидовым расстоянием, чем для четырехугольной сетки. При этом количество нейронов в сетке определяет степень детализации результата работы алгоритма, и в конечном счете от этого зависит точность обобщающей способности карты. Начальная инициализация карты При реализации алгоритма SOM заранее задается конфигурация сетки (прямоугольная или шестиугольная), а также количество нейронов в сети. Некоторые источники рекомендуют использовать максимально возможное количество нейронов в карте. При этом начальный радиус обучения (neighborhood в англоязычной литературе) в значительной степени влияет на способность обобщения при помощи полученной карты. Радиус обучения - Параметр алгоритма обучения карт Кохонена, который определяет, сколько нейронов кроме нейрона-победителя участвует в обучении (т.е. корректируют свои веса) на данной итерации. Под радиусом в данном случае подразумевается расстояние в пространстве векторов весов нейронов. Иными словами, любой нейрон карты, расстояние от вектора весов которого до вектора весов нейрона победителя менее радиуса обучения, участвует в коррекции весов на данной итерации. Радиус обучения максимален на первой итерации и уменьшается с увеличением числа итераций по линейному закону таким образом, что в конце обучения корректирует свои веса только нейронпобедитель. Перед началом обучения карты необходимо проинициализировать весовые коэффициенты нейронов. Удачно выбранный способ инициализации может существенно ускорить обучение, и привести к получению более качественных результатов. Существуют три способа инициирования начальных весов. * Инициализация случайными значениями, когда всем весам даются малые случайные величины. * Инициализация примерами, когда в качестве начальных значений задаются значения случайно выбранных примеров из обучающей выборки * Линейная инициализация. В этом случае веса инициируются значениями векторов, линейно упорядоченных вдоль линейного подпространства, проходящего между двумя главных собственными векторами исходного набора данных. Обучение Обучение состоит из последовательности коррекций векторов, представляющих собой нейроны. На каждом шаге обучения из исходного набора данным случайно выбирается один из векторов, а затем производится поиск наиболее похожего на него вектора коэффициентов нейронов. При этом выбирается нейрон-победитель, который наиболее похож на вектор входов. Под похожестью в данной задаче понимается расстояние между векторами, обычно вычисляемое в евклидовом пространстве. Таким образом, если обозначит нейрон-победитель как c, то получим После того, как найден нейрон-победитель производится корректировка весов нейросети. При этом вектор, описывающий нейрон-победитель и вектора, описывающие его соседей в сетке перемещаются в направлении входного вектора. Данная процедура повторяется до тех пор пока исходный вектор из исходного множества и вектор весов нейрона-победителя не совпадут. После окончания процесса обучения для каждой переменной строится карта. На каждой карте при помощи цветовой кодировки отмечаются примеры из исходного множества. Так правила с меньшим значением соответствуют более холодным цветам и наоборот. На каждой карте отмечаются границы получившихся групп (кластеров). Полученные карты могут быть использованы для других аналитических операций. Качество разбиения по каждому разбиению оценивается визуально. 34. Социальные и эмерджентные модели обучения. Эволюционное алгоритмы. Эмерджентные, или проявляющиеся модели обучения имитируют наиболее элегантную и мощную форму адаптации – эволюцию форм жизни растительного и животного мира. Генетические алгоритмы и другие формальные эволюционные аналоги обусловливают более точное решение задачи за счёт операций над популяциями кандидатов на роль решения. Генетический алгоритм решения задачи включает три стадии, первая из которых предполагает представление отдельных потенциальных решений в специальном виде, удобном для выполнения эволюционных операций изменения и отбора. Зачастую таким представлением являются обычные битовые строки. На второй стадии реализуются скрещивания и мутации, присущие биологическим формам жизни, в результате которых появляется новое поколение особей с рекомбинированными свойствами родителей. И на конец, на основе некоторого критерия отбора, выбираются лучшие формы жизни, то есть наиболее точно соответствующие решению данной проблемы. Эти особи отбираются для выживания и воспроизведения, то есть для формирования нового поколения потенциальных решений. В конечном счете некоторое поколение особей станет решением исходной задачи. Пример – игра «Жизнь» (9-я лаба). 35. Системы классификации и эволюционное программирование. Система классификации включает стандартные элементы системы вывода: правила вывода (называемые классификаторами), рабочую память, входные датчики (декодеры) и выходные элементы (эффекторы). Отличительной особенностью систем классификации является конкурентный подход к решению конфликтов. Применение генетических алгоритмов для обучения и алгоритма «пожарной цепочки» для распределения поощрений и наказаний в процессе обучения. Воздействие системы классификации с внешней средой: Сверху вниз – вход, выход, обратная связь. При решении задачи классификатор работает, как традиционная схема логического вывода. На детекторы системы классификации из внешней среды поступает сообщение, например, информация о сделанном игроком ходе. Это событие кодируется и помещается в качестве образа во внутренний список сообщений ‒ рабочую память системы вывода. Эти сообщения при обычной работе системы вывода на основе данных соответствуют условиям правил классификации. Выбор «наиболее активного классификатора» осуществляется по схеме аукциона, в которой предлагаемая цена – это функция аккумулированного значения критерия качества для такого классификатора и уровня соответствия между входным стимулом и его условием. Эти сообщения добавляются в рабочую память классификаторов с наиболее высоким уровнем соответствия. Из обновленного списка сообщения могут передаваться через эффекторы во внешнюю среду, либо активизировать новые правила классификации в процессе работы системы вывода. Эволюционное программирование – см предыдущий вопрос. Деревья решений Один из методов автоматизированного анализа данных, начал развиваться с конца 50-х годов XX века. Деревья решений это способ представления правил в иерархической, последовательной структуре, где каждому объекту соответствует единственный узел, дающий решение. Область применения достаточно широка. Задачи которые они решают: 1. Описание данных. 2. 3. Классификация. Регрессия – поиск зависимостей. Построение дерева решений. Пусть задано обучающее множество Т, оно содержит объекты, каждые из которых характеризуются неким набором атрибутов m, причем один из этих атрибутов указывает на принадлежность объекта к определенному классу. Обозначим все классы C k и тогда возможны три ситуации: 1. Множество Т содержит 1 или более примеров, относящихся к одному из классов. В этом случае дерево решений – лист, определяющий класс решений C k . 2. Т не содержит ни одного примера. В этом случае дерево решений – это пустой лист и класс, к которому его нужно отнести, будет выбираться из связного с ним множества. 3. В множестве есть примеры относящиеся к разным классам, тогда множество можно разбить на ряд множеств и для этого выбрать признак и по нему произвести разделение множества Т. Для построения дерева на вход алгоритма подается некоторое обучающее множество, содержащее объекты (примеры), характеризуемые атрибутами, один из которых указывает на принадлежность объекта к определенному классу. Далее алгоритм пытается выработать общие критерии для объектов одного класса. В том случае, если обучающее множество содержит один или более примеров, относящихся к одному классу, деревом решений будет лист, определяющий данный класс. Если же обучающее множество содержит примеры, относящиеся к разным классам, следует разбить его на некоторые подмножества. Для этого выбирается один из атрибутов, имеющий два и более отличных друг от друга значений. После разбиения каждое подмножество будет содержать все примеры, имеющие одно из значений для выбранного атрибута. Эта процедура будет рекурсивно продолжаться до тех пор, пока конечное множество не будет состоять из примеров, относящихся к одному и тому же классу. Как разбивать на подмножества: Для каждого узла найти такое условие, которое разбивало множество на два подмножества. Для этого используется один из атрибутов и правила для выбора можно записать в виде: выбранный атрибут должен разбить множество так чтобы полученные в итоге подмножества состояли из объектов одного класса или были максимально приближены к этому. Для того чтобы избежать излишней «ветвистости» деревьев используют т.н. отсечение которое, по определенному «подстригает» деревья так, чтобы полученное дерево было компактным и работало с максимальной эффективностью. Преимущества деревьев решений. 1. Быстрый процесс обучения. 2. Генерация правил в областях, где эксперту трудно формализовать свои знания. 3. Извлечение правил на естественном языке. 4. Понятная классификационная модель. Недостатки: 1. Размер дерева – найти «золотую середину» между ветвистостью и компактностью достаточно трудно. 36. Деревья решений - математический аппарат (алгоритм С 4.5). C4.5. – один из лучших алгоритмов построения деревьев решений. Прежде чем приступить к описанию алгоритма построения дерева решений, определим обязательные требования к структуре данных и непосредственно к самим данным, при выполнении которых алгоритм C4.5 будет работоспособен: * Описание атрибутов. Данные, необходимые для работы алгоритма, должны быть представлены в виде плоской таблицы. Вся информация об объектах (далее примеры) из предметной области должна описываться в виде конечного набора признаков (далее атрибуты). Каждый атрибут должен иметь дискретное или числовое значение. Сами атрибуты не должны меняться от примера к примеру, и количество атрибутов должно быть фиксированным для всех примеров. * Определенные классы. Каждый пример должен быть ассоциирован с конкретным классом, т.е. один из атрибутов должен быть выбран в качестве метки класса. * Дискретные классы. Классы должны быть дискретными, т.е. иметь конечное число значений. Каждый пример должен однозначно относиться к конкретному классу. Случаи, когда примеры принадлежат к классу с вероятностными оценками, исключаются. Количество классов должно быть значительно меньше количества примеров. Пусть мы имеем проверку X (в качестве проверки может быть выбран любой атрибут), которая принимает n значений A1, A2 ... An. Тогда разбиение T по проверке X даст нам подмножества T1, T2 ... Tn, при X равном соответственно A1, A2… An. Единственная доступная нам информация – то, каким образом классы распределены в множестве T и его подмножествах, получаемых при разбиении по X. Именно этим мы и воспользуемся при определении критерия. Пусть – количество примеров из некоторого множества S, относящихся к одному и тому же классу Cj. Тогда вероятность того, что случайно выбранный пример из множества S будет принадлежать к классу Cj Согласно теории информации, количество содержащейся в сообщении информации, зависит от ее вероятности (1) Поскольку мы используем логарифм с двоичным основанием, то выражение (1) дает количественную оценку в битах. Выражение (2) дает оценку среднего количества информации, необходимого для определения класса примера из множества T. В терминологии теории информации выражение (2) называется энтропией множества T. Ту же оценку, но только уже после разбиения множества T по X, дает следующее выражение: (3) Тогда критерием для выбора атрибута будет являться следующая формула: (4) Критерий (4) считается для всех атрибутов. Выбирается атрибут, максимизирующий данное выражение. Этот атрибут будет являться проверкой в текущем узле дерева, а затем по этому атрибуту производится дальнейшее построение дерева. Т.е. в узле будет проверяться значение по этому атрибуту и дальнейшее движение по дереву будет производиться в зависимости от полученного ответа. Такие же рассуждения можно применить к полученным подмножествам T1, T2 … Tn и продолжить рекурсивно процесс построения дерева, до тех пор, пока в узле не окажутся примеры из одного класса. Здесь следует пояснить почему критерий (4) должен максимизироваться. Из свойств энтропии нам известно, что максимально возможное значение энтропии достигается в том случае, когда все его сообщения равновероятны. В нашем случае, энтропия (3) достигает своего максимума когда частота появления классов в примерах множества T равновероятна. Нам же необходимо выбрать такой атрибут, чтобы при разбиении по нему один из классов имел наибольшую вероятность появления. Это возможно в том случае, когда энтропия (3) будет иметь минимальное значение и, соответственно, критерий (4) достигнет своего максимума. Как быть в случае с числовыми атрибутами? Понятно, что следует выбрать некий порог, с которым должны сравниваться все значения атрибута. Пусть числовой атрибут имеет конечное число значений. Обозначим их {v1, v2 … vn}. Предварительно отсортируем все значения. Тогда любое значение, лежащее между vi и vi+1, делит все примеры на два множества: те, которые лежат слева от этого значения {v1, v2 … vi}, и те, что справа {vi+1, vi+2 … vn}. В качестве порога можно выбрать среднее между значениями vi и vi+1 Таким образом, мы существенно упростили задачу нахождения порога, и привели к рассмотрению всего n-1 потенциальных пороговых значений TH1, TH2 … THn-1. Формулы (2), (3) и (4) последовательно применяются ко всем потенциальным пороговым значениям и среди них выбирается то, которое дает максимальное значение по критерию (4). Далее это значение сравнивается со значениями критерия (4), подсчитанными для остальных атрибутов. Если выяснится, что среди всех атрибутов данный числовой атрибут имеет максимальное значение по критерию (4), то в качестве проверки выбирается именно он. Следует отметить, что все числовые тесты являются бинарными, т.е. делят узел дерева на две ветви. 37. Деревья решений - математический аппарат (алгоритм CART). Аббревиатура CART означает Classification and Regression Tree – дерево классификации и регрессии. Из названия алгоритма следует, что он может работать как с непрерывной, так и с дискретной выходной переменной. Алгоритм строит бинарные деревья решений, которые содержат только два потомка в каждом узле. В процессе работы происходит рекурсивное разбиение примеров обучающего множества на подмножества, записи в которых имеют одинаковые значения целевой переменной. Основными отличиями алгоритма CART от алгоритмов семейства ID3 являются: * бинарное представление дерева решений; * функция оценки качества разбиения; * механизм отсечения дерева; * алгоритм обработки пропущенных значений; * построение деревьев регрессии. Обучение дерева решений относится к классу обучения с учителем, то есть обучающая и тестовая выборки содержат классифицированный набор примеров. Оценочная функция, используемая алгоритмом CART, базируется на интуитивной идее уменьшения нечистоты (неопределённости) в узле. Обучение дерева решений относится к классу обучения с учителем, то есть обучающая и тестовая выборки содержат классифицированный набор примеров. Оценочная функция, используемая алгоритмом CART, базируется на интуитивной идее уменьшения нечистоты (неопределённости) в узле. Рассмотрим задачу с двумя классами и узлом, имеющим по 50 примеров одного класса. Узел имеет максимальную "нечистоту". Если будет найдено разбиение, которое разбивает данные на две подгруппы 40:5 примеров в одной и 10:45 в другой, то интуитивно "нечистота" уменьшится. Она полностью исчезнет, когда будет найдено разбиение, которое создаст подгруппы 50:0 и 0:50. В алгоритме CART идея "нечистоты" формализована в индексе Gini. Если набор данных Т содержит данные n классов, тогда индекс Gini определяется как: GiniT 1 pi , где pi – 2 2 i 1 вероятность (относительная частота) класса i в T. Если набор Т разбивается на две части T1 и T2 с числом примеров в каждом N 1 и N 2 соответственно, тогда показатель качества разбиения будет равен: Наилучшим считается то разбиение, для которого Ginisplit(T) минимально. Обозначим N – число примеров в узле – предке, L, R – число примеров соответственно в левом и правом потомке, li и ri – число экземпляров i-го класса в левом/правом потомке. Тогда качество разбиения оценивается по следующей формуле: Чтобы уменьшить объем вычислений формулу можно преобразовать: Так как умножение на константу не играет роли при минимизации: В итоге, лучшим будет то разбиение, для которого величина максимальна. 38. Ассоциативные правила. Алгоритм ограниченного перебора. Ассоциативные правила позволяют находить закономерности между связанными событиями. Примером такого правила, служит утверждение, что покупатель, приобретающий "Хлеб", приобретет и "Молоко" с вероятностью 75%. Первый алгоритм поиска ассоциативных правил, называвшийся AIS [1] был разработан в 1993 году сотрудниками исследовательского центра IBM Almaden. С этой пионерской работы возрос интерес к ассоциативным правилам; на середину 90-х годов прошлого века пришелся пик исследовательских работ в этой области, и с тех пор каждый год появлялось по несколько алгоритмов. Покажем на конкретном примере: "75% транзакций, содержащих хлеб, также содержат молоко. 3% от общего числа всех транзакций содержат оба товара". 75% - это достоверность (confidence) правила, 3% это поддержка (support), или "Хлеб" "Молоко" с вероятностью 75%. Другими словами, целью анализа является установление следующих зависимостей: если в транзакции встретился некоторый набор элементов X, то на основании этого можно сделать вывод о том, что другой набор элементов Y также же должен появиться в этой транзакции. Установление таких зависимостей дает нам возможность находить очень простые и интуитивно понятные правила. Алгоритмы поиска ассоциативных правил предназначены для нахождения всех правил X Y, причем поддержка и достоверность этих правил должны быть выше некоторых наперед определенных порогов, называемых соответственно минимальной поддержкой (minsupport) и минимальной достоверностью (minconfidence). Задача нахождения ассоциативных правил разбивается на две подзадачи: Нахождение всех наборов элементов, которые удовлетворяют порогу minsupport. Такие наборы элементов называются часто встречающимися. Генерация правил из наборов элементов, найденных согласно п.1. с достоверностью, удовлетворяющей порогу minconfidence. Один из первых алгоритмов, эффективно решающих подобный класс задач, – это алгоритм APriori [2]. Кроме этого алгоритма в последнее время был разработан ряд других алгоритмов: DHP[5], Partition[6], DIC[7] и другие. Значения для параметров минимальная поддержка и минимальная достоверность выбираются таким образом, чтобы ограничить количество найденных правил. Если поддержка имеет большое значение, то алгоритмы будут находить правила, хорошо известные аналитикам или настолько очевидные, что нет никакого смысла проводить такой анализ. С другой стороны, низкое значение поддержки ведет к генерации огромного количества правил, что, конечно, требует существенных вычислительных ресурсов. Тем не менее, большинство интересных правил находится именно при низком значении порога поддержки. Хотя слишком низкое значение поддержки ведет к генерации статистически необоснованных правил. Поиск ассоциативных правил совсем не тривиальная задача, как может показаться на первый взгляд. Одна из проблем - алгоритмическая сложность при нахождении часто встречающих наборов элементов, т.к. с ростом числа элементов в I (| I |) экспоненциально растет число потенциальных наборов элементов. Алгоритмы ограниченного перебора были предложены в середине 60-х годов М.М. Бонгардом для поиска логических закономерностей в данных. С тех пор они продемонстрировали свою эффективность при решении множества задач из самых различных областей. Эти алгоритмы вычисляют частоты комбинаций простых логических событий в подгруппах данных. Примеры простых логических событий: X = a; X < a; X > a; a < X < b и др., где X — какой либо параметр, "a" и "b" — константы. Ограничением служит длина комбинации простых логических событий (у М. Бонгарда она была равна 3). На основании анализа вычисленных частот делается заключение о полезности той или иной комбинации для установления ассоциации в данных, для классификации, прогнозирования и пр. Наиболее ярким современным представителем этого подхода является система WizWhy предприятия WizSoft. Хотя автор системы Абрахам Мейдан не раскрывает специфику алгоритма, положенного в основу работы WizWhy, по результатам тщательного тестирования системы были сделаны выводы о наличии здесь ограниченного перебора (изучались результаты, зависимости времени их получения от числа анализируемых параметров и др.). Автор WizWhy утверждает, что его система обнаруживает ВСЕ логические if-then правила в данных. На самом деле это, конечно, не так. Во-первых, максимальная длина комбинации в if-then правиле в системе WizWhy равна 6, и, во-вторых, с самого начала работы алгоритма производится эвристический поиск простых логических событий, на которых потом строится весь дальнейший анализ. Поняв эти особенности WizWhy, нетрудно было предложить простейшую тестовую задачу, которую система не смогла вообще решить. Другой момент — система выдает решение за приемлемое время только для сравнительно небольшой размерности данных.