Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Принятие решений на основе методов машинного обучения

Учебное пособие по курсам «Модели и методы инженерии знаний», «Методы анализа больших данных»
Покупка
Новинка
Основная коллекция
Артикул: 822022.01.99
Доступ онлайн
169 ₽
В корзину
Пособие посвящено рассмотрению подходов к разработке экспертной системы принятия решений для медицинских целей, с использованием больших данных для формирования требований к системе самодиагностики и оказания первой помощи. Практический аспект включает проектирование структуры БД диагнозов и разработку алгоритмы взаимодействия с ней, а так же разработку прототипа интерфейса администратора системы. Пособие предназначено для студентов высших учебных заведений, обучающихся по специальности 10.05.04 Информационно-аналитические системы безопасности (специализация: "Автоматизация информационно-аналитической деятельности") по курсу "Математические методы анализа больших данных" и направлению 10.03.01 Информационная безопасность (направленность: "Информационно-аналитические системы безопасности") по курсу "Модели и методы инженерии знаний".
Целых, А. Н. Принятие решений на основе методов машинного обучения : учебное пособие по курсам «Модели и методы инженерии знаний», «Методы анализа больших данных» / А. Н. Целых, Н. В. Драгныш, Э. М. Котов ; Южный федеральный университет. - Ростов-на-Дону ; Таганрог : Издательство Южного федерального университета, 2022. - 113 с. - ISBN 978-5-9275-4246-8. - Текст : электронный. - URL: https://znanium.com/catalog/product/2132258 (дата обращения: 30.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Содержание

1

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ

РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное

образовательное учреждение высшего образования
«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

Инженерно-технологическая академия

А. Н. ЦЕЛЫХ

Н. В. ДРАГНЫШ

Э. М. КОТОВ

ПРИНЯТИЕ  РЕШЕНИЙ  НА  ОСНОВЕ  
МЕТОДОВ  МАШИННОГО  ОБУЧЕНИЯ

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

по курсам

МОДЕЛИ И МЕТОДЫ ИНЖЕНЕРИИ ЗНАНИЙ, 

МЕТОДЫ АНАЛИЗА  БОЛЬШИХ  ДАННЫХ

Ростов-на-Дону − Таганрог

Издательство Южного федерального университета

2022
Содержание

2

УДК 004.056.5(075.8)  
ББК  32.97я73

Ц349

Печатается по решению кафедры информационно-аналитических систем
безопасности Института компьютерных технологий и информационной

безопасности Южного федерального университета

(протокол № 10 от 10 июня 2022 г.)

Рецензенты:

доктор технических наук, профессор, заведующий кафедрой информатики 

Таганрогского института имени А. П. Чехова (филиал) РГЭУ (РИНХ)

Я. Е. Ромм

доктор технических наук, профессор, 

профессор кафедры информационно-аналитических систем безопасности 

Южного федерального университета С. Л. Беляков

Целых, А. Н.

Ц349  
Принятие решений на основе методов машинного обучения : учебное 

пособие по курсам «Модели и методы инженерии знаний», «Методы анализа 
больших данных» / А. Н. Целых, Н. В. Драгныш, Э. М. Котов ; Южный 
федеральный университет. − Ростов-на-Дону ; Таганрог : Издательство 
Южного федерального университета, 2022. − 113 с.

ISBN 978-5-9275-4246-8
Пособие посвящено рассмотрению подходов к разработке экспертной си-

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

Пособие предназначено для студентов высших учебных заведений, обучаю-

щихся по специальности 10.05.04 Информационно-аналитические системы безопасности (
специализация: "Автоматизация информационно-аналитической деятельности") 
по курсу "Математические методы анализа больших данных" и 
направлению 10.03.01 Информационная безопасность (направленность: "Информационно-
аналитические системы безопасности") по курсу "Модели и методы инженерии 
знаний". 

УДК 004.056.5(075.8)

ББК 32.97я73

ISBN 978-5-9275-4246-8

© Южный федеральный университет, 2022
© Целых А. Н., Драгныш Н. В., Котов Э. М., 2022
© Оформление. Макет. Издательство 

Южного федерального университета, 2022
Содержание

3

СОДЕРЖАНИЕ

ВВЕДЕНИЕ ………………………………………………………….
6

1. МЕТОДЫ  МАШИННОГО  ОБУЧЕНИЯ ……………………….
8

1.1. Описание предметной области ………………………………
8

1.2. Классификация ………………………………………………..
9

1.3. Кластеризация ………………………………………………...
11

1.4. Машинное обучение в задаче извлечения информации ……
12

1.5. Модели машинного обучения ………………………………..
13

1.5.1. Наивный байесовский классификатор ……………………..
13

1.5.2. Метод опорных векторов …………………………………….
14

1.5.3. Нейронная сеть …………………………………………………
14

1.6. Выбор метрик оценки машинного обучения ………………..
15

1.6.1. Матрица ошибок ……………………………………………….
15

1.6.2. Точность …………………………………………………………
16

1.6.3. Recall ……………………………………………………………...
16

1.6.4. Precision ………………………………………………………….
16

1.6.5. F1 score …………………………………………………………...
17

2. БОЛЬШИЕ ДАННЫЕ В СФЕРЕ САМОДИАГНОСТИКИ ….
18

2.1. Анализ сферы самодиагностики ……………………………..
18

2.1.1. Преимущества самодиагностики …………………………..
18

2.1.2. Недостатки и ограничение самодиагностики …………...
19

2.1.3. Сравнение имеющихся систем самодиагностики ……….
20

2.2. Анализ области оказания первой помощи …………………..
23

2.2.1. Актуальность оказания первой помощи …………………..
23

2.2.2. Проблематика оказания первой помощи ………………….
24

2.2.3. Использование информационных технологий при оказании 
первой помощи ……………………………………………………..
25

2.2.4. Сравнение существующих систем оказания первой помощи ……………………………………………………………………..

25
Содержание

4

2.3. Основания для разработки СС и ОПП ……………………….
28

2.4. Проектирование структуры разрабатываемой системы ……
29

3. РАЗРАБОТКА МОДЕЛИ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ …….
31

3.1. Логическая декомпозиция предметной области …………….
31

3.1.1. Исходные знания ………………………………………………..
31

3.1.2. Классификация и извлечение знаний ………………………..
34

3.2. Разработка фреймовой модели ……………………………….
39

3.3. Формирование обобщенного алгоритма работы механизма 
логического вывода ……………………………………………….
40

4. ПРОЕКТИРОВАНИЕ СЕРВЕРНОЙ ЧАСТИ СИСТЕМЫ ……
43

4.1. Общие сведения о системе …………………………………...
43

4.2. Архитектура серверной части системы ……………………...
43

4.2.1. Определение вариантов использования ……………………
43

4.2.2. Структура серверной части СС и ОПП …………………..
48

4.2.3. Размещение программных компонентов системы СС
и ОПП …………………………………………………………………….
51

4.3. Выбор модели жизненного цикла системы и средств реализации 
программных компонентов ………………………………..
53

4.3.1. Выбор технологий реализации интерфейса администратора ……………………………………………………………………...

54

4.3.2. Выбор технологии реализации веб-серверов ……………...
56

4.3.3. Выбор СУБД …………………………………………………….
56

4.3.4. Выбор прокси-сервера …………………………………………
57

4.4. Проектирование БД-диагнозов ………………………………
57

4.4.1. Концептуальная модель предметной области …………..
57

4.4.2. Инфологическая модель базы данных ………………………
59

4.4.3. Получение метаинформации о базе данных ………………
61

4.4.4. Даталогическая структура базы данных …………………
63

4.5. Построение объектной модели базы данных ………………..
67

4.5.1. Основной алгоритм построения объектной модели ……
67

4.5.2. Разделение таблиц на основные и промежуточные …….
68

4.5.3. Разделение полей данных и внешних ключей ………………
70

4.5.4. Нахождение связей «много ко многим» ……………………
72

4.6. Разработка графического интерфейса администратора …….
73
Содержание

5

4.6.1. Определение состояний интерфейса и условий пере-хода
73

4.6.2. Прототипирование интерфейса администратора …….
75

4.7. Разработка протокола взаимодействия клиентской и серверной 
частей СС и ОПП ……………………………………………..
77

4.7.1. Выбор архитектуры API ……………………………………..
77

4.7.2. Проектирование API …………………………………………..
78

5. ПРОЕКТИРОВАНИЕ  КЛИЕНТСКОЙ  ЧАСТИ  СИСТЕМЫ …
82

5.1. Выбор архитектуры и типа пользовательского интерфейса
82

5.2. Выбор подхода, языка программирования и среды разработки ………………………………………………………………..

82

5.3. Разработка диаграммы вариантов использования …………..
83

5.4. Проектирование структурной схемы СС и ОПП ……………
88

5.5. Проектирование компонентов СС и ОПП …………………..
90

5.5.1. Проектирование интерфейса пользователя ……………..
90

5.5.2. Разработка алгоритма работы механизма логического 
вывода ……………………………………………………………………
91

5.6. Проектирование классов приложения СС и ОПП …………..
97

6. РАЗМЕЩЕНИЕ  И  ТЕСТИРОВАНИЕ  
КОМПОНЕНТОВ  СИСТЕМЫ …………………………………….
100

6.1. Программно-техническая среда функционирования серверной
части ………………………………………………………………..
100

6.2. Тестирование СС и ОПП ……………………………………..
101

6.2.1. Функциональное тестирование серверной части ССи ОПП.
101

6.2.2. Оценочное тестирование серверной части СС и ОПП
103

ЗАКЛЮЧЕНИЕ ……………………………………………………...
109

СПИСОК  ЛИТЕРАТУРЫ …………………………………………..
110
Введение

6

ВВЕДЕНИЕ

В настоящее время многие пренебрегают посещением врача при 

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

Другой важной проблемой является необразованность людей при 

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

В учебном пособии рассматриваются подходы к разработке «Си-

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

Для достижения поставленной цели необходимо исследование про-

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

7

интерфейса администратора и разработки его прототипа. Рассмотрен пример 
разработки программного веб-интерфейса серверной части и выбор 
его архитектуры.

Актуальность рассмотрения подходов к разработке СС и ОПП обу-

славливается предоставлением пользователю объединённого функционала 
самодиагностики и оказания первой помощи, что в настоящий момент не 
реализовано ни в одной программной системе в области медицины.
1. Методы машинного обучения

8

МЕТОДЫ МАШИННОГО 
ОБУЧЕНИЯ

1.1. Описание предметной области

Область машинного обучения, является одной из наиболее влиятель-

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

Машинное обучение представляет собой инструмент для превраще-

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

Существует несколько форм машинного обучения, а именно, кон-

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

Обучение с учителем или контролируемое обучение представляет со-

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

Неконтролируемое обучение или обучение без учителя – это вто-

рая из четырех моделей машинного обучения. В моделях данного типа
1.2. Классификация

9

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

Полуконтролируемое обучение третья из четырех моделей машин-

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

Обучение с подкреплением – это последняя модель машинного обу-

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

Обработка естественного языка связана с тем, как компьютеры по-

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

Однако для автоматизации этих процессов и предоставления точных 

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

Большинство задач обработки естественного языка и извлечения ин-

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

1.2. Классификация

В машинном обучении классификация относится к проблеме про-

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

10

Примерами проблем для решения которых применяются подобные алгоритмы 
является, например, определение того, является ли электронная 
почта спамом или нет.

Классификация – это процесс разделения заданного набора данных 

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

В машинном обучении классификация представляет собой про-

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

Подход к обучению в ML представляет собой непрерывный процесс, 

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

Если оценка превышает пороговое значение, то модель использу-

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

Необходимость классификации в повседневной жизни человека 

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

Также методы классификации используются для спам-фильтров, 

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

Существует несколько моделей классификации:
1. Наивный Байес – это алгоритм классификации, который пред-

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

2. Дерево решений – это алгоритм, который используется для ви-

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

11

3. K-ближайшие соседи – это алгоритм классификации и прогнози-

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

1.3. Кластеризация

Кластеризация или кластерный анализ – это форма исследователь-

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

Целью кластерного анализа является выявление групп, которые 

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

Пример выполнения разбиения исходных данных на кластеры пред-

ставлен на рис.1. 

Рис. 1. Исходный набор данных – (а), 

набор данных с выделенными кластерами – (б)

Кластеризация – это основная задача исследовательского интеллек-

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

12

Кластеризация может быть достигнута с помощью различных алго-

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

Существует два основных типа классификации:
1. k-means кластеризация.
2. Иерархическая кластеризация.
Первый обычно используется, когда количество классов известно и 

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

Как и любая задача машинного обучения кластерный анализ имеет ма-

тематическое обоснование, суть которого можно выразить следующим образом. 
При начале работы имеется обучающая последовательность, которая 
представляет собой определенный набор данных, {𝑥1, . . . , 𝑥𝑛} ∈ 𝑋. Кроме 
того, задана функция расстояния между объектами 𝜌(𝑥, 𝑥′). Необходимо, 
используя технические средства разбить последовательность на кластеры, 
которые представляют собой непересекающиеся подмножества. При этом 
объекты разных кластеров должны отличаться друг от друга. Каждый кластер 
должен состоял из объектов, которые достаточно близки по метрике ρ. 
Таким образом, алгоритм кластеризации представляет собой функцию
𝑎 ∶ 𝑋 → 𝑌 , которая любому объекту 𝑥 ∈ 𝑋 ставит в соответствие метку 
кластера 𝑦 𝑖 ∈ 𝑌 [2].

1.4. Машинное обучение в задаче извлечения информации

Извлечение информации представляет собой задачу выделения 

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

Методы машинного обучения для извлечения информации обычно 

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

13

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

Одним из подходов классификации является применение наивного 

байесовского классификатора. Наивный байесовский классификатор – это 
вероятностная модель машинного обучения, которая используется для задачи 
классификации. Суть классификатора основана на теореме Байеса. 
Данный метод часто используется в ML и NLP. Наивные байесовские классификаторы 
предполагают, что влияние значения переменной на данный 
класс не зависит от значений других переменных. Проведенные в различных 
работах исследования продемонстрировали высокую точность работы 
этого метода при работе с большими данными. 

Скрытая Марковская модель и метод условных случайных полей при-

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

1.5. Модели машинного обучения

1.5.1. Наивный байесовский классификатор

Наивный Байес – это метод статистической классификации, осно-

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

Данный классификатор основан на теореме Байеса, которая позво-

ляет определить вероятность того, что некое событие произойдет, зная 
лишь вероятность события, которое уже произошло. Математическая формулировка 
данного уравнения представлена в формуле 1:

𝑃(𝐴|𝐵) =

𝑃(𝐵|𝐴)𝑃(𝐴)

𝑃(𝐵)
.
(1)

В данной формуле 𝑃(𝐴) представляет собой вероятность того, что 

гипотеза A верна (априорная вероятность A). 𝑃(𝐵) это вероятность данных 
в целом, а 𝑃(𝐵|𝐴) это вероятность данных B, при условии, что 
Доступ онлайн
169 ₽
В корзину