- •Аннотация
- •Оглавление
- •Глава 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 Алгоритм abcn2
В данном разделе подробно описываются этапы получения продукционных правил с помощью алгоритма ABCN2 [6]. Рассматривается способ аргументирования примеров из выборки обучения, описывается способ оценки условий для формирования правил, поиск пороговых значений для атрибутов непрерывного типа, приводится пошаговое описание алгоритма.
2.5.1 Особенности аргументированного обучения
Обычно машинное обучение состоит из этапов:
Выбор обучающего множества.
Поиск предсказывающих (продукционных) правил.
В ABCN2 методе добавляется еще один этап: аргументирования примеров обучения. Каждый пример представляет собой вектор значений атрибутов. Исходя из этого, аргументы используются для того, чтобы объяснить, почему пример обучения относится, именно, к данному классу (аргументы, выступающие за принадлежность примера к классу, называются положительными аргументами) или не должен относится к классу
( аргументы, выступающие против принадлежности примера к классу, называются отрицательными аргументами).
Рассмотрим пример связанный с выдачей кредита. Пусть есть набор примеров, в каком случае можно выдавать кредит и в каком - нельзя. Предсказывающими атрибутами здесь являются:
Имя (имя заемщика).
РегулярностьВыплат [да, нет] (да - заемщик регулярно погашал кредит, нет - не регулярно).
Достаток [высокий, низкий] (уровень достатка).
ЦветВолос [блондин, шатен].
Целевой или предсказываемый атрибут в этом примере - ВыдачаКредита - принимает два значения: {да – кредит был выдан, нет – отказ в выдачи кредита}. Обучающее множество приведено в табл.2.1
Таблица 2.1 Обучающее множество.
Имя |
РегулярностьВыплат |
Достаток |
ЦветВолос |
Выдача Кредита |
Браун |
Нет |
Высокий |
Блондин |
Да |
Грей |
Нет |
Низкий |
Шатен |
нет |
Вайт |
Да |
Низкий |
Блондин |
Да |
Использование обычного алгоритма обучения приведет к получению следующего правила:
Если ЦветВолос = блондин то ВыдачаКредита = Да
С одной стороны, такое правило является правильным, потому что оно покрывает два из трех примеров. С другой стороны, полученное правило не представляет никакой значимости для финансового эксперта (цвет волос не может быть определяющим в решении выдачи кредита). Посмотрим, что изменится, если ввести аргументы для примеров обучения. Пусть, эксперт проаргументировал пример с выдачей кредита Брауну: Браун получил кредит, потому что Достаток = высокий. С помощью аргументированного обучения получим правило:
Если Достаток = высокий то ВыдачаКредита = Да
Данное правило объясняет, почему Браун получил кредит: кредит был выдан, потому что Браун имеет высокий достаток. Основная мотивация использовать аргументы в обучении состоит из двух преимуществ:
Причины (аргументы) налагают ограничения на множество гипотез, что ведет к уменьшению зоны поиска.
Полученные правила имеют высокую значимость (на этапе прогнозирования класса) для эксперта.
Первое преимущество, использования аргументов, позволяет путем уменьшения всех возможных гипотез сократить время поиска продукционных правил. Кроме того, уменьшение количества рассматриваемых гипотез избавляет от возможности комбинаторного взрыва. Второе преимущество, в том, что в отличие от многих методов обучения, мы получаем правила, которые объясняют принадлежность примера определенному классу. Указанные аргументы позволяют получать гипотезы, которые представлены терминами эксперта.
