Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 2036

.pdf
Скачиваний:
11
Добавлен:
30.04.2022
Размер:
4.3 Mб
Скачать

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

ФГБОУ ВО «Российская академия народного хозяйства и государственной службы при Президенте Российской Федерации», Брянский филиал, Россия

УДК 004.6

Ю.В. Минаева, И.А. Волосникова, Д.С. Гладилкин

ПРИМЕНЕНИЕ МЕТОДОВ DATA MINING ДЛЯ РЕШЕНИЯ ПРИКЛАДНЫХ ЗАДАЧ АНАЛИЗА ДАННЫХ

В современных технических и экономических системах хранятся и обрабатываются большие массивы информации. Зачастую данные, поступающие в систему, являются разрозненными и неструктурированными, подверженными различным шумам и искажениям, что делает затруднительным их анализ и выявление скрытых свойств. Однако для многих задач бизнеса, производства, банковской сферы, медицины и многих других необходимо иметь возможность выявлять закономерности в таких выборках данных, осуществлять на их основе прогнозирование и принятие решений. Для этого существует совокупность методов, получивших название data mining, позволяющих обнаружить в массивах информации нетривиальные, практически полезные и легко интерпретируемые знания [1]. К алгоритмам data mining относятся кластеризация, байесовские сети, искусственные нейронные сети.

Кластеризация – метод обработки исходных данных, позволяющий выявить наличие внутренних связей между элементами выборки и разделить на их основе данные на множество групп со схожими параметрами (кластеры). Кластерный анализ чаще всего применяется в тех случаях, когда неизвестно число групп, на которые следует разделить элементы исходной выборки, т. е. в задачах поиска структуры для малоизученных явлений.

Задача кластеризации может быть сформулирована следующим образом: необходимо разбить множество объектов Х на s n кластеров K1,K2,...,Ks

таким образом, чтобы каждый объект Xi принадлежал только одному кластеру

K j, т.е.

K1 K2 ... Ks X,

Ki Kj , i j, i, j 1,...,m .

и чтобы объекты, принадлежащие одному и тому же кластеру, были схожими, а объекты, принадлежащие разным кластерам, несходными.

Еще одним методом является алгоритм k-средних (k-means), или быстрый кластерный анализ. Алгоритм k-средних помогает проверить имеющиеся гипотезы относительно количества кластеров. При этом значение k может

40

зависеть от ранее проведенных исследований, предположений или даже интуиции.

В алгоритмах глубокого обучения метод k-средних иногда применяют не по прямому назначению (классификация разбивкой на кластеры), а для создания так называемых фильтров (ядер св ртки, словарей). Например, для распознавания изображений в алгоритм k-средних подают небольшие случайные кусочки изображений обучающей выборки, допустим, размером 16х16 в виде линейного вектора, каждый элемент которого кодирует яркость своей точки. Количество кластеров k задается большим, например, 256. Обученный метод k-средних при определенных условиях вырабатывает при этом центры кластеров (центроиды), которые представляют собой удобные базисы, на которые можно разложить любое входное изображение. Такие "обученные" центроиды в дальнейшем используют в качестве фильтров, например, для св рточной нейронной сети, в качестве ядер св ртки или других аналогичных систем машинного зрения. Таким образом осуществляется обучение без учителя при помощи метода k-средних [1].

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

-нахождение вероятности свидетельства;

-определение априорных маргинальных вероятностей;

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

-вычисление наиболее вероятного объяснения наблюдаемого

события;

-вычисление апостериорного максимума [1, 2].

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

41

Все описанные методы широко применяются в различных сферах человеческой деятельности, которые прямо или косвенно связаны с обработкой большого количества данных. Например, в области медицины - архивы медицинских данных, находящиеся в распоряжении различных медицинских учреждений, содержат огромный запас сведений о различных случаях каждого конкретного заболевания. С использованием методов data mining были созданы экспертные системы для постановки медицинских диагнозов, построенные главным образом на основе правил, описывающих сочетания симптомов различных заболеваний. С помощью таких правил можно узнать не только, чем болен пациент, но и как его нужно лечить. Правила помогают выбирать средства медикаментозного воздействия, определять показания (противопоказания), ориентироваться в лечебных процедурах, создавать условия наиболее эффективного лечения, предсказывать исходы назначенного курса лечения, изучать причины и механизмы возникновения различных патологий, исследовать эффективность хирургического вмешательства и т.п. Основой этих правил и становятся закономерности, найденные с помощью методов data mining [2, 3].

Еще более наглядным является использование интеллектуального анализа данных в банковской или страховой сфере для решения таких задач, как сегментация клиентов, прогнозирование продаж, аналитика складских запасов, принятие решение об индивидуальных скидках для клиентов, привлечение новых клиентов и пр. Например, прогнозирование проблем в определенных страховых сегментах является задачей классификации. На основании исторических данных об активностях клиента, таких как страхование автомобиля/жизни/дома, наличия страховых выплат, возможно спрогнозировать и сегментировать аудиторию. В результате с помощью полученных профилей можно будет корректировать условия страхования и давать оценку «доверия» каждому клиенту. Еще одним примером может служить предсказание объема POS-транзакций в следующем месяце для каждого клиента - задача регрессии, в которой требуется спрогнозировать объем транзакций через POS-терминал для каждого клиента. Решение этой задачи позволяет сегментировать клиентов и заранее планировать и корректировать персональные предложения и новые акции для клиентов [3].

Литература

1.Data mining (Методы добычи данных) // StatSoft: электронный учебник по статистике. [Электронный ресурс]: http://statsoft.ru/home/textbook/modules/stdatmin.html (дата обращения: 26.04.2019).

2.Марухина О.В., Применение методов data mining для выявления

скрытых закономерностей в задачах анализа медицинских данных / О.В. Марухина, Е.Е. Мокина, Е.В. Берестнева // Фундаментальные исследования. – 2015. – № 4 – С. 107-113.

42

3. Татевосян А., Применение алгоритмов Data Mining в решениях класса Business Intelligence // Аналитический центр Anti-Malware.ru. [Электронный ресурс]: https://www.anti-malware.ru/practice/methods/data-mining (дата обращения: 27.04.2019).

ФГБОУ ВО «Воронежский государственный технический университет», Россия

УДК 004.942

Р.Х. Мясоутов

АНАЛИЗ РУКОПИСНОГО ТЕКСТА В ЗАДАЧЕ ИДЕНТИФИКАЦИИ ПОЛА НА ОСНОВЕ РУКОПИСНОГО ТЕКСТА

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

На первом шаге определим список прямоугольных областей, в которых расположены буквы. Для этого будем использовать возможности библиотеки opencv[1]. Используя данную библиотеку и ее подмодуль морфологического поиска, найдем все возможные блоки с текстом на снимке (Рис. 1).

Рис. 1

Видно, что все прямоугольные области можно сгруппировать по координате Y. Для этого, на первом шаге определим среднюю высоту всех найденных прямоугольников. Будем предполагать, что средняя высота строки будет равна сумме двух стандартных отклонений и средней высоте прямоугольной области:

CH = 2 heights.std() + heights.mean()

Определив среднюю высоту строки, отобразим найденные строки на снимке с прямоугольными областями (рис. 2). Видно, что большая часть

43

блоков равномерно распределена внутри каждой сформированной строке. Но есть исключения, при которых блоки с текстом находятся между несколькими строками. Сформируем способ, позволяющий определить, что текущий блок с текстом относится некоторой строке. Будем рассматривать три основных случая, при которых изучаемый блок можно отнести к какой - либо строке:

1.Изучаемый блок пересекает только одну строку, и большая часть площади пересечения находится в текущей строке.

2.Изучаемый блок пересекает две строки

3.Изучаемый блок пересекает три строки

Рис. 2

Случай 1. Определив пересечение I, определим площадь пересечения S и ее часть от площади всего блока A. Если S > 80%, то предполагаем, что блок A лежит в блоке C. В противном случае, предполагаем, что блок A, не находится в блоке C, следовательно пропускаем данный блок до следующей итерации.

Рис. 3

Случай 2. На первом шаге определим, какую часть общей площади блока

A занимает площадь двух пересечений: S =

 

.

 

Рис. 4

Если S < 80%, то предполагаем, что часть текстового блока находится на третьей строке, недоступной на текущей итерации. После определяем,

44

существует ли еще одно пересечение с блоком A, в строке, недоступной на текущей итерации. Если такое пересечение есть, то пропускаем блок A до

следующей итерации. Если

блок

 

 

 

, то

определяем, какое из

двух

пересечений занимает большую

площадь -

 

. Если большее пересечение

 

 

 

 

S > 80%

I

< S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S

 

 

 

 

 

занимает меньше, чем

 

 

от всей площади

 

I :

 

 

 

 

. То разбиваем блокI

 

 

 

 

 

 

A на две равные части

 

и

 

 

. Тогда

 

 

отдадим верхней строке, а

 

 

I

 

 

S

 

добавим весь блок A к строке, где

I = I

 

 

 

нижней. Если

 

>

 

 

 

 

A, то

 

A

 

 

 

A

 

 

 

 

 

 

.

A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Случай 3. Возможен, когда один текстовый блок расположен на трех строках одновременно. Данный случай обрабатывается так же, как и случай 2, только для трех пересекаемых блоков T, M, L.

Рис. 5

Мера оценки подобранных коэффициентов. Также, была сформирована

мера оценки выбранных коэффициентов 80% и . Для этого данный алгоритм

был применен к 60 изображениям рукописного текста. Для каждого случая было вычислено отношение количества верно определенных блоков к общему количеству блоков. В результате имеем следующие графики (Рис. 6):

Рис. 6

45

На данном графике видно, что лучшее количество правильных определений

для случая 1 достигается при значении 80, а для случая 2 - .

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

1) Он подходит только для текстов с относительно равными между собой строками. При больших строках нужно выполнять дополнительное разделение строк на подстроки, чтобы «выровнять» группировку (Рис. 7):

Рис. 7

2) Не всегда точно удается разделить текстовый блок между двумя строками (Рис. 8), но данный недостаток можно будет обработать при последующем выделении сгруппированных блоков в отдельные блоки:

Рис. 8

3) В случае, когда opencv разбивает одну букву на несколько блоков и эти блоки находятся на разных строках, довольно сложно отнести всю букву к конкретной строке, так как она распределена между строками (Рис. 9):

Рис. 9

Литература

1) Opencv: сайт – URL: https://opencv.org/ (Дата обращения: 01.03.2019)

ФГАОУ ВО «Институт математики и информационных технологий. Волгоградский государственный университет», Россия

46

УДК 004.6

Ю.В. Минаева, Г.И. Асунин

OLAP-ТЕХНОЛОГИИ КОМПЛЕКСНОГО АНАЛИЗА МНОГОМЕРНЫХ ДАННЫХ

Впроцессе анализа данных и поиска решений часто возникает необходимость в построении зависимостей между различными параметрами, число которых может варьироваться в широких пределах. Традиционные средства анализа, оперирующие данными, представленными в виде таблиц реляционной база данных, не могут в полной мере удовлетворять таким требованиям, в первую очередь, из-за невозможности объединять, просматривать и анализировать данные с точки зрения множественности измерений [1, 2].

OLAP (On-Line Analytical Processing) – технология оперативной аналитической обработки данных, использующая методы и средства для сбора, хранения и анализа многомерных данных в целях поддержки процессов принятия решений.

Основное назначение OLAP-систем – поддержка аналитической деятельности, произвольных запросов пользователе-аналитиков. Цель OLAPанализа – проверка возникающих гипотез [2].

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

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

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

47

Аналитики могут использовать любое представление или срез куба, чтобы получить представление точек интереса в виде листа. Вместо того, чтобы просто работать с двумя измерениями (стандартная электронная таблица) или тремя измерениями (например, рабочая книга с вкладками одного и того же отчета по одной переменной), компания использует множество измерений для отслеживания. Например, бизнес, который распределяет товары из более чем одной фабрики будет иметь, по крайней мере, следующие измерения для учета: счета, местоположения, периоды, продавцы и продукты. Эти измерения составляют основу для планирования, анализа и отчетности компании [3, 4]..

Внедрение технологии OLAP зависит не только от типа программного обеспечения, но и от базовых источников данных и намеченных бизнес-целей. Каждая отрасль или бизнес-сфера специфична и требует определенной степени индивидуального моделирования для создания как минимум многомерных «кубов» для загрузки данных и построения отчетов. OLAP-решение может быть предназначено для динамической отчетности для финансовых специалистов с исходными данными, происходящими из системы ERP. Все это говорит о том, что клиенты должны иметь четкие цели для предполагаемого решения и начать рассматривать выбор продукта на этой основе. Другим фактором, который следует учитывать при реализации OLAP, является доставка конечным пользователям: хочет ли исходная пользовательская база принять новый интерфейс или есть предпочтение использовать панель мониторинга? Или, возможно, пользователям удобнее использовать систему доставки динамических электронных таблиц, например, для совместного бюджетирования и прогнозирования.

Литература

1Минаева. Ю.В. Методы статистического и интеллектуального анализа данных: учеб. пособие / Ю.В. Минаева. - Воронеж: ВГТУ. 2017. 90 с.

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

3.Eckerson W.W. Beyond the Basics: Accelerating BI Maturity. Renton, WA:TDWI, 2017.

4.Extended Enterprise Architecture Maturity Model Support Guide: Version

2.0/ Editorial writer: J. Schekkerman. Amersfoort: Institute for Enterprise Architecture Developments (IFEAD), 2017.

ФГБОУ ВО «Воронежский государственный технический университет», Россия

48

УДК 004.4

Ю.В. Минаева, К.В. Цуканов

ПРИМЕНЕНИЕ МЕТОДОВ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА ДАННЫХ ДЛЯ ИЗВЛЕЧЕНИЯ ИНФОРМАЦИИ ИЗ ВЕБ-СТРАНИЦ

В настоящее время функционирование практически любой организации сопровождается накоплением больших объемов информации о различных аспектах ее деятельности. Примерами такой информации являются, например, документы о продаже товаров и оказании услуг, данные об операциях с банковскими счетами, списки исходящих и входящих звонков и т.д. В ряде случаев в больших объемах данных можно обнаружить закономерности, которые могут быть использованы организацией для увеличения своей конкурентоспособности на рынке. С этой целью разработаны и успешно используются методы, объединенные термином Data Mining. Однако, помимо информации, хранящихся на серверах предприятий, сама сеть Интернет является огромным хранилищем данных, обработка и анализ которой могут полезны. Поэтому отдельным направлением Data Mining является так называемые методы Web Mining, предназначенные для интеллектуального анализа данных с целью автоматического извлечения информации из вебресурсов и выявления общих закономерностей в Интернете [1].

В Web Mining можно выделить следующие этапы [1, 2]:

-входной этап (англ. input stage) — получение «сырых» данных из источников (логи серверов, тексты электронных документов);

-этап предобработки (англ. preprocessing stage) — данные представляются в форме, необходимой для успешного построения той или иной модели;

-этап моделирования (англ. pattern discovery stage);

-этап анализа модели (англ. pattern analysis stage) — интерпретация полученных результатов.

Конкретные процедуры каждого из этих этапов зависят от поставленной задачи. В связи с этим выделяют следующие различные категории Web Mining [1, 2]:

-Web Content Mining (извлечение веб-контента) — процесс извлечения знаний из контента web-документов или их описаний;

-Web Structure Mining (извлечение веб-структур) — процесс обнаружения структурной информации в Интернете. Данное направление рассматривает взаимосвязи между веб-страницами, основываясь на связях между ними. Построенные модели могут быть использованы для категоризации

ипоиска схожих веб-ресурсов, а также для распознавания авторских сайтов.

-Web Usage Mining (анализ использования веб-ресурсов) — это автоматическое обнаружение шаблонов в маршруте передвижения пользователя и связанных с ним данными, собранными или приобретенными в результате взаимодействия с одним или несколькими веб-сайтами. Это

49