- •Аннотация
- •Оглавление
- •Глава 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
3.8.Получение набора аргументированных продукционных правил
До начала этапа обучения системы пользователю необходимо задать значения STARSIZE, HEAPSIZE, а также сколько наборов продукционных правил необходимо сформировать. По умолчанию заданы следующие значения: STARSIZE=3, HEAPSIZE=3, Количество формируемых наборов =2
Условие STARSIZE влияет на мощность множества STAR, а условие HEAPSIZE максимальная глубина правила.
В результате обучения в нижней части программы в окне «Журнал» будет выведена информация об описании атрибутов, их допустимые значения, выведены сформированные наборы продукционных правил, а также общая сводка всех правил, построенных в ходе работы алгоритма.(Рис.3.9)
Рис.3.9 Окно вывода журнала.
После проведения обучения будет сформирован ряд аргументированных продукционных правил, которые можно использовать для классификации экзаменационной(выборка, примеры которой не встречались раннее) выборки, вкладка «Экзамен» становится доступна для перехода.
3.9.Вкладка «Экзамен»
На данном этапе необходимо загрузить или ввести вручную необходимую для дальнейшей классификации экзаменационную выборку(Рис.3.10).
Рис.3.10 Результат работы классификации.
После проведения классификации результат будет занесен в отчет для дальнейшего вычисления процента достоверности алгоритма. Для удобства реализован механизм раскрашивания столбца «Экзамен», что позволяет довольно быстро оценить результат выполнения классификации. Также в столбце «Причина» для эксперта выводится информация, почему пример отнесен к тому или иному классу.
3.10. Выводы
В данной главе был дан обзор программной реализации алгоритма CN2, а также ABCN2. Описаны требования к системе, основные возможности и принцип работы. Программа обладает удобным, интуитивно понятным интерфейсом, позволяет быстро загружать необходимые наборы входных данных, выводить в понятной для эксперта форме набор аргументированных решающих правил.
В следующей главе будет произведено тестирование работы реализованных алгоритмов на наборах из тестовых баз данных из хранилища UCI Machine Learning Repository[12].
Глава 4. Тестирование работы алгоритма и исследование полученных результатов
4.1. Исследование правильности построения продукционных правил
Возьмем небольшую обучающую выборку (табл. 4.1), рассмотренную Р.Куинланом в работе [4].
Таблица 4.1 Обучающая выборка
№ |
Outlook (Погода) |
Temperature (Температура) |
Humidity (Влажность) |
Wind (Ветер) |
Play ball? (Играть в мяч?) |
1 |
sunny |
hot |
high |
weak |
No |
2 |
sunny |
hot |
high |
strong |
No |
3 |
overcast |
hot |
high |
weak |
Yes |
4 |
rain |
mild |
high |
weak |
Yes |
5 |
rain |
cool |
normal |
weak |
Yes |
6 |
rain |
cool |
normal |
strong |
No |
7 |
overcast |
cool |
normal |
strong |
Yes |
8 |
sunny |
mild |
high |
weak |
No |
9 |
sunny |
cool |
normal |
weak |
Yes |
10 |
rain |
mild |
normal |
weak |
Yes |
11 |
sunny |
mild |
normal |
strong |
Yes |
12 |
overcast |
mild |
high |
strong |
Yes |
13 |
overcast |
hot |
normal |
weak |
Yes |
14 |
rain |
mild |
high |
strong |
No |
В данной обучающей выборке объекты характеризуются значениями 5 признаков – Outlook, Temperature, Humidity, Wind, Play ball. Последний атрибут является целевым, он определяет два возможных класса (yes,no). Для начала построим набор продукционных правил с помощью алгоритма CN2 и сравним полученный результат с деревом из работы Р. Куинлана. Так как дерево может быть представлено в виде набора продукционных правил, мы сможем оценить эффективность разработанного алгоритма CN2.
Однозначного
сходства полученных в результате
обучения продукционных правил с правилами
из алгоритма ID3
добиться не получилось, в силу того, что
в алгоритме CN2
выбор очередного примера SEED,
а также
,
имеет «случайный» характер, что
значительно влияет на полученные
продукционные правила.
На рисунке 4.1 представлены продукционные правила, полученные с помощью алгоритма CN2 и дерево решений из статьи Р. Куинлана.
а)
б)
Рис. 4.1 Полученные продукционные правила (а – программная реализация, б – из статьи Р.Куинлана)
Так как на рисунке 4.1 изображены две разные модели представления правил, для удобства преобразуем дерево решений в набор продукционных правил:
Если Outlook= Sunny & Humidity = High, то Play Ball = false
Если Outlook= Sunny & Humidity = Normal, то Play Ball = true
Если Outlook= Overcast, то Play Ball = true
Если Outlook= Rain & Wind = Strong, то Play Ball = false
Если Outlook= Rain & Wind = Weak, то Play Ball = false
Преобразованные правила из дерева решений ID3 имеют сходство с правилами, полученными с помощью алгоритма CN2, что говорит о корректной работе реализованного алгоритма.
