Исследование и разработка методов и программных средств интеллектуального анализа данных на основе прецедентов тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат наук Ар Кар Мьо

  • Ар Кар Мьо
  • кандидат науккандидат наук
  • 2017, ФГБОУ ВО «Национальный исследовательский университет «МЭИ»
  • Специальность ВАК РФ05.13.11
  • Количество страниц 188
Ар Кар Мьо. Исследование и разработка методов и программных средств интеллектуального анализа данных на основе прецедентов: дис. кандидат наук: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей. ФГБОУ ВО «Национальный исследовательский университет «МЭИ». 2017. 188 с.

Оглавление диссертации кандидат наук Ар Кар Мьо

ВВЕДЕНИЕ

ГЛАВА 1 ИНТЕЛЛЕКТУАЛЬНЫЙ АНАЛИЗ ДАННЫХ

1.1 Основные определения и этапы ИАД

1.2 Процесс обнаружения знаний

1.2.1 Основные этапы процесса обнаружения знаний

1.2.2 Подготовка исходных данных

1.3 Задачи ИАД

1.4 Методы ИАД

1.5 Программные средств, обеспечивающие ИАД

1.5.1 Технология OLAP и многомерные модели данных

1.5.2 Обзор программных средств ИАД для СУБД

1.6 Программные средства CBR

1.7 Выводы по Главе

ГЛАВА 2 ИНТЕЛЛЕКТУАЛЬНЫХ АНАЛИЗ ДАННЫХ НА ОСНОВЕ ПРЕЦЕДЕНТОВ

2.1 Цикл рассуждения (обучения) на основе прецедентов

2.2 Модифицированный CBR цикл

2.3 Способы представления прецедентов

2.4 Извлечение прецедентов

2.4.1 Извлечение прецедентов методом ближайшего соседа (ближайших соседей) с использованием различных метрик

2.4.2 Модификация алгоритма извлечения прецедентов на основе k-ближайших соседей (k-NN)

2.5 Повторное использование прецедентов

2.6 Адаптация и применение прецедентов

2.7 Сохранение прецедентов

2.8 Применение прецедентного подхода для решения задач ИАД

2.9 Этапы разработки CBR систем

2.10 Выводы по Главе

ГЛАВА 3 ПОВЫШЕНИЕ БЫСТРОДЕЙСТВИЯ CBR СИСТЕМ

3.1 Сокращение количества прецедентов в БП

3.1.1 Индексирование БП

3.1.2 Сокращение прецедентов в БП с использованием методов классификации

3.1.3 Сокращение количества прецедентов в БП на основе кластерных методов

3.2 Обобщение накопленного опыта (прецедентов) с использованием индуктивных методов

3.2.1 Алгоритм ID3

3.2.2 Алгоритм C4

3.3 Обучение искусственной нейронной сети на основе БП для решения задачи классификации

3.3.1 Многослойный персептрон

3.3.2 Алгоритмы обучения ИНС

3.4 Выводы по Главе

ГЛАВА 4 РЕАЛИЗАЦИЯ ПРОТОТИПА ПОДСИСТЕМЫ ИАД НА ОСНОВЕ ПРЕЦЕДЕНТОВ

4.1 Архитектура прототипа CBR системы

4.2 Особенности реализации прототипа CBR системы

4.2.1 Windows Forms

4.2.2 ADO.NETEntity Framework

4.2.3 Аналитическая платформа Deductor

4.2.4 SQL Server Analysis Services

4.3 Пример использования прототипа CBR системы

4.4 Результаты вычислительных экспериментов для сравнения алгоритмов извлечения прецедентов

4.4.1 Результаты работы алгоритма k-NN с использованием различных метрик

4.4.2 Результаты работы модифицированного алгоритма k-NN

4.5 Результаты по оценке качества классификации CBR системой с использованием модифицированного CBR цикла

4.6 Результаты сравнения алгоритмов сокращения количества прецедентов в БП

4.7 Выводы по Главе

ЗАКЛЮЧЕНИЕ

СПИСОК ЛИТЕРАТУРЫ

ПРИЛОЖЕНИЕ 1 Программный код основных модулей прототипа CBR системы

ПРИЛОЖЕНИЕ 2 Акт о внедрении и свидетельство о регистрации программы для ЭВМ

ПРИЛОЖЕНИЕ 3 Наборы данных для вычислительных экспериментов

Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Введение диссертации (часть автореферата) на тему «Исследование и разработка методов и программных средств интеллектуального анализа данных на основе прецедентов»

ВВЕДЕНИЕ

Тема диссертации затрагивает актуальную в настоящее время проблему в области искусственного интеллекта (ИИ), связанную с исследованием и разработкой эффективных методов интеллектуального анализа данных (ИАД) и соответствующих программных средств [1, 4]. Методы ИАД активно применяются в интеллектуальных системах (ИС) и, в частности, в интеллектуальных системах поддержки принятия решений (ИСППР), а также в системах управления базами данных (СУБД) и знаний (СУБЗ), бизнес-приложениях, системах машинного обучения, системах электронного документооборота и др. [1-78].

В ИАД для извлечения новых знаний из имеющихся данных применяются различные методы [2, 4]: статистические и индуктивные процедуры (деревья решений), генетические алгоритмы, искусственные нейронные сети, кластерный анализ, прецедентные методы и др.

Для выполнения ИАД в работе предлагается использовать методы правдоподобных рассуждений на основе прецедентов (CBR - Case-Based Reasoning) [3].

Выполненные исследования опираются на результаты работ в области конструирования ИС и моделирования правдоподобных рассуждений в области ИИ Д.А. Поспелова, В.К. Финна, В.Н. Вагина, А.П. Еремеева, О.П. Кузнецова, Г.С. Осипова, А.Б. Петровского, В.Б. Тарасова, И.Б. Фоминых, В.Ф. Хорошевского, Т.А. Гавриловой, Н.Г. Загоруйко, М.М. Бонгарда и др., а также зарубежных ученых Р. Шенка (R. Schank), Р. Абельсона (R. Abelson), Г. Пятецкий-Шапиро (G. Piatetsky-Shapiro), А. Аамодта (A. Aamodt), Е. Плаза (E. Plaza) и др.

Объектом исследования являются методы и средства ИАД в СУБД. Предметом исследования являются методы ИАД на основе прецедентов.

Целью работы является исследование и разработка методов и программных средств ИАД на основе прецедентов для СУБД и СУБЗ.

Для достижения указанной цели необходимо решить следующие задачи:

- исследование различных технологий, методов и программных средств ИАД для современных СУБД и СУБЗ;

- анализ проблем, связанных с разработкой методов и программных средств ИАД для ИС и современных СУБД;

- разработка методов ИАД на основе прецедентов для ИС и СУБД, а также методов сокращения количества прецедентов в базе прецедентов (БП);

- разработка соответствующих алгоритмов для ИАД на основе прецедентов и алгоритмов сокращения количества прецедентов в БП с использованием классификационных и кластерных методов;

- программная реализация прототипа подсистемы ИАД на основе прецедентов.

Методы исследования. Поставленные задачи решаются с использованием методов дискретной математики, математической логики, методов ИИ, методов ИАД, методов правдоподобных рассуждений на основе прецедентов, теории программирования.

Научная новизна исследования состоит в следующем:

1. Разработана модификация алгоритма извлечения прецедентов на основе к-ближайших соседей (к-ЫЫ) для ИАД, заключающаяся в изменении значения к в зависимости от размера БП. Данная модификация позволяет повысить

качество решения задач ИАД, в частности, повысить качество классификации данных с использованием СБЯ метода при увеличении размера БП.

2. Предложен модифицированный СБЯ метод (СБЯ цикл), использующий экспертную информацию (тестовые наборы данных) для извлечения прецедентов. Данный метод повышает качество решения задач ИАД на основе прецедентов за счет формирования базы удачных (подходящих) и неудачных (неподходящих) прецедентов в процессе выполнения СБЯ цикла.

3. Для повышения быстродействия СБЯ систем разработаны алгоритмы сокращения количества прецедентов в БП на основе классификационных и кластерных методов. Предложенные алгоритмы позволяют значительно повысить быстродействие СБЯ систем за счет сокращения количества прецедентов в БП без существенной потери качества решения задач ИАД (например, задачи классификация данных).

Практическая значимость работы заключается в создании программных средств для реализации ИАД на основе прецедентов в современных ИС (ИСППР) и СУБД с целью повышения эффективности и расширения интеллектуальных возможностей компьютерных систем на примере СУБД.

Практическая значимость работы подтверждается использованием разработанных в диссертации программных модулей, в том числе модуля для оптимизации базы прецедентов СБЯ систем, предназначенного для повышения быстродействия СБЯ систем и зарегистрированного в государственном реестре программ для ЭВМ (свидетельство № 2016617638 от 13 июля 2016 г.), в НИР кафедры ПМ, выполняемой по гранту РФФИ №15-07-04574 и государственному заданию Минобрнауки РФ №2.737.2014/К, а также в учебно-научном процессе кафедры ПМ ФГБОУ ВО «НИУ «МЭИ», о чем имеется акт о внедрении.

Достоверность научных результатов подтверждена теоретическими выкладками, данными компьютерного моделирования, а также сравнением полученных результатов с результатами, приведенными в научной литературе.

Апробация работы. Основные положения и результаты диссертации прошли апробацию на ряде научных конференций в том числе с международным участием. На XX международной научно-технической конференции «Информационные средства и технологии», г. Москва, 2012 г., на 19-ой и 20-ой международных научно-технических конференциях студентов и аспирантов «Радиоэлектроника, электротехника и энергетика», г. Москва, 2013, 2014 г.г. и на международном академическом форуме ЛМО-БР1ТБЕ-ЫЕБЕЕЕ (Москва-Смоленск, 20-25 июня 2016 г.).

Публикации. Основные результаты, полученные при выполнении диссертационной работы, опубликованы в 6 печатных работах и из них две в журнале, включенном в перечень ВАК ведущих рецензируемых научных журналов и изданий.

Структура и объем работы. Диссертация состоит из введения, 4 глав, заключения, списка использованной литературы (117 наименований) и 3 приложений. Диссертация содержит 159 страниц машинописного текста (без приложений), 32 рисунка и 7 таблиц.

СОДЕРЖАНИЕ РАБОТЫ

Во введении обоснована актуальность темы диссертации, ее научная новизна и практическая значимость, сформулирована цель работы и приведено краткое содержание диссертации по главам.

В первой главе приведены основные определения (ИАД, Knowledge Discovery in Databases (KDD), Data Mining (DM) и др.) и этапы ИАД, включающие формулировку постановки задачи в терминах целевых переменных, подготовку данных для анализа, выполнение анализа данных с помощью методов DM, верификацию и интерпретацию полученных результатов.

Описан процесс обнаружения знаний на основе ИАД, который включает: выбор предметной области и релевантного знания для реализации целей конечного пользователя компьютерной системы; выбор исходного множества данных и подмножества переменных, которые необходимы для извлечения нового знания из базы фактов; уточнение данных и предпроцессинг; редукцию данных; выбор задачи DM и алгоритмов, реализующих DM для поиска закономерностей в данных; выдачу результатов в форме, удобной для пользователя; интерпретацию полученных данных; обзор и согласование обнаруженного знания.

Рассмотрены различные задачи ИАД (классификация, кластеризация (сегментация), регрессия, прогнозирование, поиск ассоциативных правил, анализ последовательностей, анализ отклонений, оценивание, анализ связей, визуализация данных и др.) и методы ИАД (например, методы классификации и кластерного анализа, последовательные модели, деревья решений, метод опорных векторов, байесовские сети, линейная регрессия, корреляционно-регрессионный анализ, алгоритмы ограниченного перебора, методы на основе прецедентов и аппарата искусственных нейронных сетей и др.).

Рассмотрены особенности платформы Business Intelligence (BI) и технологий On-Line Analytical Processing (OLAP) и DM, применяемых в современных СУБД. Выполнен обзор современных программных средств ИАД для СУБД (Microsoft SQL Server, Oracle, SAP BI, КРОК, Business Objects, Cognos, Information Builders, SAS, BusinessQ, ФБ Консалт, Deductor) и указаны их преимущества и недостатки, а также отмечено, что одной из перспективных возможностей расширения средств ИАД и, в частности, аналитических инструментов СУБД является использование прецедентного подхода.

Во второй главе рассмотрены основные определения, связанные с прецедентным подходом и CBR методами, и концепции CBR, в частности, то, что вывод на основе прецедентов является подходом, позволяющим решить новую, неизвестную задачу, используя или адаптируя решение уже известной задачи.

Приведен CBR цикл, включающий в себя четыре основных этапа: извлечение наиболее соответствующего (подобного) прецедента (или прецедентов) для сложившейся ситуации из БП; повторное использование извлеченного прецедента для попытки решения текущей проблемы; адаптация и применение полученного решения для решения текущей проблемы; сохранение вновь принятого решения как части нового прецедента. Описаны этапы и особенности разработки CBR систем (извлечение знаний для формирования первичного множества прецедентов (сбор информации о ситуациях и случаях, имевших место в прошлом); определение структуры для организации БП; выбор метода извлечения прецедентов; определение способа адаптации прецедентов; определение других аспектов CBR системы, обусловленных особенностями предметной области или типом решаемой задачи).

Предложен модифицированный CBR метод (CBR цикл), использующий экспертную информацию (тестовые наборы данных) для извлечения прецедентов, который повышает качество решения задач ИАД на основе

прецедентов за счет формирования базы удачных (подходящих) и неудачных (неподходящих) прецедентов в процессе выполнения CBR цикла.

Описаны алгоритмы извлечения прецедентов и разработан модифицированный алгоритм извлечения прецедентов на основе к-ЫЫ для ИАД, заключающаяся в изменении значения к в зависимости от размера БП. Данная модификация позволяет повысить качество решения задач ИАД, в частности, повысить качество классификации данных с использованием CBR метода при увеличении размера БП.

Рассмотрена специфика решения задачи классификации данных с использованием прецедентного подхода.

В третей главе рассмотрены различные подходы к повышению эффективности работы CBR систем (например, индексирование БП) и, в частности, увеличению быстродействия CBR систем за счет сокращения количества прецедентов в БП на основе классификационных и кластерных методов. Предложены алгоритмы для сокращения количества прецедентов в БП на основе методов классификации и кластеризации. В качестве более перспективной возможности сокращения количества прецедентов в БП отмечен подход на основе кластеризации БП, суть которого заключается в кластеризации БП с использованием алгоритма кластеризации (например, к-средних) на начальном этапе и последующем удалении всех прецедентов из БП за исключением центров кластеров, полученных на этапе кластеризации БП. Предложена модификация алгоритма к-средних, базирующаяся на использовании БНП при формировании кластеров, которая позволяет повысить качество работы CBR систем за счет исключения ошибочных решений, которые содержаться в БНП.

Рассмотрена возможность обобщения накопленного опыта (прецедентов из БП) с использованием алгоритма С4.5 для построения деревьев решений,

реализуемого стандартными средствами программных систем Deductor 5.3 и SQL Server Analysis Services, а также возможность обучения ИНС на основе прецедентов из БП для решения задачи классификации данных. В качестве ИНС использовался многослойный персептрон, а для его обучения алгоритм обратного распространения ошибки Backprop и алгоритм Rprop, реализуемые стандартными средствами программных систем Deductor 5.3 и SQL Server Analysis Services.

В четвертой главе приведена архитектура разработанного прототипа CBR системы для ИАД, включающая в себя следующие основные компоненты: пользовательский интерфейс, блок извлечения прецедентов, БЗ, БП, БНП, набор тестовых выборок и модуль оптимизации БП для сокращения количества прецедентов в БП.

Описаны особенности программной реализации прототипа CBR системы с использованием языка C# и среды программирования MS Visual Studio 2010, а также технологии Windows Forms, ADO.NET Entity Framework, аналитической плаформы Deductor 5.3 и SQL Server Analysis Services.

Рассмотрен пример использования разработанного прототипа системы для решения задачи классификации данных из репозитория UCI Machine Learning Repository. Приведены результаты вычислительных экспериментов на наборах данных из репозитория UCI Machine Learning Repository и KaggleDatasets (Pima Indians Diabetes Database и Human Resources Analytics) для сравнения алгоритмов извлечения прецедентов и оценки качества решения задачи классификации данных и быстродействия CBR системы при сравнении алгоритмов сокращения количества прецедентов в БП, а также приведены результаты по оценке качества классификации данных обученной на прецедентах ИНС и дерева решений, полученного в результате обобщения прецедентов из БП.

ГЛАВА 1

ИНТЕЛЛЕКТУАЛЬНЫЙ АНАЛИЗ ДАННЫХ

Методы ИАД и, в частности, технологии Data Mining (DM) сегодня широко применяются в СУБД для решения актуальной задачи обнаружения в данных ранее неизвестных и практически полезных знаний, необходимых для принятия решений в различных сферах человеческой деятельности [4].

1.1 Основные определения и этапы ИАД

ИАД - это процесс обнаружения в сырых данных ранее неизвестных, нетривиальных, практически полезных и доступных интерпретации знаний, необходимых для принятия решений в разных сферах человеческих деятельности

[5].

Под сырыми данными понимается формат данных, не имеющий четкой спецификации и содержащий необработанные (или обработанные в минимальной степени) данные, что позволяет избежать потерь информации [6].

В зарубежной литературе термин ИАД трактуется как Knowledge Discovery (KD) [7] и Data Mining (DM) [8].

Под KD (обнаружением знанием) в базах данных (БД) понимают какой-либо нетривиальный процесс идентификации достоверных, новых, потенциально полезных и хорошо интерпретируемых образцов (структур) в данных. Таким образом, под процессом KD понимают многошаговую систему процедур, включающую подготовку данных, поиск образцов в БД, оценку извлеченного знания, корректировку и итерацию процедур [9].

Под DM понимают этап процесса KD, состоящий в применении специфических алгоритмов порождения образцов, извлеченных из БД. Множество образцов может быть открытым, а их перечисление реализуется специальным алгоритмом [4].

Особенностью задач ИАД является то, что исходные данные недостаточно формализованы, но можно извлекать из них новые знания, используя специальные программы.

Английский термин «Data Mining» не имеет однозначного перевода на русский язык (добыча данных, вскрытие данных, информационная проходка, извлечение данных/информации) поэтому в большинстве случаев используется в оригинале. Данное понятие, появившееся в 1978 году, приобрело высокую популярность в современной трактовке примерно с первой половины 1990-х годов. До этого времени, обработка и анализ данных осуществлялся в рамках прикладной статистики, при этом в основном решались задачи обработки небольших БД.

Классическое определение этого термина дал в 1996 г. один из основателей этого направления - Григорий Пятецкий-Шапиро: DM - исследование и обнаружение «машиной» (алгоритмами, средствами искусственного интеллекта) в сырых данных скрытых знаний, которые ранее не были известны, нетривиальны, практически полезны и доступны для интерпретации человеком [4]. DM является одним из этапов процесса обнаружения знаний в базах данных (Knowledge Discovery in Databases, KDD).

Под данными понимается необработанный материал, предоставляемый поставщиками данных и используемый потребителями для формирования информации на основе данных.

Объект описывается как набор атрибутов. Объект также известен как запись, случай, пример, строка таблицы и т.д.

Атрибут - свойство, характеризующее объект. Например, цвет глаз человека, температура воды и т.д. Атрибут также называют переменной, полем таблицы, измерением, характеристикой.

Генеральная совокупность (population) - вся совокупность изучаемых объектов, интересующая исследователя.

Выборка (sample) - часть генеральной совокупности, определенным способом отобранная с целью исследования и получения выводов о свойствах и характеристиках генеральной совокупности.

Параметры - числовые характеристики генеральной совокупности.

Статистика - числовые характеристики выборки.

Гипотеза - частично обоснованная закономерность знаний, служащая либо для связи между различными эмпирическими фактами, либо для объяснения факта или группы фактов.

В ИАД к обнаруживаемым знаниям предъявляются следующие требования

[10]:

- Знания должны быть новыми, ранее неизвестными. Затрачиваемые усилия на открытие знаний, которые уже известны пользователю, не окупаются. Поэтому ценность представляют именно новые, ранее неизвестные знания.

- Знания должны быть нетривиальные. Результаты анализа должны отражать неочевидные, неожиданные закономерности, составляющие так называемые скрытые знания. Результаты, которые могли бы быть получены более простыми способами (например, визуальным просмотром), не оправдывают привлечение мощных методов DM.

- Знания должны быть практически полезными. Найденные знания должны быть применимы, в том числе и на новых данных, с достаточно высокой степенью достоверности. Полезность заключается в том, чтобы эти знания могли принести определенную выгоду при их применении.

- Знания должны быть доступны для интерпретации человеком. Найденные закономерности должны быть логически объяснимы, в противном случае существует вероятность, что они являются случайными. Кроме того,

обнаруженные знания должны быть представлены в понятном для человека виде.

В ОМ для представления знаний служат различные модели. Виды моделей зависят от методов их создания. Наиболее распространенными являются: правила, деревья решений, кластеры и математические функции.

В ИАД для извлечения новых знаний из баз фактов применяются различные методы: статистические и индуктивные процедуры (деревья решений), генетические алгоритмы, искусственные нейронные сети (ИНС), кластерный анализ, прецедентные методы (СБЯ методы) и др.

Процесс ИАД включает четыре основных этапа [2]:

- На первом этапе аналитик формулирует постановку задачи в терминах целевых переменных.

- На втором этапе осуществляется подготовка данных для анализа.

- На третьем этапе проводится анализ данных с помощью методов DM.

- На четвертом этапе осуществляется верификация и интерпретация полученных результатов (извлеченных знаний). При верификации применяется тестовый набор записей, выделенных из исходных данных и не подвергавшихся анализу.

1.2 Процесс обнаружения знаний

Процесс обнаружения знаний в БД (процесс КОО) - это процесс поиска полезных знаний в сырых данных. КОО включает в себя вопросы: подготовки данных, выбора информативных признаков, очистки данных, применения методов ОМ, постобработки данных и интерпретации полученных результатов.

1.2.1 Основные этапы процесса обнаружения знаний

Основными этапами процесса обнаружения знаний являются следующие

установки и процедуры [2]:

1. Выбор предметной области и релевантного знания для реализации целей конечного пользователя компьютерной системы.

2. Выбор исходного множества данных и подмножества переменных, которые необходимы для извлечения нового знания из базы фактов.

3. Уточнение данных и предпроцессинг: выбор основных операций над данными так, что они могут способствовать уменьшению «шумов», определение стратегий для их минимизации.

4. Редукция данных: обнаружение полезных особенностей данных, чтобы представление данных было адекватным решению задач, соответствующих поставленным целям.

5. Выбор задачи DM, т.е. спецификация процесса KDD как классификации, кластеризации и т.д.

6. Выбор алгоритмов, реализующих DM для поиска образцов (patterns) в данных. Этот выбор должен быть согласован с моделями и параметрами представления данных.

7. DM: поиск образцов в форме, удобной для пользователя (правила классификации и кластеризации, регрессия, деревья решений и т.д.).

8. Интерпретация порожденных образцов с возможным повторением этапов 1-7 для дальнейшей итерации. Этот этап часто подразумевает использование методов, находящихся на стыке технологии DM и технологии экспертных систем (ЭС). От того, насколько эффективным он будет, в значительной степени зависит успех решения поставленной задачи.

9. Обзор и согласование обнаруженного знания.

После этапа 7 также может осуществляться проверка построенных моделей. Очень простой и часто используемый способ заключается в том, что все имеющиеся данные, которые необходимо анализировать, разбиваются на две группы. Одна из них большего размера, другая - меньшего. На большей группе, применяя те или иные методы ОМ, получают модели, а на меньшей - проверяют их. По разнице в точности между тестовой и обучающей группами можно судить об адекватности построенной модели.

Окончательная оценка ценности добытого нового знания выходит за рамки анализа, автоматизированного или традиционного, и может быть проведена только после претворения в жизнь решения, принятого на основе добытого знания. Исследование достигнутых практических результатов завершает оценку ценности добытого средствами ОМ нового знания.

1.2.2 Подготовка исходных данных

Как уже отмечалось ранее, для применения того или иного метода ОМ к данным их необходимо подготовить к этому [10]. На начальном этапе необходимо выработать некий четкий набор числовых и нечисловых параметров, характеризующих рассматриваемую проблемную область. Эта задача наименее автоматизирована в том смысле, что выбор системы данных параметров производится человеком, хотя, конечно, их значения могут вычисляться автоматически. После выбора описывающих параметров изучаемые данные могут быть представлены в виде прямоугольной таблицы, в которой каждая строка представляет собой отдельный случай, объект или состояние изучаемого объекта, а каждая колонка - параметры, свойства или признаки исследуемых объектов. Большинство методов ОМ работают только с подобными прямоугольными таблицами.

Подобная прямоугольная таблица является слишком сырым материалом для применения методов ОМ и входящие в нее данные необходимо предварительно обработать. Во-первых, таблица может содержать параметры, имеющие одинаковые значения для всей колонки (т.е. такие признаки никак не индивидуализируют исследуемые объекты), следовательно, их надо исключить из анализа. Во-вторых, таблица может содержать некоторый категориальный признак, значения которого во всех записях таблицы различны (т.е. нельзя использовать это поле для анализа данных), и его надо исключить. Наконец, просто этих полей может быть очень много, и если все их включить в исследование, то это существенно увеличит время вычислений, поскольку практически для всех методов ОМ характерна сильная зависимость времени работы от количества параметров (квадратичная, а нередко и экспоненциальная). В то же время зависимость времени от количества исследуемых объектов линейна или близка к линейной. Поэтому в качестве предварительной обработки данных необходимо, во-первых, выделить то множество признаков, которые наиболее важны в контексте данного исследования, отбросить явно неприменимые из-за постоянства или чрезмерной вариабельности и выделить те, которые с наибольшей вероятностью войдут в искомую зависимость. Для этого, как правило, используются статистические методы, основанные на применении корреляционного анализа, линейных регрессий и др. Такие методы позволяют быстро, хотя и приближенно оценить влияние одного параметра на другой.

Помимо «очистки» данных по столбцам таблицы (признакам), иногда бывает необходимо провести предварительную «очистку» данных по строкам таблицы (записям). Любая реальная БД обычно содержит ошибки, очень приблизительно определенные значения, записи, соответствующие каким-то редким, исключительным ситуациям, и другие дефекты, которые могут резко понизить эффективность методов ОМ, применяемых на следующих этапах

анализа. Такие записи необходимо отбросить. Даже если подобные «выбросы» не являются ошибками, а представляют собой редкие исключительные ситуации, они все равно вряд ли могут быть использованы, поскольку по нескольким точкам статистически значимо судить об искомой зависимости невозможно.

1.3 Задачи ИАД

ИАД помогает решать многие задачи, с которыми сталкивается аналитик. Среди них основными на данный момент являются задачи классификации, регрессии, кластеризации и поиска ассоциативных правил [10].

По назначению данные задачи можно разделить на описательные (descriptive) и задачи прогнозирования (predictive) [11].

Задачи первого класса уделяют внимание улучшению понимания анализируемых данных. Ключевой момент при этом - легкость и прозрачность результатов для восприятия человеком. Возможно, обнаруженные закономерности будут специфической чертой именно конкретных исследуемых данных и больше нигде не встретятся, но это все равно может быть полезно для аналитика. К такому виду задач относятся кластеризация и поиск ассоциативных правил.

Решение задач прогнозирования разбивается на два этапа. На первом этапе на основании набора данных с известными результатами строится модель. На втором этапе она используется для предсказания результатов на основании новых наборов данных. При этом, естественно, требуется, чтобы построенные модели работали максимально точно. К данному виду задач относят задачи классификации и регрессии, а также поиск ассоциативных правил, если полученные правила могут быть использованы для предсказания появления некоторых событий.

Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Список литературы диссертационного исследования кандидат наук Ар Кар Мьо, 2017 год

СПИСОК ЛИТЕРАТУРЫ

1. Варшавский П.Р., Еремеев А.П. Моделирование рассуждений на основе прецедентов в интеллектуальных системах поддержки принятия решений // Искусственный интеллект и принятие решений. 2009. № 2. С. 45-47.

2. Варшавский П.Р., Еремеев А.П. Методы правдоподобных рассуждений на основе аналогий и прецедентов для интеллектуальных систем поддержки принятия решений// Новости искусственного интеллекта. - 2006. - №3. С. 39-62.

3. Ар Кар Мьо Исследование методов интеллектуального анализа данных на основе прецедентов // Радиоэлектроника, электротехника и энергетика: Двадцатая междунар. науч.-техн. конф. студентов и аспирантов: Тез. докл. В 4 т. Т. 2. М.: Издательский дом МЭИ, 2014. С. 340.

4. Финн В.К. Об интеллектуальном анализе данных // Новости искусственного интеллекта, №3, 2004, С. 3-19.

5. W. Frawley, G. Piatetsky-Shapiro, C. Matheus Knowledge Discovery in Databases: An Overview. - AI Magazine. - 1992. pp. 213-228.

6. Kitchin Rob. The Data Revolution. United States: Sage. 2014, p. 6.

7. Piatetsky-Shapiro G, Frawley W J. Knowledge Discovery in Databases. USA: MIT Press, 1991.

8. Agrawal R., Mannila H., Srikant R., Toivonen H. and Verkamo I. Fast Discovery of Association Rules. In Advances in Knowledge Discovery and Data Mining, eds. U. Fayyad, G. Piatetsky-Shapiro, P. Smyth, and R. Uthurusamy, Menlo Park, Calif.: AAAI Press, 1996, pp. 307-328.

9. Fayyad U., Piatetsky-Shapiro G., Smyth P., Advances in Knowledge Discovery and Data Mining, (Chapter 1), AAAI/MIT Press, 1996.

10.Барсегян А.А., Куприянов М.С., Степаненко В.В., Холод И.И. Технологии анализа данных: Data Mining, Visual Mining, Text Mining, OLAP. // 2-еизд., -СПб: БХВ-Петербург, 2007.

11.А.А. Барсегян, И.И. Холод, М.Д. Тесс, М.С. Куприянов, С.И. Елизаров. Анализ данных и процессов. 3-е изд. — СПб.: БХВ-Петербург, 2009.

12.Интеллектуальный анализ данных средствами MS SQL Server 2008 -[Электронный ресурс]. URL: http://www.intuit.ru/studies/courses/2312/612/lecture/13260: (дата обращения: 02.01.2017).

13.Data Mining - технология добычи данных - [Электронный ресурс]. URL: http://bourabai.ru/tpoi/datamining.htm: (дата обращения: 05.01.2017).

14.Дюк В.А., Самойленко А.П. Data Mining: учебный курс СПб.: Питер, 2001.

15.Чубукова И.А. Data Mining, БИНОМ. Лаборатория знаний, Интернет-

университет информационных технологий - ИНТУИТ.ру, 2006.

16.Филипов В.А. Интеллектуальный анализ данных: методы и средства. М.: Эдиториал УРСС, 2001.

17. Методы интеллектуального анализа данных - технология добычи данных -[Электронный ресурс]. URL: http://www.ibm.com/developerworks/ru/Hbrary/ba-data-mining-techniques/: (дата обращения: 14.01.2017).

18.Дюран Б., Оделл П. Кластерный анализ. М.: Статистика, 1977.

19.А.Н.Тихонов, В.Я.Арсенин. Методы решения некорректных задач. Наука, Москва, 1974.

20.Judea Pearl, Stuart Russell. Bayesian Networks. UCLA Cognitive Systems Laboratory, Technical Report (R-277), November 2000.

21.Ферстер Э., Ренц Б. Методы корреляционного и регрессионного анализа = Methoden der Korrelation - und Regressiolynsanalyse. — М.: Финансы и статистика, 1981.

22. Управленческий учет: учебник / под ред. А.Д. Шеремета. 4-е изд. — М.: ИНФРА-М, 2009.

23. СУБД DB2 - [Электронный ресурс]. URL: http://bourabai.ru/dbt/servers/Oracle.htm: (дата обращения: 18.01.2017).

24.Что такое Business Intelligence? Обзор BI систем - [Электронный ресурс]. URL: http://www.clouderp.ru/tags/BUSINESS_INTELLIGENCE/: (дата обращения: 14.11.2016).

25.Business Intelligence. IT Term Definitions (англ.). Gartner (2011). -[Электронный ресурс]. URL: http://www.webcitation.org/65AkPdIv3 /: (дата обращения: 10.12.2016).

26.Krzysztof J. Cios, Data Mining: A Knowledge Discovery Approach, Springer, 2007, ISBN 978-0-387-33333-5 - pp. 116-123.

27.Спирли Э. Корпоративные хранилища данных. Планирование, разработка, реализация. Т. 1: Пер. с англ. - М.: Издательский дом «Вильямс», 2001.

28.Codd E.F., Codd S.B., Salley C.T. Providing OLAP (On-Line Analytical Processing) to User-Analysts: An IT Mandate. - E.F. Codd & Associates, 1993.

29.Krzysztof J. Cios, Data Mining: A Knowledge Discovery Approach, Springer, 2007, ISBN 978-0-387-33333-5 - p. 127.

30.Raden N. Star Schema. - Santa Barbara, CA: Archer Decision Sciences, Inc., 19951996 - [Электронный ресурс]. URL: http://members.aol.com/nraden/str101.htm: (дата обращения: 28.01.2017).

31.Parsaye K. OLAP and Data Mining: Bridging the Gap // Database Programming and Design. - 1997. - № 2. pp. 30-37.

32.Han J. OLAP Mining: An Integration of OLAP with Data Mining. - IFIP, 1997.

33.Средства Business Intelligence - [Электронный ресурс]. URL: https://www.bytemag.ru/articles/detail.php?ID=6667: (дата обращения: 08.02.2017).

34.Обзор Microsoft BI - [Электронный ресурс]. URL: https://microsoftbi.ru/basics/: (дата обращения: 10.02.2017).

35. Интеллектуальный анализ данных в СУБД MicrosoftSQLServer -[Электронный ресурс]. URL:

http://www.intuit.ru/studies/courses/2312/612/lecture/13261: (дата обращения: 12.02.2017).

36.Oracle Database - [Электронный ресурс]. URL: http://oracle.axoft.ru/images/Catalog%20Oracle%20Database.pdf: (дата

обращения: 12.02.2017).

37.SAP Business Intelligence (SAP BI) - [Электронный ресурс]. URL: http://www.tadviser.ru/index.php/Продукт:SAP_Business_Intelligence_(SAP_BI) : (дата обращения: 13.02.2017).

38.КРОК: BI as a Service, BlaaS - [Электронный ресурс]. URL: http: //www. tadviser.ru/index.php/Продукт :КРОК:_Business_Intelligence_as_a_S ervice%2C_BIaaS: (дата обращения: 15.02.2017).

39.Deductor - [Электронный ресурс]. URL: http://www.tadviser.ru/index.php/Продукт:Deductor: (дата обращения: 18.02.2017).

40.Аналитическая платформа Deductor 4. Руководство пользователя BaseGroup Labs 1998-2005. - [Электронный ресурс]. URL: https://basegroup.ru/deductor/manual: (дата обращения: 18.02.2017).

41. Аналитическая платформа Deductor - [Электронный ресурс]. URL: http://www.intuit.ru/studies/courses/6/6/lecture/208?page=3: (дата обращения: 18.02.2017).

42. Обзор: Рынок ИТ - Электронный ресурс. URL: http://www.cnews.ru/reviews/rynok_it_itogi_2012/articles/mirovoj_rynok_bi_sniz haet_tempy_rosta_1/: (дата обращения: 20.02.2017).

43.Рынок платформ бизнес-аналитики - Электронный ресурс. URL: https://www.bytemag.ru/articles/detail.php?ID=11919: (дата обращения: 20.02.2017).

44.Schank R.C., Abelson R.P. Scripts, Plans, Goals and Understanding. Erlbaum, Hillsdale, New Jersey, US,1977.

45.Kolodner J.L. Maintaining Organization in a Dynamic Long-Term Memory. Cognitive Science, 7(IV), 1983. pp. 243-280.

46.Kolodner J.L. Reconstructive Memory: A Computer Model. Cognitive Science, 7(IV), 1983. pp. 281-328.

47.Simpson R.L. A Computer Model of Case-Based Reasoning in Problem Solving: An Investigation in the Domain of Dispute Mediation. Technical Report GIT-ICS-85/18, Georgia Institute of Technology, School of Information and Computer Science, Atlanta, US, 1985.

48.Hammond K.J. CHEF: A Model of Case-Based Planning. In Proc. American Association for Artificial Intelligence, AAAI-86, Philadelphia, PA, US. August 1986.

49.Sycara E.P. Resolving adversial conflicts: An approach to Integrating Case-Based and Analytic Methods. Technical Report GIT-ICS-87/26, Georgia Institute of Technology, School of Information and Computer Science, Atlanta GA, 1987.

50.Koton P. Using experience in learning and problem solving. Massachusetts Institute of Technology, Laboratory of Computer Science, Ph.D. Thesis MIT/LCS/TR-441, 1989.

51.Watson I.D., Marir F. Case-based reasoning: A review. The Knowledge Engineering Review, Vol. 9, No. 4,1994. pp. 355-381.

52.Klaus-Dieter Althof, Eric Auriol, Ralph Barlette, Michel Manago. A Review of Industrial Case-Based Reasoning Tools. AI Intelligence, 1995.

53.ICCBR, ECCBR, UKCBR - [Электронный ресурс]. URL: http://www.iccbr.org/: (дата обращения: 20.02.2017).

54.Aamodt A., Plaza E. Case-based reasoning: foundational issues, methodological variations, and system approaches// AI Communications. IOS Press. Vol. 7: 1. 1994. pp. 39-59.

55.Alterman R. Panel discussion on case representation. In, Proceedings of the Second Workshop on Case-Based Reasoning, Pensacola Beach. FL, US, 1989.

56.Варшавский П.Р. Механизмы правдоподобных рассуждений на основе прецедентов (накопленного опыта) для систем экспертной диагностики // Труды 11-ой национальной конференции по ИИ с международным участием (КИИ-2008, г. Дубна, Россия). В 3-х т., Т. 2. -М: ЛЕНАНД, 2008. С. 106-113.

57.David B.S. Principles for case representation in a case-based aiding system for lesson planning. In, Proceedings of the Workshop on Case-Based Reasoning, Madison Hotel, Washington, 8-10 May, 1991.

58.Вагин В.Н., Головина Е.Ю., Загорянская А.А., Фомина М.В. Достоверный и правдоподобный вывод в интеллектуальных системах. 2-е изд. // Под ред. В.Н. Вагина, Д.А. Поспелова. -М.: Физматлит, 2008.

59.Extensible Markup Language (XML) 1.1 [Электронный ресурс] URL: http://www.w3.org/TR/2004/REC-xml11-20040204. - Англ: (дата обращения: 21.02.2017).

60.Башмаков А.И., Башмаков И.А. Интеллектуальные информационные технологии: Учеб. Пособие //-М.: Изд-во МГТУ им. Н.Э. Баумана, 2005.

61.Watson I.D., Marir F. Case-based reasoning: A review. The Knowledge Engineering Review, Vol. 9, No. 4, 1994. pp. 355-381.

62.Люгер Д.Ф. Искусственный интеллект: стратегии и методы решения сложных проблем, Пер. с англ. - 4-е изд. - М.: Издательский дом "Вильямс", 2003.

63.Barry Smyth and Mark T. Keane Retrieving adaptable cases. The role of adaptation knowledge in case retrieval // Springer Berlin / Heidelberg, Volume 837, 1994. pp. 209-220.

64.Загоруйко Н.Г. Прикладные методы анализа данных и знаний // Новосибирск: ИМ СО РАН, 1999.

65.Создание индексированных представлений - [Электронный ресурс]. URL: https://msdn.microsoft. com/ru-ru/library/ms 191432.aspx: (дата обращения: 22.02.2017).

66.Мандель И.Д. Кластерный анализ. -М.: Финансы и статистика, 1998.

67.Ankerst M. OPTICS: ordering points to identify the clustering structure / M. Ankerst, M.M. Breunig, H.P. Kriegel, J. Sander // Proc. 1999 ACM SIGMOD Intern. Conf. on Management of data. - 1999. pp. 49-60.

68.Brecheisen S. Density-based data analysis and similarity search / S. Brecheisen, H.P. Kriegel, P. Kroger et а1.е// Multimedia Data Mining and Knowledge Discovery. -Springer, 2006. pp. 94-115.

69.Du K.-L. Clustering: a neural network approach / K.-L. Du // Neural Networks. -2010. - Vol. 23. pp. 89-107.

70.Пестунов, И. А. Непараметрический алгоритм кластеризации данных дистанционного зондирования на основе grid-подхода / И. А. Пестунов, Ю. Н. Синявский // Автометрия. - 2006. - Т. 42. - № 2. С. 90-99.

71.Steinhaus H. Sur la division des corps materiels en parties. Bull. Acad. Polon. Sci.,

C1. III vol IV: 1956, pp. 801-804. 72.Lloyd S.P. "Least square quantization in PCM". Bell Telephone Laboratories Paper. Published in journal much later: Lloyd S.P. (1982). IEEE Transactions on Information Theory. 28 (2): 1957, pp. 129-137. (doi:10.1109/TIT.1982.1056489)

73.MacQueen J. Some methods for classification and analysis of multivariate observations. In Proc. 5th Berkeley Symp. on Math. Statistics and Probability, 1967, pp. 281-297.

74. Дерево решений - [Электронный ресурс]. URL: https://basegroup.ru/community/glossary/decision-trees: (дата обращения: 01.03.2017).

75. Деревья решений - общие принципы работы - [Электронный ресурс]. URL: https://basegroup.ru/community/articles/description: (дата обращения: 06.03.2017).

76.J. Ross Quinlan. C4.5: Programs for Machine learning. Morgan Kaufmann Publishers 1993.

77.Quinlan J.R. Induction of Decision Trees // Machine Learning. Kluwer Academic Publishers. 1986. No 1. pp. 81-106.

78. Системы искусственного интеллекта. Практический курс: учебное пособие / В.А. Чулюков, И.Ф. Астахова, А.С. Потапов [и др.]. - М.: Бином, 2008.

79.Розенблатт Ф. Принципы нейродинамики. Перцептроны и теория механизмов мозга. - Москва: Мир, 1963.

80.Мак-Каллок У.С., Питтс У. Логическое исчисление идей, относящихся к нервной активности М.: ИЛ, 1956.

81. Алгоритм обратного распространения ошибки - [Электронный ресурс]. URL: https://basegroup.ru/community/glossary/backpropagation: (дата обращения: 25.02.2017).

82.Галушкин А. И. Синтез многослойных систем распознавания образов. -М.: «Энергия», 1974.

83.Werbos P. J., Beyond regression: New tools for prediction and analysis in the behavioral sciences. Ph.D. thesis, Harvard University, Cambridge, MA, 1974.

84.Rumelhart D.E., Hinton G.E., Williams R.J., Learning Internal Representations by Error Propagation. In: Parallel Distributed Processing, vol. 1, Cambridge, MA, MIT Press. 1986. pp. 318-362.

85.Барцев С.И., Охонин В.А. Адаптивные сети обработки информации. Красноярск: Ин-т физики СО АН СССР, 1986. Препринт N 59Б.

86.Widrow В., Hoff M.E. — Adaptive switching circuits. 1969 IRE WESTCON Conferencion Record. — New York, 1960.

87.Алгоритм обучения RProp — математический аппарат - [Электронный ресурс]. URL: https://basegroup.ru/community/articles/rprop: (дата обращения: 11.03.2017).

88.S.E. Fahlman, Faster-learning variations on back-propagation: An empirical study, in Connectionist Models Summer School, eds. T.J. Sejnowski G.E. Hinton, and D.S. Touretzky, Morgan Kaufmann, San Mateo, CA, 1988.

89.Levenberg Kenneth. "A Method for the Solution of Certain Non-Linear Problems in Least Squares". Quarterly of Applied Mathematics. 2: 1944, pp. 164-168.

90.Marquardt Donald. "An Algorithm for Least-Squares Estimation of Nonlinear Parameters". SIAM Journal on Applied Mathematics. 11 (2): 1963, pp. 431-441. (doi: 10.1137/0111030).

91.M. Riedmiller, H. Braun. "A direct adaptive method for faster backpropagation learning: The RPROP algorithm". San Francisco,1993.

92. Аркар Мьо, П.Р. Варшавский Реализация методов и программных средств для решения задач интеллектуального анализа данных // Труды XX международной научно-технической конференции «Информационные средства и технологии». Т.2 М.: Издательский дом МЭИ, 2012. С. 96-102.

93.Аркар Мьо Исследование методов решения задач классификации и кластеризации данных // Радиоэлектроника, электротехника и энергетика:

Девятнадцатая междунар. науч.-техн. конф. студентов и аспирантов: Тез. докл. В 4 т. Т. 2. М.: Издательский дом МЭИ, 2013. С. 356.

94.Ар Кар Мьо, П.Р. Варшавский, Р.В. Алехин, Зо Лин Кхаинг Реализация прецедентного модуля для интеллектуальных систем // Программные продукты и системы, № 2 (110) 2015, C. 26-31.

95.Аркар Мьо, Варшавский П.Р., Зо Лин Кхаинг Применение методов поиска решения на основе прецедентов в информационных поисковых системах // Программные продукты и системы, №3, 2013, С. 114-119.

96.Pavel Varshavskiy, Roman Alekhin, Ar Kar Myo Application of CBR Module for Solving Problems of Expert Diagnostics // International Academic Forum AMO -SPITSE - NESEFF (20-25 June 2016, Moscow - Smolensk): Proceedings of International Academic Forum AMO - SPITSE - NESEFF. - Smolensk: Publishing "Universum". - 2016. p. 156.

97.Общие сведения о Windows Forms - [Электронный ресурс]. URL: https://msdn.microsoft.com/ru-ru/library/8bxxy49h(v=vs. 110).aspx: (дата

обращения: 12.03.2017).

98.UserControl Class - [Электронный ресурс]. URL: https://msdn.microsoft.com/en-us/library/system.web.ui.usercontrol(v=vs.110).aspx: (дата обращения: 09.04.2017).

99.ToolStrip Class - [Электронный ресурс]. URL: https://msdn.microsoft.com/en-us/library/system.windows.forms.toolstrip(v=vs. 110).aspx: (дата обращения: 16.04.2017).

100. MenuStrip Class - [Электронный ресурс]. URL: https://msdn.microsoft.com/en-

us/library/system.windows.forms.menustrip(v=vs. 110).aspx: (дата обращения: 18.04.2017).

101. FlowLayoutPanel Class - [Электронный ресурс]. URL: https://msdn.microsoft.com/en-

us/library/system.windows.forms.flowlayoutpanel(v=vs. 110).aspx: (дата

обращения: 18.04.2017).

102. TableLayoutPanel Class - [Электронный ресурс]. URL: https://msdn.microsoft.com/en-

us/library/system.windows.forms.tablelayoutpanel(v=vs. 110).aspx: (дата

обращения: 18.04.2017).

103. SplitContainer Class - [Электронный ресурс]. URL: https://msdn.microsoft.com/en-

us/library/system.windows.forms.splitcontainer(v=vs. 110).aspx: (дата обращения: 18.04.2017).

104. Julia Lerman. Programming Entity Framework: Building Data Centric Apps with the ADO.NET Entity Framework. O'Reilly Media, 2nd Edition. - 2010.

105. Model-View-Controller - [Электронный ресурс]. URL: https://msdn.microsoft.com/en-us/library/ms978748.aspx: (дата обращения: 18.04.2017).

106. The Model-View-Presenter (MVP) Pattern - [Электронный ресурс]. URL: https://msdn.microsoft.com/en-us/library/ff649571.aspx: (дата обращения: 22.04.2017).

107. The MVVM Pattern - [Электронный ресурс]. URL: https://msdn.microsoft.com/en-us/library/hh848246.aspx: (дата обращения: 22.04.2017).

108. "What is Object/Relational Mapping?". Hibernate Overview. JBOSS Hibernate. Retrieved 19 April 2011.

109. Entity Framework (EF) Documentation - [Электронный ресурс]. URL: https://msdn.microsoft.com/en-us/library/ee712907(v=vs. 113).aspx: (дата обращения: 29.04.2017).

110. Deductor - Электронный ресурс. URL: https://basegroup.ru/company/about: (дата обращения: 06.05.2017).

111. Службы SQL Server Analysis Services - [Электронный ресурс]. URL: https://technet.microsoft.com/ru-ru/library/ms175609(v=sql.90).aspx: (дата обращения: 14.05.2017).

112. Unified Dimensional Model - Электронный ресурс. URL: https://technet.microsoft.com/en-us/library/ms174783(v=sql.90).aspx: (дата обращения: 23.05.2017).

113. XML for Analysis (XMLA) - Электронный ресурс. URL: https://technet.microsoft.com/en-us/library/ms187178(v=sql.90).aspx: (дата обращения: 27.05.2017).

114. W3C Note on Simple Object Access Protocol (SOAP) 1.1 - Электронный ресурс. URL: https://www.w3.org/TR/2000/NOTE-SOAP-20000508/: (дата обращения: 27.05.2017).

115. User Knowledge Modeling Data Set - Электронный ресурс. URL: http: //archive .ics.uci. edu/ml/datasets/User+Knowledge+Modeling: (дата обращения: 10.06.2017).

116. Pima Indians Diabetes Database - Электронный ресурс. URL: https://www.kaggle.com/uciml/pima-indians-diabetes-database: (дата обращения: 19.06.2017).

117. Human Resources Analytics Data Set - Электронный ресурс. URL: https://www.kaggle.com/ludobenistant/hr-analytics: (дата обращения: 08.07.2016).

ПРИЛОЖЕНИЕ 1 Программный код основных модулей прототипа CBR системы

1) Реализация CBR цикла

private void btnSearch_Click(object sender, EventArgs e) {

var _rangesDmax = _db.RangesDMax(CaseName); var lstResultCases = new List<ResultCase>(); predMax = 0;

foreach (var rd in _rangesDmax) {

predMax = rd + predMax;

}

d_Max = Math. Sqrt(predMax); DataTable selTestData = new DataTable(); selTestData = (DataTable)dgvTestCases.DataSource;

if (dgvTestCases.SelectedRows.Count <= 0) {

MessageBox.Show("Select test value"); return;

}

int selectedRowIndex = dgvTestCases.SelectedRows[0].Index; var tmp = GetSelectedTestCaseValue(selTestData, selectedRowIndex);

for (int i = 0; i < dgvCases.RowCount; i++) {

double sub = 0;

for (int j = 0; j < dgvCases.ColumnCount; j++) {

if (dgvCases.Columns[j].HeaderText == "Result" || dgvCases.Columns[j].HeaderText == "Name") {

continue;

}

if (tmp[j].Typ == typeof(System.Double) || tmp[j].Typ == typeof(System.Int32)) {

sub += double.Parse(dgvCases[j, i].Value.ToString()).DCjtSingle(double.Parse(tmp[j].Val)); continue;

}

if (tmp[j].Typ == typeof(System.String)) {

sub += dgvCases[j, i].Value.ToString().String_DCjitSingle(tmp[j].Val); var mm = dgvCases[j, i].Value.ToString().String_DCjitSingle(tmp[j].Val); continue;

}

if (tmp[j].Typ == typeof(System.Boolean)) {

sub += bool.Parse(dgvCases[j, i].Value.ToString()).Bool_DCjitSingle(bool.Parse(tmp[j].Val)); continue;

}

}

double Distant_i = Math.Sqrt(sub);

double Delta_I = (1 - (Distant_i / d_Max)) * 100;

double _k = double.Parse(nudK.Text);

if (Delta_I > _k) {

ResultCase rc = new ResultCase(); rc.Result = dgvCases["Result", i].Value.ToString(); rc.Name = dgvCases["Name", i].Value.ToString(); rc.Similarity = Math.Round(Delta_I, 2);

var lstKey = lstResultCases.Where(x => x.Name == rc.Name).ToList();

if (lstKey.Count <= 0)

{

lstResultCases.Add(rc);

}

}

}

if (lstResultCases.Count > 0)

{

for (int i = 0; i <= lstResultCases.Count-1; i++) {

string r = lstResultCases[i].Result; int countk = 0;

for (int j = 0; j <= lstResultCases.Count-1; j++) {

if (r == lstResultCases[j].Result)

{

countk = countk + 1;

}

}

if (countk < int.Parse(textBox1.Text)) {

for (int j = 0; j <= lstResultCases.Count-1; j++) {

if (r == lstResultCases[j].Result)

{

lstResultCases.RemoveAt(j); j = j - 1;

}

}

i = i - 1;

}

}

}

2) Процедура выделения центроидов

private void btnCentroid_Click(object sender, EventArgs e) {

frmCase f = new frmCase(); string a = "";

string k = f.Centroid(ref a); adp = _db.Adapter(k); ds.Clear();

adp.Fill(ds, CaseName); dgvCases.DataSource = ds.Tables[CaseName];

}

public string Centroid(ref string k)

k = String.Format("select Round(AVG(STG),2) as STG,Round(AVG(SCG),2) as SCG,Round(AVG(STR),2) as STR,Round(AVG(LPR),2) as LPR,Round(AVG(PEG),2) as PEG,Result from {0} Group by Result", CaseName); return k;

}

}

3) Процедура вычисления степени сходств текущей проблемной ситуации и прецедентов из БП с помощью тестовой выборки

private double CheckQuality() {

var _db = new AppDB();

var BP = _db. GetTable(CaseName);

var TD = _db.GetTable("CaseTestData");

var Ranges = _db.RangesDMax(CaseName);

var M = 0;

var GivenID = "";

for (int i = 0; i < TD.Rows.Count; i++) {

DataRow TDRow = TD.Rows[i]; var lstResultCases = new List<ResultCase>(); double d_Max = 0; double predMax = 0;

foreach (var rd in Ranges) {

predMax = rd + predMax;

}

d_Max = Math. Sqrt(predMax);

for (int h = 0; h < BP.Rows.Count; h++) {

DataRow BpRow = BP.Rows[h]; double sub = 0; string caseId = ""; string caseKey = "";

for (int k = 0; k < BP.Columns.Count; k++) {

if (BP.Columns [k]. Caption == "Name") {

caseKey = BpRow["Name"].ToString(); continue;

}

if (BP.Columns [k]. Caption == "Result")

{

caseId = BpRow["Result"].ToString(); continue;

}

if (TD.Columns[k].DataType == typeof(System.Double) || TD.Columns[k].DataType ==

typeof(System.Int32)) {

sub += double.Parse(BpRow[k].ToString()).DCjtSingle(double.Parse(TDRow[k].ToString())); continue;

}

if (TD.Columns[k].DataType == typeof(System.String))

sub += BpRow[k].ToString().String_DCjitSingle(TDRow[k].ToString()); continue;

}

if (TD.Columns[k].DataType == typeof(System.Boolean)) {

sub +=

bool.Parse(BpRow[k].ToString().ToString()).Bool_DCjitSingle(bool.Parse(TDRow[k].ToString())); continue;

}

}

double Distant_i = Math.Sqrt(sub);

double Delta_I = (1 - (Distant_i / d_Max)) * 100;

ResultCase rc = new ResultCase();

rc.Result = caseId;

rc.Name = caseKey;

rc. Similarity = Delta_I;

var lstKey = lstResultCases.Where(x => x.Name == rc.Name).ToList();

if (lstKey.Count <= 0)

{

lstResultCases.Add(rc);

}

}

if (lstResultCases.Count > 0)

{

var tmp = lstResultCases.OrderByDescending(x => x.Similarity).Select(x => x.Result).FirstOrDefault(); GivenID = tmp;

bool flag = GivenID.Equals(TDRow["Result"].ToString());

if (flag) {

M = M + 1;

}

var nc = new NewCaseValue() {

PKey = TDRow["Name"].ToString(),

OldResult = int.Parse(TDRow["Result"].ToString()),

NewResult = int.Parse(GivenID)

};

NewResult.Add(nc);

}

}

double percentage = 0;

percentage = ((double)M / TD.Rows.Count) * 100; return percentage;

}

}

4) Усреднение оценки по классу и получение результата с самой высокой степенью сходства

private void button1_Click(object sender, EventArgs e) {

for (int i = 0; i <= dgvResultcases.RowCount-1; i++) {

string st = dgvResultcases.Rows[i].Cells[0].Value.ToString(); bool fl = true;

for (int j = 0; j < dataGridView1.RowCount-1; j++) {

string val = "";

if (dataGridViewl.RowCount > 1)

{

val = dataGridView1.Rows[j].Cells[0].Value.ToString();

}

if (val == st) {

fl = false;

}

}

if (fl == true) {

int countk = 0; double simk = 0;

for (int j = 0; j <= dgvResultcases.RowCount - 1; j++) {

string st1 = dgvResultcases.Rows[j].Cells[0].Value.ToString();

if (st1 == st) {

countk = countk + 1;

simk = simk + double.Parse(dgvResultcases.Rows[j].Cells[2].Value.ToString());

}

}

simk = simk / countk; dataGridView1.Rows.Add(st, simk);

}

}

dataGridView 1. Sort(dataGridView 1. Columns [1], ListSortDirection.Descending);

}

5) Процедура сохранения текущей ситуации в БП

private void btnSave_Click(object sender, EventArgs e) {

try {

PP = CheckQuality();

CBRClient.frmCase.PP = Percentage;

string str = CreateInsertSQL(ValueandType, CaseName);

var _db = new AppDB();

_db. CreateTable(str);

Percentage = CheckQuality();

lblpersentage.Text = Math.Round(Percentage, 0).ToString() + "%"; dtgTestCaseData.DataSource = _db.GetTable("CaseTestData"); DataGridViewColumn col = new DataGridViewTextBoxColumn(); col.HeaderText = "New_Result"; col.Name = "New_Result"; dtgTestCaseData.Columns.Add(col); insertNewResult(col.HeaderText); if (Percentage > PP)

CBRClient.frmCase.PP = Percentage;

}

else if (Percentage < PP) { gotoCaseTempBP(); } MessageBox.Show("Saved!"); Close();

}

catch(Exception ex) {

MessageBox.Show(ex.Message);

}

}

6) Реализация алгоритма ^-средних для сокращения количества прецедентов в БП

using System;

using System.Collections;

using System.Collections.Generic;

using System.Data;

using System.Windows.Forms;

using System.Data.SqlClient;

using System.Linq;

namespace CBRClient {

public partial class frmCase : Form {

public static string CaseName { get; set; } public static string TestName { get; set; } AppDB _db = new AppDB(); SqlDataAdapter adp = new SqlDataAdapter(); DataSet ds = new DataSet(); DataTable dtTests = new DataTable(); Random R = new Random();

private void button1_Click(object sender, EventArgs e) {

var lstResultCases = new List<ResultCase>();

var Checkresult = new List<CheckresultCase>();

DataTable selData = new DataTable();

selData = (DataTable)dgvCases.DataSource;

DataTable centerTable =new DataTable();

centerTable = selData.Clone();

int k = int.Parse(textBoxl.Text);

var randomCases = GetRandomRows(k, selData);

string SelectMethod = comboBox1.SelectedItem.ToString();

var result = CalculateResults(selData, k, randomCases, SelectMethod);

dataGridViewl .DataSource = result;

bool ResultEqual = false;

int loopTime = 0;

do

{

loopTime++;

var newcenters = CalcCenters(result, selData); foreach (DataRow r in newcenters.Rows)

centerTable. ImportRow(r);

}

var newResult = CalculateResults(selData, newcenters.Rows.Count, newcenters, SelectMethod); ResultEqual = IsResultsAreEqual(result, newResult);

if (ResultEqual == false) {

result = newResult;

}

dgvCenters.DataSource = centerTable; lblLoopTime. Text = "";

lblLoopTime.Text = string.Format(" Результат проверки раз = {0}", loopTime); } while (ResultEqual == false); frmResultCase.Result = result; frmResultCase.CaseName = CaseName; frmResultCase _Result = new frmResultCase(); _Result.Show();

}

private DataTable CalcCenters(List<ResultCase> resultCase, DataTable dt) {

var centers = dt.Clone();

var rgroups = resultCase.GroupBy(x => x.Result); var centerNumber = 0;

foreach (var gp in rgroups) {

centerNumber++;

var cenRow = centers.NewRow();

cenRow["Number"] = "C" + centerNumber;

for (int j = 0; j < dt.Columns.Count; j++) {

if (dt.Columns[j].ColumnName == "Number" || dt.Columns[j].ColumnName == "Result") {

continue;

}

var sum = 0.0;

foreach (var res in gp) {

for (int i = 0; i < dt.Rows.Count; i++) {

if (dt.Rows[i]["Number"].ToString() == res.Number)

{

var val = double.Parse(dt.Rows[i][j].ToString()); sum = sum + val;

}

}

}

var colval = sum / gp.Count(); cenRow[j] = colval;

}

centers.Rows.Add(cenRow);

}

return centers;

}

private bool IsResultsAreEqual(List<ResultCase> resl, List<ResultCase> res2) {

var old = res1.OrderBy(x => x.Number).ToList(); var _new = res2.OrderBy(x => x.Number).ToList();

if (old.Count != _new.Count) {

return false;

}

else {

return old. CompareList<ResultCase>(_new);

}

}

private DataTable GetRandomRows(int k, DataTable dt) {

var rRows = new DataTable(); rRows = dt.Clone();

for (int i = 0; i < k; i++) {

rRows.ImportRow(dt.Rows[i]);

}

return rRows;

}

private List<ResultCase> CalculateResults(DataTable dt, int k, DataTable selected , string SelectMethod )

{

var resultCases = new List<ResultCase>(); int _n = dgvCases.Columns.Count - 2;

for (int i = 0; i < dt.Rows.Count; i++) {

double min = 0; int qq = 0;

for (int q = 1; k >= q; q++) {

double sub = 0; double _Евклидова = 0; double _Чебышева = 0; double max = 0; double _Манхэттенская = 0; double _Хэмминга = 0;

Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.