- •Аннотация
- •Оглавление
- •Глава 1.Интеллектуальный анализ данных и Data Mining 8
- •Глава 2. Обзор алгоритмов обобщения с «учителем» 29
- •Глава 3. Программная реализация алгоритма cn2 и abcn2 49
- •Глава 4. Тестирование работы алгоритма и исследование полученных результатов 60
- •Введение
- •Глава 1.Интеллектуальный анализ данных и Data Mining
- •1.1. Задачи Data Mining
- •1.1.1. Задача классификации и регрессии
- •1.1.2. Задача кластеризации
- •1.1.3. Задача поиска ассоциативных правил
- •1.2. Модели Data Mining
- •1.3. Методы Data Mining
- •1.4. Общий подход в прогнозирующих методах
- •1.5. Классификация алгоритмов качественного обобщения по признакам
- •1.5.1.Способы представления исходной информации в интеллектуальных системах
- •1.5.2.Варианты реализации систем обобщения
- •1.5.2.1 Обучение "без учителя": основные понятия
- •1.5.2.2. Обучение "с учителем": постановка задачи
- •1.6 Выводы
- •Глава 2. Обзор алгоритмов обобщения с «учителем»
- •2.1.1 Алгоритм древ
- •2.1.2. Описание алгоритма древ
- •2.2. Алгоритм id3(индукция решающих деревьев)
- •2.3 Алгоритм aq
- •2.3.1 Описание алгоритма
- •2.3.2 Псевдокод алгоритма
- •2.4 Алгоритм cn2
- •2.4.1 Описание алгоритма
- •2.4.2 Псевдокод алгоритма
- •2.5 Алгоритм abcn2
- •2.5.1 Особенности аргументированного обучения
- •2.5.2 Аргументирование примеров
- •2.5.3 Оценка условий формируемых правил
- •2.5.4 Алгоритм извлечения продукционных правил
- •2.6 Выводы
- •Глава 3. Программная реализация алгоритма cn2 и abcn2
- •3.1 Постановка задачи
- •3.2 Требования к системе
- •3.3 Среда разработки
- •3.4. Форматы входных и выходных данных
- •3.5 Интерфейс
- •3.6. Ввод информации об атрибутах
- •3.7.Ввод обучающей выборки и построение аргументированных продукционных правил
- •3.8.Получение набора аргументированных продукционных правил
- •3.9.Вкладка «Экзамен»
- •3.10. Выводы
- •Глава 4. Тестирование работы алгоритма и исследование полученных результатов
- •4.1. Исследование правильности построения продукционных правил
- •4.2. Оценка точности классификации примеров(с помощью алгоритма cn2)
- •4.2.1 Результат классификации в задаче monk1(cn2)
- •4.2.2 Результат классификации в задаче monk2(cn2)
- •4.2.3 Результат классификации в задаче monk3(cn2)
- •4.3. Оценка точности классификации примеров (с помощью алгоритма abcn2)
- •4.3.1 Результат классификации в задаче monk1(abcn2)
- •Ниже представлены аналогичные результаты тестирования для задачи monk3.
- •4.3.2 Результат классификации в задаче monk3(abcn2)
- •4.4 Выводы
- •Заключение
- •Список литературы
- •Пространство имён DataStructures
- •Пространство имён uc
- •Пространство имён PercentageConverter.Cs
- •Пространство имён AttrinuteTypesView
- •Пространство имён LearningExamplesView
- •Пространство имён ArguedLearningExamplesView
- •Пространство имён ExamineExamolesView
- •Пространство имён Log
- •Пространство имён NumericUpDown
- •Проект WpfApp
2.5.4 Алгоритм извлечения продукционных правил
В упрощенном варианте, алгоритм ABCN2 состоит из следующих процедур: извлечения правил, покрытия примеров. Далее, приведено описание переменных, которые используются в алгоритме и сам алгоритм по шагам с необходимыми комментариями.
Переменные:
T – класс, к которому относится пример обучения.
ES – множество примеров обучения.
AES – выборка примеров для которых заданы аргументы.
– первый
аргументированный пример из множества
AES.RULE_LIST – множество правил.
BEST_RULE – данная переменная содержит оптимальное правило, полученное из аргументированного примера.
RULE_LIST – множество всех продукционных правил полученных алгоритмом.
STAR – элементами множества являются все положительные аргументы представленные как условия из примера .
BEST_CPX – данная переменная хранит лучшее условие, на основании которого будет сформировано правило.
SELECTORS – множество всех возможных селекторов примера .
ARG_REASONS – все положительные аргументы примера .
NEWSTAR – множество условий {x ^y||x STAR, ySELECTORS}.
ABNEWSTAR – подмножество NEWSTAR, где условия содержат селекторы из ARG_REASONS.
ABSTAR – N лучших условий из ABNEWSTAR.
Алгоритм извлечения правил:
0. Начало.
Инициализация переменных.
Запись в AES всех примеров с аргументами из множества ES.
Поиск пороговых значений (см. раздел 2.4.4) для всех атрибутов, для которых они не заданы.
Оценка аргументов каждого примера из множества AES и сортировка этих примеров по лучшему аргументу.
Присвоение первого аргументированного примера из множества AES.
Запись в STAR положительных аргументов из примера в виде условий.
Оценка всех условий из STAR и присвоение переменной BEST_CPX условия с самым высоким значением оценочной функции.
Формирование SELECTORS и ARG_REASONS из примера .
Формирование NEWSTAR как множество условий в виде конъюнкции условий из STAR и селектора из SELECTORS.
Удаление всех условий из NEWSTAR, которые содержат отрицательные аргументы из .
Оценка всех условий из NEWSTAR , если найдено условие лучше чем BEST_CPX, то присвоение BEST_CPX этого условия, иначе – удалить условие из NEWSTAR.
Сортировка условий из NEWSTAR. Формирование STAR как N лучших условий из NEWSTAR
Формирование ABNEWSTAR как подмножество условий из NEWSTAR, содержащих селекторы из ARG_REASONS.
Запись в ABSTAR N условий из ABNEWSTAR.
Формирование STAR как объединение множества из STAR c множеством из ABSTAR.
Если в STAR содержит условия – переход к шагу 5.4, иначе – переход к шагу 6.
Присвоение переменой BEST_RULE правила, формируемое из условия BEST_CPX.
Добавление BEST_RULE в список правил RULE_LIST.
Удаление всех примеров из AES, которые покрываются правилом BEST_RULE.
Если в AES остались аргументированные примеры – переход к шагу 5, иначе - переход к шагу 10.
Удаление всех примеров из ES, покрываемых правилами из RULE_LIST.
Конец.
