Принятие решений на основе методов машинного обучения
Учебное пособие по курсам «Модели и методы инженерии знаний», «Методы анализа больших данных»
Покупка
Основная коллекция
Тематика:
Системы управления базами данных (СУБД)
Издательство:
Южный федеральный университет
Год издания: 2022
Кол-во страниц: 113
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-9275-4246-8
Артикул: 822022.01.99
Пособие посвящено рассмотрению подходов к разработке экспертной системы принятия решений для медицинских целей, с использованием больших данных для формирования требований к системе самодиагностики и оказания первой помощи. Практический аспект включает проектирование структуры БД диагнозов и разработку алгоритмы взаимодействия с ней, а так же разработку прототипа интерфейса администратора системы. Пособие предназначено для студентов высших учебных заведений, обучающихся по специальности 10.05.04 Информационно-аналитические системы безопасности (специализация: "Автоматизация информационно-аналитической деятельности") по курсу "Математические методы анализа больших данных" и направлению 10.03.01 Информационная безопасность (направленность: "Информационно-аналитические системы безопасности") по курсу "Модели и методы инженерии знаний".
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 10.03.01: Информационная безопасность
- ВО - Специалитет
- 10.05.04: Информационно-аналитические системы безопасности
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Содержание 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. Дерево решений – это алгоритм, который используется для ви зуального представления процесса принятия решений. Дерево решений можно составить, задав вопрос «да/нет» и разделив ответ, чтобы получить другое решение.