Системы искусственного интеллекта. Искусственного интеллекта Понятия ии, свойства знаний
Скачать 0.75 Mb.
|
27. Введение нечеткости Нечеткость (введение нечеткости, фазификация, fuzzifica-tion). Функции принадлежности, определенные на входных переменных применяются к их фактическим значениям для определения степени истинности каждой предпосылки каждого правила. На этапе фаззификации значениям всех входным переменным системы нечеткого вывода, полученным внешним по отношению к системе нечеткого вывода способом, например, при помощи датчиков, ставятся в соответствие конкретные значения функций принадлежности соответствующих лингвистических термов, которые используются в условиях ядер нечетких продукционных правил, составляющих базу нечетких продукционных правил системы нечеткого вывода. 28. Агрегирование подусловий Агрегирование – это процедура определения степени истинности условий по каждому из правил системы нечеткого вывода. При этом используются полученные на этапе фаззификации значения функций принадлежности термов лингвистических переменных, составляющих вышеупомянутые условия (антецеденты) ядер нечетких продукционных правил. Если условие нечеткого продукционного правила является простым нечетким высказыванием, то степень его истинности соответствует значению функции принадлежности соответствующего терма лингвистической переменной. Если условие представляет составное высказывание, то степень истинности сложного высказывания определяется на основе известных значений истинности составляющих его элементарных высказываний при помощи введенных ранее нечетких логических операций в одном из оговоренных заранее базисов. 29. Активизация и аккумулирование заключений Активизация в системах нечеткого вывода – это процедура или процесс нахождения степени истинности каждого из элементарных логических высказываний (подзаключений), составляющих консеквенты ядер всех нечетких продукционных правил. Поскольку заключения делаются относительно выходных лингвистических переменных, то степеням истинности элементарных подзаключений при активизации ставятся в соответствие элементарные функции принадлежности. Аккумуляция (или аккумулирование) в системах нечеткого вывода – это процесс нахождения функции принадлежности для каждой из выходных лингвистических переменных. Цель аккумуляции состоит в объединении всех степеней истинности подзаключений для получения функции принадлежности каждой из выходных переменных. Результат аккумуляции для каждой выходной лингвистической переменной определяется как объединение нечетких множеств всех подзаключений нечеткой базы правил относительно соответствующей лингвистической переменной. 30. Приведение к четкости Дефаззификация в системах нечеткого вывода – это процесс перехода от функции принадлежности выходной лингвистической переменной к её четкому (числовому) значению. Цель дефаззификации состоит в том, чтобы, используя результаты аккумуляции всех выходных лингвистических переменных, получить количественные значения для каждой выходной переменной, которое используется внешними по отношению к системе нечеткого вывода устройствами (исполнительными механизмами интеллектуальной САУ). 31. Алгоритмы нечеткого вывода Алгоритм Mamdani 1. Нечеткость: находятся степени истинности для предпосылок каждого правила: 2. Нечеткий вывод: находятся уровни «отсечения» для предпосылок каждого из правил (с использованием операции МИНИМУМ) 3. Композиция: с использование операции производится объединение найденных усеченных функций, что приводит к получению итогового нечеткого подмножества для переменной выхода с функцией принадлежности 4. Наконец, приведение к четкостипроводится, например, центроидным методом. Алгоритм Tsukamoto 1. Первый этап — такой же, как в алгоритме Mamdani. 2. На втором этапе сначала находятся (как в алгоритме Mamdani) уровни «отсечения» α 1 и α 2 , а затем — посредством решения уравненийь— четкие значения для каждого из исходных правил. 3. Определяется четкое значение переменной вывода Алгоритм Sugeno 1. Первый этап — как в алгоритме Mamdani. 2. На втором этапе находятся минимумы и индивидуальные выходы правил: З. На третьем этапе определяется четкое значение переменной вывода: Алгоритм Larsen 1. Первый этап — как в алгоритме Mamdani. 2. На втором этапе, как в алгоритме Mamdani вначале находятся значения минимума, а затем — частные нечеткие подмножества 3. Находится итоговое нечеткое подмножество с функцией принадлежности 4. При необходимости производится приведение к четкости (как в ранее рассмотренных алгоритмах). Упрощенный алгоритм нечеткого вывода 1. Первый этап — как в алгоритме Mamdani. 2. На втором этапе находятся числа минимумов 3. На третьем этапе находится четкое значение выходной переменной по формуле 32. Проблемы разработки ЭС. Экспертная система представляет собой программный комплекс, содержащий знания специалистов из определенной предметной области, обеспечивающий консультациями менее квалифицированных пользователей для принятия экспертных решений. 1. Этапы разработки промышленных ЭС Выбор проблемы. Разработка прототипа ЭС. Доработка до промышленной ЭС. Оценка ЭС. Стыковка ЭС. Поддержка ЭС. 1. Выбор проблемы определение проблемной области и задачи; поиск эксперта и определение коллектива разработчиков; определение предварительного подхода к решению проблемы; предварительная оценка расходов и доходов; подготовка подробного плана разработки. 33. Технология быстрого прототипирования. Прототипная система является усеченной версией экспертной системы, спроектированной для проверки правильности кодирования фактов, связей и стратегий рассуждения эксперта. Она также дает возможность инженеру по знаниям привлечь эксперта к активному участию в процессе разработки экспертной системы, и, следовательно, к принятию им обязательства приложить все усилия к созданию системы в полном объеме. 34. РАЗРАБОТКА ЭС В ПРОЛОГЕ. ПРЕДСТАВЛЕНИЕ ЗНАНИЙ. 1. Структура программы на Прологе директивы компилятора; CONSTANTS - раздел описания констант; DOMAINS - раздел описания доменов; DATABASE - раздел описания предикатов внутренней базы данных; PREDICATES - раздел описания предикатов; CLAUSES - раздел описания предложений; GOAL - раздел описания внутренней цели. 2. Раздел описания констант Раздел CONSTANTS предназначен для описания констант. Объявление имеет вид: <имя константы>=<значение> Имя константы должно быть идентификатором, то есть оно может состоять из английских букв, цифр и знака подчеркивания, не может начинаться с цифры. Каждое определение константы в отдельной строке. 3. Раздел доменов Является аналогом раздела описания типов в обычных языках программирования и начинается с ключевого слова DOMAINS. Стандартные домены не нужно указывать в разделе описания доменов. Это: integer - целое число (из промежутка -32768...32767); real - действительное число (лежащее между ±1e-307... ±1e308); char - символ, заключенный в одиночные апострофы; string - последовательность символов, заключенная в двойные кавычки; symbol - символическая константа. 4. Раздел предикатов В разделе PREDICATES содержатся описания определяемых пользователем предикатов. В традиционных языках подобными разделами являются описания заголовков процедур и функций. Описание n-местного предиката имеет вид: <имя предиката>(<имя домена первого аргумента>,...,<имя домена n-го аргумента>). Домены аргументов должны быть либо стандартными, либо объявленными в разделе описания доменов. Имя предиката в должно быть идентификатором. Основной принцип использования языка Пролог состоит в том, что нужно подробно, на логически точном языке, описать условие задачи. Решение ее получается в результате определенного рутинного процесса, который исполняется компьютером. Важно понимать, что база данных содержит факты, а база знаний — правила вывода решений на основе фактов и введенных пользователем данных. Правила представляют собой, по сути, исходный код программы, — именно поэтому для разработки экспертных систем удобно использовать языки типа SWI Prolog, ведь они позволяют добавлять новые правила в программу прямо во время ее исполнения. Для ЭС лучшим решением является использование некоторого логического языка. Если сравнить код, реализующий одну и ту же ЭС, то у процедурного языка он будет гораздо более объемным и более сложным. А наличие таких механизмов в языке как сопоставление образцов, древовидное представление структур, автоматический возврат делают его просто незаменимым языком для программирования ЭС. Общепринятое представление ЭС в виде базы знаний и механизма вывода не полностью пригодно для ЭС, написанных на Прологе. Многие функции механизма вывода обеспечиваются самим Прологом. Базы знаний, образованные средствами Пролога, являются выполняемыми. Однако Пролог не обеспечивает некоторых важных свойств ЭС, обычно встроенных в механизм вывода. Примеры таких свойств порождение объяснений и рассуждения в условиях неопределенности. Исходя из этого, средой для реализации основной части ЭС был выбран язык Пролог, в качестве одного из лучших представителей языков логического программирования. Представление знаний – важная проблема, т.к. она влияет на свойства и характеристики ИИС. Представление знаний – это формализация знаний для их ввода в базу знаний. Действия над знаниями осуществляются программным путѐм, поэтому знания должны быть представлены формальными моделями, к которым предъявляются два основных требования: 1.ОДНОРОДНОСТЬ (единообразие) - дает возможность упростить механизм управления логическим выводом и знанием; 2.ПОНЯТНОСТЬ для экспертов и пользователей. Иначе затрудняется процесс приобретения знаний и оценка их качества. 35. ХАРАКТЕРИСТИКА НЕЙРОСЕТЕЙ Нейронные сети — вычислительные системы или машины, созданные для моделирования аналитических действий, совершаемых человеческим мозгом. Нейронные сети относятся к направлению искусственного интеллекта (ИИ) и применяются для распознавания скрытых закономерностей в необработанных данных, группировки и классификации, а также решения задач в области ИИ, машинного и глубокого обучения. Нейронная сеть представляет собой модель, состоящую из искусственных нейронов, которые работают по принципу тех, что работают в человеческом мозгу. Нейронная сеть – модель, способная обучаться с помощью алгоритмов. Главной характеристикой нейронных сетей является то, что они обучаются и это обучение основано на примерах. Процесс обучения искусственным нейронным сетям происходит с использованием специальных алгоритмов, и за последние пару десятилетий он стал намного быстрее и проще. Классификация по типу входной информации Аналоговые нейронные сети (используют информацию в форме действительных чисел); Двоичные нейронные сети (оперируют с информацией, представленной в двоичном виде); Образные нейронные сети (оперируют с информацией, представленной в виде образов: знаков, иероглифов, символов). Классификация по характеру обучения Обучение с учителем — выходное пространство решений нейронной сети известно; Обучение без учителя — нейронная сеть формирует выходное пространство решений только на основе входных воздействий. Такие сети называют самоорганизующимися; Обучение с подкреплением — система назначения штрафов и поощрений от среды. Классификация по характеру настройки синапсов, по времени передачи сигнала, по характеру связей 36. Искусственный нейрон В области искусственного интеллекта и машинного обучения искусственным нейроном называют вычислительный элемент, представляющий собой математическую модель биологического нейрона, который используется в качестве базового элемента для построения искусственных нейронных сетей. Искусственный нейрон имеет несколько входов (аналогов синапсов биологического нейрона) и единственный выход (аналог аксона). Каждый вход имеет некоторый вес, на который умножается значение, поступившее по данному входу. В теле (ячейке) нейрона происходит суммирование взвешенных входов, а полученная сумма преобразуется с помощью активационной (передаточной) функции нейрона, обычно нелинейной. Математически, искусственный нейрон обычно представляют как некоторую нелинейную функцию от единственного аргумента — линейной комбинации всех входных сигналов. 37. Модель нейронной сети Модель нейронной сети описывает её архитектуру и конфигурацию, а также используемые алгоритмы обучения. Архитектура нейронной сети определяет общие принципы её построения (плоскослоистая, полносвязная, слабосвязная, прямого распространения, рекуррентная и т.д.). Конфигурация конкретизирует структуру сети в рамках заданной архитектуры: число нейронов, число входов и выходов сети, используемые активационные функции. 38. Обучение нейронных сетей В машинном обучении под данным термином понимается процесс подстройки параметров обучаемой модели до состояния, при котором она сможет выполнять требуемое преобразование данных с достаточной точностью. Применительно к искусственным нейронным сетям – это целенаправленный процесс коррекции весов нейронов, итеративно повторяемый до тех пор, пока сеть не приобретет необходимые свойства для корректного преобразования данных. Применительно к аналитическим моделям в целом – это процесс подбора параметров аналитической модели, который осуществляется на экспериментальных данных. Классификация по характеру обучения Обучение с учителем — выходное пространство решений нейронной сети известно; Обучение без учителя — нейронная сеть формирует выходное пространство решений только на основе входных воздействий. Такие сети называют самоорганизующимися; Обучение с подкреплением — система назначения штрафов и поощрений от среды. 39. ЗАДАЧИ КЛАССИФИКАЦИИ ДАННЫХ В искусственном интеллекте и машинном обучении — задача разделения множества наблюдений (объектов) на группы, называемые классами, на основе анализа их формального описания. При классификации каждая единица наблюдения относится определенной группе или номинальной категории на основе некоторого качественного свойства. В машинном обучении задача классификации решается с использованием обучения с учителем, поскольку классы определяются заранее и для примеров обучающего множества метки классов заданы. Аналитические модели, решающие задачу классификации, называются классификаторами. Задача классификации представляет собой одну из базовых задач прикладной статистики и машинного обучения, а также искусственного интеллекта в целом. Это связано с тем, что классификация является одной из наиболее понятных и простых для интерпретации технологий анализа данных, а классифицирующие правила могут быть сформулированы на естественном языке. К числу распространенных методов решения задачи классификации относятся: нейронные сети; логистическая и пробит-регрессия; деревья решений; метод ближайшего соседа; машины опорных векторов; дискриминантный анализ. 40. Примеры классификаторов В искусственном интеллекте и машинном обучении — задача разделения множества наблюдений (объектов) на группы, называемые классами, на основе анализа их формального описания. При классификации каждая единица наблюдения относится определенной группе или номинальной категории на основе некоторого качественного свойства. В машинном обучении задача классификации решается с использованием обучения с учителем, поскольку классы определяются заранее и для примеров обучающего множества метки классов заданы. Аналитические модели, решающие задачу классификации, называются классификаторами. Метод k-ближайших соседей (K-Nearest Neighbors); В случае использования метода для классификации объект присваивается тому классу, который является наиболее распространённым среди k соседей данного элемента, классы которых уже известны. В случае использования метода для регрессии, объекту присваивается среднее значение по k ближайшим к нему объектам, значения которых уже известны. Метод опорных векторов (Support Vector Machines); Основная идея метода заключается в построении гиперплоскости, разделяющей объекты выборки оптимальным способом. Алгоритм работает в предположении, что чем больше расстояние (зазор) между разделяющей гиперплоскостью и объектами разделяемых классов, тем меньше будет средняя ошибка классификатора. Классификатор дерева решений (Decision Tree Classifier) / Случайный лес (Random Forests); Дерево решений — классификатор, построенный на основе решающих правил вида «если, то», упорядоченных в древовидную иерархическую структуру. Наивный байесовский метод (Naive Bayes); Работает на основе баесовской теоремы Линейный дискриминантный анализ (Linear Discriminant Analysis); Логистическая регрессия (Logistic Regression); 41. ЯЗЫК R Язык R — это язык программирования для статистических вычислений и графики. Его используют в социальных и экономических науках для поиска причинно-следственных связей, сравнения выборок, создания наглядных отчётов и графиков. интерпретируемый объектно-ориентированный язык программирования. Что это значит? Функции или таблицы для него — это объекты, которые относятся к определённому классу (типу данных), а готовая программа исполняется сразу — строчка за строчкой. Компилировать код в исполняемый файл перед запуском не надо. 42. МАШИННОЕ ОБУЧЕНИЕ Машинное обучение (Machine Learning) — подраздел искусственного интеллекта, изучающий методы построения алгоритмов, способных обучаться. Различают два типа обучения. Обучение по прецедентам, или индуктивное обучение, основано на выявлении общих закономерностей по частным эмпирическим данным. Дедуктивное обучение предполагает формализацию знаний экспертов и их перенос в компьютер в виде базы знаний. Дедуктивное обучение принято относить к области экспертных систем, поэтому термины машинное обучение и обучение по прецедентам можно считать синонимами. Машинное обучение находится на стыке математической статистики, методов оптимизации и классических математических дисциплин, но имеет также и собственную специфику, связанную с проблемами вычислительной эффективности и переобучения. Многие методы индуктивного обучения разрабатывались как альтернатива классическим статистическим подходам. Многие методы тесно связаны с извлечением информации и интеллектуальным анализом данных (Data Mining). |