Использование методов машинного обучения для прогнозирования потоков пациентов в медицинских учреждениях
Обзор алгоритмов машинного обучения. Исследование функционалов ошибки и метрики. Использование градиентного бустинга при обучении нейронных сетей. Главный анализ линейной регрессии и регуляризаторов. Характеристика алгоритма адаптации градиента.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 28.08.2020 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ «ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»
Выпускная квалификационная работа
Использование методов машинного обучения для прогнозирования потоков пациентов в медицинских учреждениях
Прокофьева Елизавета Сергеевна
Москва 2020
Введение
На текущий момент системы здравоохранения многих государств столкнулись с распространением вируса SARS-CoV-2. К сожалению, большинство стран не смогли сдержать эпидемию, и единственным сценарием окончания пандемии является выработка коллективного иммунитета, т. е. количество переболевших должно составить примерно 75% от населения, при условии, что оно распределено равномерно. Главная проблема при этом заключается в нагрузке на систему здравоохранения - количество обращений в медицинские учреждения не должно превышать максимальный допустимый поток обслуживаемых пациентов. Эффективность решения данной проблемы состоит из 2 составляющих - во-первых, это меры государства по снижению скорости распространения эпидемии, и во-вторых - меры системы здравоохранения по увеличению максимального допустимого числа пациентов. По рекомендациям ВОЗ, региональные системы здравоохранения должны в срочном порядке мобилизовать все ресурсы, чтобы адаптироваться под новые условия. Данная работа посвящена предсказанию пациентского потока. Актуальность данной работы заключается в том, что предиктивная аналитика количества пациентов поможет оптимизировать работу медицинских учреждений и снизить нагрузку на медицинский персонал.
Попытки внедрения предиктивной аналитики потока пациентов проводились и ранее. Минздрав РФ в 2017 году запустил проект «Бережливая поликлиника», суть которого заключается во внедрении технологий бережливого производства в работу медицинских учреждений. Ключевая проблема, которую решает данный проект - очереди. Очереди вызваны не только нехваткой врачей, но и неоптимальным расписанием медицинского персонала и сложного оборудования. Для решения этой проблемы в проекте используется анализ бизнес-процессов и простая статистика. Однако эту задачу можно решить намного эффективнее с помощью продвинутой предиктивной аналитики и методов машинного обучения.
Главная цель данной работы - разработать модель машинного обучения на основе реальных данных, которая сможет предсказать объём потока пациентов на определенный будущий период. Для этого необходимо решить следующие задачи:
проанализировать существующие решения и работы по этой теме, выделить из них наиболее удачные идеи;
выбрать данные, провести разведочный анализ и обработать их;
построить модель, которая будет принимать информацию о пациенте и выдавать следующую точку посещения.
Таким образом, объектом исследования становится математические методы для предиктивной аналитики. Предметом же данного исследования является способность этих моделей предсказывать поток пациентов.
Для решения задач по анализу данных был выделен ряд методов исследования: многие задачи машинного обучение без учителя предназначены для разведочного анализа данных и их предобработки, а машинное обучение с учителем полностью посвящено предиктивной аналитике. Более подробный список методов описан в 1 главе.
Главную гипотезу данного исследования можно составить следующим образом - алгоритмы машинного обучения с учителем на основе данных о пациенте и медицинских учреждениях способны предсказывать, когда и в какое время подойдет пациент в следующий раз.
Практическая значимость данной темы, заключается в том, что в настоящее время нет общепринятого статистического инструмента, который бы позволял предсказывать поток пациентов, в результате чего врачи и оборудования в разное время либо перегружены, либо бездействуют. С помощью данной модели можно составить расписание таким образом, что нагрузка на персонал будет распределена оптимально. Это позволит в несколько раз уменьшить очереди в медицинских учреждениях. Для примера, в рамках «Бережливая поликлиника» удалось сократить очереди в отдельных местах в 8 раз.
Если же говорить про научную проработанность, то, забегая вперёд, можно сказать, что мало исследований посвящено использованию машинного обучения в оптимизации потока пациентов, причины этого явления будут описаны во 2 главе. Также стоит отметить, что большинство работ по предсказанию потока пациентов используют модели из классического машинного обучения и ограниченный набор переменных. Новизна данной работы заключается в использовании более продвинутых алгоритмов - нейронные сети и градиентный бустинг, и генерации дополнительного признакового пространства.
Данное исследование имеет ряд ограничений - медицинские данные являются приватной информацией, поэтому в свободном доступе существуют очень мало источников. Для исследования были выбраны логи с историей посещений пациентов с 2005 по 2008 год в учебном Нидерландском госпитале. Результаты данного исследования будут предназначены в первую очередь для этого набора данных, тем не менее эту методологию можно распространить и на другие медицинские учреждения.
Исследование будет разбито на 3 главы. Поскольку критический анализ литературы требует понимания методов машинного обучения, раздел с разбором алгоритмов машинного обучения выделен в отдельную главу. Таким образом первой главе будут описаны методы машинного обучения, которые были использованы в исследовании или авторами обозреваемых статьей. Вторая глава будет посвящена анализу существующих работ. В третей главе изложен ход исследования, приведены итоговые результаты и обозначены направления дальнейших исследований.
Работа содержит 40 страниц, 21 изображение и 9 таблиц
Глава 1. Обзор алгоритмов машинного обучения
1.1 Машинное обучение
Машинное обучение - это раздел искусственного интеллекта, изучающий алгоритмы, которые способны самостоятельно выполнять поставленную задачу с помощью обучения на данных. Существует 3 раздела машинного обучения с учителем: обучение с учителем, обучение без учителя, обучение с подкреплением.
Обучение с учителем - семейство алгоритмов, которые предназначены для решения задач классификации и регрессии. Модели из данного семейства восстанавливают взаимосвязь между целевыми переменными и входными признаками. Большая часть ВКР будет посвящена анализу алгоритмов этого раздела, т.к. именно этот раздел машинного обучения занимается предсказательной аналитикой и может быть использован для предсказания пациентского потока.
Обучение без учителя - семейство алгоритмов, которые позволяют решать задачи кластеризации, тематического моделирования, заполнения пропусков, сжатие признакового пространства и поиска аномалий. Модели из данного семейства предназначены для поиска структуры в данных. В рамках данного исследования будут использоваться методы сжатия признакового пространства.
Обучение с подкреплением - семейство алгоритмов, которые позволяют обучаться агенту в моделируемой среде. В данной ВКР методы из данного раздела рассматриваться не будут.
1.2 Обзор машинного обучения с учителем
Главной целью машинного обучения с учителем является обучение модели, которая бы смогла восстановить закон, описанный в обучающей выборке с некоторой приемлемой точностью. Задать модель можно либо через функцию с набором параметров - параметрическим способом, либо через дерево решений. На самом деле существует больше алгоритмов непараметрического подхода, но для деревьев и их композиции являются самыми эффективными методами.
Основной же проблемой машинного обучения является подбор оптимальной модели, которая бы смогла воспроизвести исходную зависимость и при этом не запоминать шумы. Явление, при котором модель слишком слаба, чтобы определить исходную зависимость, называется недообучением. С другой стороны, явление, когда модель насколько сложная, что ей легче запомнить примеры из выборки чем восстановить закономерность, называется переобучением. Недообучение редко является большой проблемой, т.к. современные алгоритмы позволяют сделать модель неограниченной сложности, основная трудность заключается в переобучении.
Рисунок 2. Пример недообучение
У каждого алгоритма существуют модификации, которые позволяют бороться с переобучением. Однако существует одна обязательная практика для валидации моделей - разбиение выборки для проверки. Суть этого метода заключается в том, общий набор данных разбивается на две части - обучающую и тестовую. На первой часть, обучающей, модель будет оптимизировать свои параметры. На второй, тестовой, будет проходить валидация модели. Как правило, тестовую и обучающую выборку делят в соотношении 3:7 соответственно.
Рисунок 3. Пример оптимальной модели
Рисунок 4. Пример переобучения
Функционалы ошибки и метрики:
Для валидации и обучения моделей необходимо ввести понятия функции ошибки и метрики модели.
Функции ошибки показывают то, насколько предсказание модели отличается от идеального ответа для одного образца. Для задач регрессии и классификации они отличаются. Самыми часто используемыми функциями ошибки для задач регрессии являются MSE (mean squared error) и MAE (mean absolute error). Для задачи классификации используется функция кросс энтропии и кусочно-линейная функция потерь - hinge loss.
,
,
,
,
Где `y' - ответы выборки, и `a' - ответы алгоритма.
Модель будет подбирать параметры таким образом, чтобы минимизировать среднюю ошибку по всей обучающей выборке.
Однако функция ошибки не всегда наилучшим образом раскрывает качество работы алгоритмов. Например, она не может оценить качество классификации с несбалансированным количеством классов или дать общую оценку по всей выборке.
Для дополнительного измерения качества моделей также используют дополнительные метрики, которые нельзя использовать для обучения, но они хорошо подходят для валидации. Для задач регрессии это R2, для классификации это Accuracy, F1.
Для расчета F1 необходимо рассчитать метрики Recall и Precision. Recall представляет собой долю выявленных положительных объектов, для нее выгодно всегда отвечать положительным классом, чтобы ничего не пропустить, в идеальном случай, присвоить всем объектам положительный класс. Метрика Precision является долей правильно угаданных положительных классов, для нее, наоборот, выгодно очень осторожно назначать ответы положительных классов, в идеальном случай - дать положительный ответ самому очевидно объекту и больше не рисковать. F1 представляет собой гармоническое среднее между Recall и Precision
,
,
,
,
,
Где - квадратичное отклонение ответов от ответов, - дисперсия среднего ответа от ответов, True Positive - количество правильно выбранных положительных ответов, False Negative - количество ложнонегативных ошибок, False Positive - количество ложноположительных ошибок.
На практике существует намного больше метрик качества и функционалов ошибок, но для данной задачи перечисленных методов более чем достаточно.
Параметрические модели:
Параметрические модели можно представить как функцию с фиксированным количеством параметров. Задачей машинного обучения в данном случай является подбор таких параметров, при котором модель выдает предсказание с минимальной ошибкой.
,
Где L - функция ошибки, Х - признаковое описание данных, Y - целевые переменные, - предиктивная модель, - параметры модели.
В данной работе использовались 3 вида параметрических моделей - линейная регрессия, логистическая регрессия и нейронные сети. Также была рассмотрена модель ARMA, которая входит в обзор литературы.
Линейная регрессия
Линейная регрессия представляет собой перемножение вектора весов на вектор признаков с добавлением коэффициента смещения. Эта модель является наиболее простой, но в тоже время она позволяет интерпретировать коэффициенты модели.
,
Где Y - ответ модели, wi - коэффициент i-го признака, b - свободный член, xi - i признак.
Рисунок 5. Линейная регрессия
Методы обучения: есть 2 подхода для поиска оптимального решения - аналитическое решение и итеративный поиск - градиентный спуск.
Аналитическое решение выходит из метода максимального правдоподобия и предположения о том, что ошибка имеет нормальное распределение:
,
Где - вероятностная плотность нормального распределения, Y - матрица ответов, X - матрица входных признаков, W - матрица признаков, - стандартное отклонение.
Также это решение очень просто выводится из определения и псевдообращения матрицы X
,
,
,
В данном виде линейная регрессия записана без свободного члена т.к. предполагается что матрица X имеет признак состоящий из единиц. Таким образом, коэффициент этого признака будет равен свободным членом. Этот прием называется методом спрямляющих пространств.
Однако аналитическое решение сложно в вычислениях, подходит только для минимизации среднеквадратичной ошибки и выводится только для линейной регрессии. Чаще всего применяют градиентный спуск.
Суть его заключается в спуске по антиградиенту ошибки, т.е.:
,
Где L - функция ошибки, w - вес ошибки, - нормирующий коэффициент градиента.
Таким образом, алгоритм ищет такую точку, при которой производная ошибки по весам равна 0, т. е. оптимум. Поскольку это итеративный алгоритм, проблемы с седловой точкой обычно не рассматриваются т. к. появление этого эффекта имеет практически бесконечно малую вероятность
Этот алгоритм обучения применяется во всех параметрических моделей, он будет разобран более подробно на примере линейной регрессии. Градиентный спуск имеет несколько модификации для борьбы с переобучением. В данном исследовании использовались регуляризаторы и алгоритм адаптации обучающего коэффициента.
Регуляризаторы.
Одним из симптомов переобучения является слишком большие модули коэффициентов, поэтому в функционал ошибки также добавляется абсолютная или квадратичная норма весов с некоторыми коэффициентами.
,
,
,
Таким образом существуют 3 модификации линейных регрессии: c использованием L1 - Lasso; с использованием L2 - Ridge; с использованием L1 и L2 - ElasticNet. Lasso имеет сильную способность предотвращать переобучение и обнулять коэффициенты слабо значимых признаков.
Алгоритм адаптации градиента.
При обучении нейронных сетей также используют градиентный бустинг. Однако в своем изначальном виде его почти не применяют из-за сложной поверхности решения, поэтому используют 3 модификации при подсчете градиента и коэффициента обучения:
Уменьшение коэффициента обучения с номером итерации. Изначально веса модели находятся очень далеко от оптимума по поверхности решения, поэтому требуется делать большие шаги. В конце же обучения набор параметров находится близко к оптимуму, поэтому нужно делать небольшие и осторожные передвижения по поверхности решения.
Момент. Поверхность решения может быть очень шероховатой и неровной. Таким образом, большая вероятность того, что градиент в произвольной точке будет не совпадать с направлением усреднённого градиента ближайшей области. Решение этой проблемы заключается в экспоненциальном сглаживании последовательности градиентов.
,
,
Где - вес, с которым складываются градиент на этой и предыдущей итерации.
У данной модификации есть физическая интерпретация - если представить набор параметров модели как шарик на поверхности решения, то Момент добавляет инерцию к этому шарику
RMSprop. Поверхность решения может быть очень неоднородной в плане масштаба по координатам коэффициентов. Например, для одного коэффициента требуется длинные шаги в одну сторону, а для другого очень аккуратно приблизиться к точке оптимума. Таким образом, требуется нормировать градиенты на длину шага.
,
,
Где - коэффициент экспоненциального усреднения.
Комбинация всех 3 методов для адаптации называется Adam, данный оптимизатор был использован при обучении нейронных сетей.
ARMA
Самым известным инструментом для регрессии временных рядов является класс ARMA моделей. ARMA модель (Auto Regression + Moving Average) в своем изначальном виде представляет собой линейную регрессию, которая предсказывает будущее значение временного ряда за счет предыдущих значений временного ряда и значений ошибок. Количество предыдущих наблюдений, которые входят в модель, называется лагом модели.
,
Где a,b,c - коэффициенты модели, L - лаг модели, Y - показание временного ряда i наблюдений назад, e - ошибка модели на i наблюдении назад; i - смещение номер наблюдения от текущего.
Также у ARMA модель есть различные модификации - ARIMA, SARMA, SARIMAX и т.д. Суть этих модификации сводится к приведению исходного временного ряда в стационарный вид через дифференцирования различного вида. Тем не менее, класс ARMA моделей может предсказывать только трендовые и сезонные составляющие.
Рисунок 6. Пример ARMA модели - предсказание объема рынка мебели на рынке США
Логистическая регрессия
Логистическая регрессия также является простым и популярным алгоритмом классификации с интерпретируемыми коэффициентами. Представляет собой сигмиодную функцию, которая принимает вектор признаков, помноженный на вектор весов.
Рисунок 7. Пример логистической регрессии - разделение на класс положительных и отрицательных чисел
,
Где wi - веса модели i-го признака, xi - i-ый признак, b - свободный член, Y - ответ модели.
Если же это задача мультиклассификации, следует использовать формулу SoftMax.
,
Где k - номер класса, j - нумератор для перебора последовательности классов.
Обучается с помощью градиентного спуска. Если оптимизатор минимизирует hinge loss, данную модель называют SVM (support vector machine).
Нейронные сети
Главная идея нейросетей заключается в создании композиции линейных моделей, которые, свою очередь, содержат ответы других линейных моделей.
Нейронная сеть последовательно умножает вектор признаков на вектор весов и передает результат активационной функции. Таких блоков может быть бесконечно много и, поэтому, нейросеть может аппроксимировать функцию любой сложности.
,
Где - активационная функция на i слое, - вектор входных признаков на слое i, Wi - матрица весов на слое i, - выходной вектор слоя i
Ниже, на рисунке 8, находится графический пример простой нейронной сети и ее уравнение.
Рисунок 8. Пример простейшей нейронной сети
,
Видно, что даже небольшая нейронная сеть является намного сложнее, чем линейная регрессия.
Нейронные сети также обучаются градиентным спуском и всеми его приемами по контролю по обучению, но с производная ошибки высчитывается другим образом. Такая модификация называется обратным распространением.
Стоит отметить, что описанный метод и архитектура являются простейшей моделью нейронной сети, существуют также архитектуры для анализа изображений - сверточные сети, и архитектуры для анализа текста - рекуррентные сети. Однако, т.к. данные являются табличными, эти архитектуры не использовались.
,
,
,
Непараметрические методы
В данной работы использованы следующие непараметрические методы.
Решающие деревья
Рисунок 9. Пример решающего дерева
Решающее дерево представляет собой направленный граф без циклов. Образец, попавший в узловой корень графа, будет передвигать вниз, пока не достигнет какой-либо терминальной вершины - листа дерева. В каждом узле представлено некое правило, которое определит, в какой узел дальше направится вершина. У каждого листа есть значение ответа для данного образца. Чаще всего дерево является бинарным, т.е. от каждой вершины исходит только 2 ребра.
Решение о том, по какому ребру направить образец X происходит следующем образом - в каждом узле, кроме терминальных, есть правило о выборе направления. Это правило заключает в себе признак f и значение b, если значение X[f]>b, то образец направляется по одному ребру, в противном случай по другому. Если же f категориальный признак, вместо точечного значения b выбирается набор классов.
Процесс обучения:
Чтобы определить качество разбиения, нужно ввести понятия критерия информативности H(x). Он показывает то, насколько элементы в выборке неоднородны по отношению к целевой переменной Y. Для задач регресcии и классификации эти критерии совершенно разные. Для задач регрессии чаще всего используют ошибки MSE и MAE. Для классификации используют информационный критерий Джини, либо кросс энтропийный критерий. Тем не менее, гипотетически можно модифицировать любой функционал ошибки и использовать его в качестве информационного критерия
, ,
,
,
Где y - ответ модели, a - реальное значение.
Когда выборка X размером |X| попадает в какую-либо вершину, нужно выбрать такие признак f и значение b, при котором разбиение будет оптимальным, т.е. критерий информативности уменьшиться насколько это возможно при данной выборке. После разбиения выборка делится на два части - Xr и Xl.
,
Рисунок 10. Демонстрация разделения выборки в бинарном дереве
Каждая подвыборка также разбивается еще на 2 части и так далее. Очевидно, этот процесс будет происходить до тех пор, пора каждая точка не обзаведется собственной терминальной вершиной, что приведет к переобучению. Что бы этого избежать, вводят критерии останова, при которых дерево перестает расти. Критерий останова - ограничения на количество вершин, количество листьев, максимальное количество точек в терминальном узле и т.д. Ответом листа станет среднее\мода всех точек, которые попали в этот лист. градиентный бустинг нейронный сеть
Случайный лес
Идея случайного леса заключается в генерации множества деревьев со случайном подмножеством образцов и доступных признаков и усреднении ответов этих алгоритмов. Это позволяет уменьшить разброс ошибки.
Градиентный бустинг
Градиентный бустинг очень схож со случайном лесом, но деревья, в данном случай, строятся последовательно, исправляя ошибку предыдущего.
Построение градиентного бустинга на примере регрессии:
For m=1..M:
,
,
,
,
Где M - количество итерация, F0 - базовый алгоритм, r - остатки модели, y - реальные значения, h - корректирующие алгоритмы.
1.3 Машинное обучение без учителя
В рамках данного исследования использовалось 2 алгоритма по сжатию признакового пространства - Word2Vec и PCA (principal component analysis).
Principal Component Analysis.
PCA является методом сжатия признакового пространства, который разворачивает базис таким образом, что в новом базисе исходные признаки перестают коррелировать между собой.
Если взять матрицу признакового описания X и разложить ее путем сингулярного разложения, то в итоге выйдет следующая система выражений:
,
,
,
Где V - матрица собственных векторов для , - матрица собственных векторов для матрицы и - корень матрица собственных чисел матриц и . Матрицы и V являются ортогональнымы
Очевидно, что, если убрать наименьшие значения матрицы и соответствующие колонки\столбцы матриц собственных векторов, можно сократить признаковое пространство и получить новую матрицу более низкой размерности, но способную с высокой точностью восстановить исходную матрицу.
Word2Vec
Данный метод используется в обработке естественного языка, но его также можно использовать для векторного представления последовательности категориальных признаков.
Основная проблема пришла из NLP - есть большой корпус слов, каждое слово является категориальным признаком. Если закодировать слова через dummy encoding, каждое слово станет огромным вектором с одной единицей и количеством нулей, равным размеру корпуса минус один. Практика показывает, что даже небольшие тексты содержат десятки тысяч уникальных слов. В данной задаче вместо последовательности слов фигурирует последовательность больничных отделений в истории пациента.
Рисунок 11. Схема Word2Vec модели на примере SkipGram
Алгоритм Word2Vec позволяет сузить закодировать слова следующем образом - смысл слова можно определить по его контексту, поэтому есть смысл кодировать не само слово, а его контекст. Есть несколько реализации этого алгоритма, но на практике они не сильно различаются между собой, поэтому здесь будет рассмотрен только 1 подход, в котором предсказывается контекст по слову.
В данной модели есть 3 гиперпараметра - длина нового векторного представления V, размер скользящего окна, т.е. ширина контекста N, и количество уникальных слов в корпусе W. Модель представляет собой нейронную сеть с одним скрытым линейным слоем и функцией softmax на последнем слою. Входной слой принимает dummy вектор ключевого слова, а на выходе предсказывается несколько dummy векторов контекстных слов. Скрытый слой имеет заданную размерность и выдает новое векторное представление. Если среди данных правда есть последовательность, то нейросеть сможет пронести через узкий слой всю информацию и предсказать контекст слова, таким образом, можно считать, что слова поддаются кодировке.
Глава 2. Обзор литературы
При анализе литературы не было обнаружено общепринятого подхода для решений подобных задач. Вероятно, это вызвано тем, что постановка задачи машинного обучения во многом зависит от данных. Тем не менее, можно выделить несколько работ, которые помогут определить направление исследования и основные подходы к решению подобных задач. В данной главе будет рассмотрено 5 исследований, которые связаны с темой предсказывания потока пациентов, и описаны те элементы, которые были использованы или опробованы в данной ВКР.
По причинам, которые будут описаны ниже, обзор литературы следует начать со статьи опубликованной в Journal of Biomedical Informatics[1] сотрудниками ИТМО. Эта статья посвящена симуляции пациентского потока с коронарным синдромом. Целью данной работы было сгенерировать образец процесса лечения - путь департаментов клиники, история посещения, выписанные лекарство, длительность лечения и т.д. Образец лечения генерировался по базовой информации о пациенте - возраст, дата обращения, личные особенности, наличие страховки и т.д.
Обзор литературы был начат с этой статьи, т.к. в ней указаны главные проблемы, которые возникают при решении этой задачи:
В каждой медицинском учреждении будет своя архитектура бизнеса и набор медицинских отделения, поэтому построить универсальную модель с привязкой к распределению одной больницы невозможно. Т.к. медицинская история пациента является очень личной информацией, получить достаточное количество данных из множества источников на сегодняшний день довольно тяжело.
В мире существует множество болезней, поэтому случайно выбранное медицинское учреждение с большой долей вероятности не будет иметь достаточно данных для каждой болезни для достоверной статистической модели. По этой причине все исследования на эту тему отбирают пациентов с одним классом болезней.
По этим 2 причинам большинство попыток построить предсказательную модель пациентского потока ограничиваются одним медицинским учреждением и одним классом болезней. Кроме частых проблем, в статье также расписана математическая интерпретация данных и часто используемые математические модели для решения подобных задач.
В исследовании ИТМО предлагается использовать агрегированную историю посещений для предсказания следующей точки посещения.
Математически данную систему можно представить следующим образом:
,
,
,
,
Где Event - посещение пациента в медицинское учреждение; Department и time - время и отделение посещение; - Последовательность посещений от m по n; i - базовая информация о пациенте; - функция вероятности того, что пациент посетит отделение k.
Задача формулируется следующем образов - аппроксимация параметритов функции, которая принимает информацию о пациенте и его последних t-n посещений и выдает вероятность того, что он подойдет в отделение k. Похожий подход также использовался в данной ВКР, однако стоит отметить пару недостатков его реализации в рамках этой модели: во-первых, слишком ограниченный набор параметров; во-вторых, предиктивная модель предсказывает модель точку посещения, но не предсказывает время. В качестве функции предсказания использовались только простые методы, такие как SVM, Logistic Regression, Random Forest. Random Forest показал наилучший результат.
Другая статья, на которую стоит обратить внимание была опубликована в IEEE 33rd International Conference on Data Engineering (ICDE)[2]. Эта статья предсказывает направление пациентов между отделениями для оптимизации нагрузки на палату интенсивной терапии, также она решает один недостаток предыдущей статьи и добавляет новые методы предсказания. Для данного исследования из данной статьи полезно будет вычленить математическую формулировку системы и модели, которые использовались для ее решения.
Математическая формулировка очень похожа на формулировку предыдущей статьи, однако она напрямую учитывает время и добавляет новые признаки.
,
,,
,
,
,
Где u - пациент, c - палата, d - Время перевода в предыдущую палату.
Задачей данного исследования было спрогнозировать следующее состояние по истории посещений, т.е. . Если же говорить об используемых моделях, то здесь были модели с более сложным математическим аппаратом - помимо SVM и логистической регрессии также использовались сети Маркова, векторная авторегрессия и модель взаимодействующих процессов (Mutually Correcting Processes). Последней модели посвящена большая часть статьи, т.к. у нее очень сложный математический аппарат и она очень редко применяется на практике. В результате наилучший результат показала логистическая регрессия.
Третья работа “Emergency patient flow forecasting in the radiology department”[3]. Особенность данного исследования в том, что оно предсказывает поток как случайный временной ряд с помощью различных моделей, таких как ARIMA и Random Forest. Модель предсказывает количество пациентов, которые подойдут в определенный день. Ниже приведены результаты модели:
Рисунок 12. Результаты моделей на разных типах пациентов[3].
Класс моделей ARMA хорошо предсказывает трендовую и сезонную составляющую. Т. к. данной исследования занимается радиологии, занятным считается тот факт, что MAPE (функция ошибки - отклонение от истинного ответа в процентах) показывает такой низкий результат. Средним целевой переменной было 121, а стандартное отклонение 22, таким образом можно сказать, что количество пациентов в отделение радиологии имеет трендовую и сезонную компоненту. Данный подход также был опробован при выполнении данной ВКР, но не дал результата.
Следующее исследования было опубликовано в журнале «Journal of Diabetes Science and Technology»[4] в 2017 году. По математической формулировке оно очень похоже на то, что было описано в первых 2 работах, однако данная статья интересна тем, что большая ее часть посвящена заполнению пропусков пустых значений. Ключевая проблема, с которой можно столкнуться при решении такой задачи заключается в том, что ценная информация может присутствовать не у всех образцов, например не всех людей есть анализ крови, но это признаки могут быть очень важны. Данное исследование сравнивает 3 популярных метода для заполнения среднего - заполнение средним, заполнение медианой и missForest.
Результаты различных алгоритмов для метрики RMSE (корень MSE) находятся ниже
Рисунок 13. Метрика RMSE для разных алгоритмов заполнения данных
Видно, что missForest показывает наилучший результат. Тем не менее у самой задачи заполнения пустого значения есть весомый недостаток: данные, которые заменяют пустое значения выражены из других признаков, т. е. отсутствует дополнительная информационная ценность. Это может быть полезно, если сама цель стоит как заполнения пустых значений, например, как в рекомендательных системах, или же если в задаче используются простые параметрические подходы. В непараметрических алгоритмах заполнение пустого пространства уникальным значением дает наилучший результат, если данных достаточно для того, чтобы создать отдельную ветку в дереве под пустое значение. Данная работа может быть интересна в том случай, если данных слишком мало или набор допустимых алгоритмов ограничен линейными моделями.
Последняя обозреваемая работа была опубликована в журнале Pain Medicine [5] в 2012 году. Данное исследование предсказывает необходимость в предоперационной консультации в острой боли. Здесь работает довольно стандартный механизм - обработать признаки и передать их моделям, но ценность здесь представляет то, что это одна из немногих работ, где нейронные сети используется для предсказательной аналитики медицинских данных.
На вход модели подается возраст пациента, количество дней до операции, продолжительность анестезии и т. д., в качестве ответа выходит вероятность того, что пациенту потребуется консультация.
В данной работе было опробовано несколько моделей, результаты представлены ниже:
Рисунок 14. Результаты разных моделей и время их обучения [5]
Интерес в данном случай представляют модели с наилучшим результатом ROC кривой (метрика бинарной классификации). Их можно разделить на 3 семейства: байесовские сети, нейронные сети и случайный лес. Т.к. байесовские сети больше подходят для категориальных признаков, можно считать, что наилучшими предсказательными способностями обладает случайный лес и нейронные сети.
Глава 3. Решение задачи машинного обучения
3.1 Постановка задачи
Постановка задачи звучит следующем образом: обучить 2 модели fс и fr, классификатор и регрессор соответственно. Эти модели должны принимать вектор входных признаков - информацию пациенте и его истории посещений, и выдавать вектор из вероятностей посещения каждого отделения и ожидаемую дату следующего посещения.
3.2 Описание данных
Данные представляют собой набор событий - визитов пациентов.
Каждый визит хранит информацию о дате посещений, информации о пациенте и информацию о точки посещения.
,
,
,
,
,
Где patient info - информация о пациенте, которая содержит id, возраст и заболевание; visit info - информация и посещений пациентом мед. отделения, содержит множество признаков, в том числе дату посещения, отделение и id пациента; E - история посещений; Hi - история посещений с признаками информации о пациентах; H - вся история посещений с информацией о всех пациентах.
Данные представляют собой блоки в JSON формате. Пример данных в формате JSON в их изначальном виде.
Patient info
{'@key': 'Age', '@value': '33'},
{'@key': 'Treatment code', '@value': '13'},
{'@key': 'Diagnosis code', '@value': '106'},
{'@key': 'Specialism code', '@value': `7'}
VISIT INFO
{'@key': 'org:group', '@value': 'Radiotherapy'},
{'@key': 'Section', '@value': 'Section 5'},
{'@key': 'lifecycle:transition', '@value': 'complete'},
'{'@key': 'Number of executions', '@value': '1'},
{'@key': 'Specialism code', '@value': '61'},
{'@key': 'Activity code', '@value': '410100'},
'date': {'@key': 'time:timestamp', '@value': '2005-01-03}}
Тем не менее, анализировать такой формат с помощью методов машинного обучения практически невозможно, поэтому следует перевести JSON в табличный формат. Легко заметить, что весь датасет состоит из 2 сущностей - информации о пациентах и информации о посещениях. Таким образом можно сделать 2 таблицы и совместить их по ключу patient_id.
Ниже приведет пример некоторых полей из таблицы. Каждая строка представляет собой полную информацию о посещении и пациенте.
Таблица 1. Таблица с некоторыми исходными признакми.
id |
age |
diag |
code |
int_spec |
int_diag |
int_treat |
date |
||
0 |
0 |
33 |
Gynaecologische tumoren |
M13 |
61.0 |
106.0 |
23.0 |
2005-01-03 00:00:00 |
|
1 |
0 |
33 |
Gynaecologische tumoren |
M13 |
61.0 |
106.0 |
23.0 |
2005-01-03 00:00:00 |
|
2 |
0 |
33 |
Gynaecologische tumoren |
M13 |
61.0 |
106.0 |
23.0 |
2005-01-05 00:00:00 |
|
3 |
0 |
33 |
Gynaecologische tumoren |
M13 |
61.0 |
106.0 |
23.0 |
2005-01-05 00:00:00 |
|
4 |
0 |
33 |
Gynaecologische tumoren |
M13 |
61.0 |
106.0 |
23.0 |
2005-01-05 00:00:00 |
Ниже описаны все поля, которые были в таблице.
Таблица 2. Признаки до обработки данных
Имя поля |
Формат поля |
Кол. уникальных значений |
||
0 |
id |
int64 |
1139 |
|
1 |
age |
int64 |
74 |
|
2 |
diag |
object |
109 |
|
3 |
code |
object |
7 |
|
4 |
int_spec |
float64 |
4 |
|
5 |
int_diag |
float64 |
6 |
|
6 |
int_treat |
float64 |
41 |
|
7 |
date |
object |
1274 |
|
8 |
group |
object |
43 |
|
9 |
code_exec |
int64 |
37 |
|
10 |
code_activ |
float64 |
354 |
|
11 |
code_spec |
int64 |
25 |
|
12 |
activity |
object |
296 |
|
13 |
producer |
object |
117 |
|
14 |
section |
object |
8 |
|
15 |
concept |
object |
624 |
|
16 |
lifecycle |
object |
1 |
В таблице находится 150287 записей. Однако от многих записей пришлось избавиться по следующим причинам. Во-первых, пришлось удалить всех пациентов, у которых слишком короткая история болезней. Во-вторых, нужно было удалить всех посетителей с редкими заболеваниями, т.к. у них не было статистической значимости. В-третьих, в таблице оказалось слишком много строк-дубликатов, их тоже следовало удалить. Таким образом в таблице осталось 32163 записей.
3.3 Обработка данных
Задача была поставлена следующем образом - предсказать информацию о следующем событии, а именно дату (регрессия) и точку посещения (классификация).
Таблица 3. Пример целевых и входных признаков
id |
age |
diag |
code |
int_spec |
int_diag |
date |
group |
|
0 |
33 |
Gynaecologische tumoren |
M14 |
62.0 |
106.0 |
2005-01-05 |
Obstetrics & Gynaecology clinic |
|
0 |
33 |
Gynaecologische tumoren |
M13 |
61.0 |
107.0 |
2005-01-05 |
Nursing ward |
|
0 |
33 |
Gynaecologische tumoren |
M13 |
61.0 |
106.0 |
2005-01-24 |
Radiotherapy |
Иными словами, на основе информации представленную синим цветов на таблице 3, предсказать значения, которые находятся в ячейках зеленого цвета. На текущий момент данные таблицы не позволяет напрямую решить задачу классификации и регрессии. Для этого нужно пересобрать таблицу с учётом того, что в строке должна быть агрегированная информация и целевые переменные. Было использовано 2 подхода для агрегации данных. Во-первых, это использования значений переменных с учетом лагов, т.е. просто сместить их на несколько шагов. Во-вторых, создание специальных агрегирующих переменных, таких как экспоненциальное среднее, номер посещения и т.д.
Таблица 4. Формат данных пригодные для предиктивной аналитики
id |
age |
diag |
Num |
date |
group |
Date_lag1 |
Group_lag1 |
Date_Y |
Group_Y |
|
0 |
33 |
Gyn. tumoren |
2 |
2005-01-05 |
Nursing ward |
2005-01-05 |
Gyn. clinic |
2005-01-24 |
Radiotherapy |
В данном виде, указанном на таблице 4, можно решить задачу предиктивной аналитики. Формулировку задачи можно описать следующем образом: есть множество пар значений входных векторов X и векторов ответов Y, требуется описать функцию f, и оценить ее параметры таким образом, чтобы значения f(X) принимала максимально близкое значения к Y, т.е. значения функции ошибки L(f(X), Y) было минимально.
Описанная формулировка задачи совпадает с формулировкой первых 2 работ в главе, посвященной обзору литературы. Тем не менее, в этой главе также был описан другой подход с использованием модели ARIMA. Данный подход оказался неприменим к имеющимся данным, т.к. количество пациентов со временем не имеет ни трендовой, ни сезонной компоненты.
Рисунок 15. Количество посещений на каждые 2 недели
В результате, после обработки данных, была составлена таблица со следующими признаками.
Таблица 5. Признаки после обработки данных
|
Признак |
Кол. уникальный значений |
Тип данных |
|
1 |
id |
656 |
int64 |
|
2 |
age |
72 |
int64 |
|
3 |
diag |
79 |
object |
|
4 |
code |
7 |
object |
|
5 |
int_spec |
4 |
object |
|
6 |
int_diag |
6 |
object |
|
7 |
int_treat |
39 |
object |
|
8 |
disease |
19 |
object |
|
9 |
group_1-4 |
30 |
object |
|
10 |
code_activ_1-4 |
17 |
object |
|
11 |
code_spec_1-4 |
20 |
object |
|
12 |
producer_1-4 |
96 |
object |
|
13 |
section_1-4 |
8 |
object |
|
14 |
concept_1-4 |
384 |
object |
|
15 |
dt_diff_1-4 |
590 |
timedelta64[ns] |
|
16 |
activity_num_1-4 |
6 |
object |
|
17 |
activity_letter_1-4 |
18 |
object |
|
18 |
num_of_rep_visit |
134 |
int64 |
|
19 |
num_of_visit |
359 |
int64 |
|
20 |
num_from_prev_days |
414 |
float64 |
|
21 |
dt_mean |
13180 |
float64 |
|
22 |
dt_std |
25425 |
float64 |
|
23 |
cum_days |
19242 |
float64 |
|
24 |
var_class_target |
44 |
object |
|
25 |
var_reg_target |
590 |
timedelta64[ns] |
Красным цветом обозначена базовая информация о пациенте, голубым - лаговые переменные с лагом 4, желтым - скользящие переменные, зеленым - целевые переменные.
3.4 Сжатие признакового пространства
Таблица пар X-Y готова, но в ней все еще существуют категориальные признаки. Количество уникальных значений для некоторых полей слишком большое, примерно до 400 значений, а работать с категориальными признаками могут только деревья. Таким образом было использовано 2 подхода для обработка категориальных признаков.
Таблица 6. Сравнение алгоритмов кодирования категориальных признаков
Dummy encoding |
Word2Vec |
||
Алгоритм кодирования |
Создания уникального флага для каждого значения в поле |
Перевод последовательности категориальных признаков в слова и последующие векторное представление |
|
Кол. новых полей |
Кол. уникальных значений в поле |
Задается пользователем |
После перевода категориальных признаков в вещественные размер признакового пространства все еще может быть слишком большой. Для сокращения количества признаков использовался алгоритма PCA.
Ниже представлены доли кумулятивной объясненной дисперсии для dummy и w2v кодирования.
Рисунок 16. Кумулятивный процент объясненной дисперсии для Dummy кодирования
Рисунок 17. Кумулятивный процент объясненной дисперсии для W2V кодирования
Для сокращения признакового пространства было выбрано количество компонента, дающая 70% объясненной дисперсии.
В итоге вышло 5 датасетов для обучения со следующими размерностями:
Dummy: 2357 признаков
Dummy + PCA: 859 признаков
W2V: 273 признака
W2V + PCA: 55 признаков
Без обработки (для градиентного бустинга): 51 признак
3.5 Инструменты разработки
Обработка данных и обучение моделей проводились с использование языка Python и дополнительных библиотек, которые представлены в таблице 6.
Таблица 7. Список используемых библиотек
Тип работы |
Название библиотеки |
|
Работа с данными |
||
Работа с JSON |
json |
|
Работа с таблицами и препроцессинг |
Pandas |
|
Визуализация данных |
Matplotlib |
|
Word2Vec |
gensim |
|
Алгоритмы |
||
Линейная регрессия |
Sklearn |
|
Логистическая регрессия |
Sklearn |
|
Случайный лес |
Sklearn |
|
Нейронные сети |
Keras |
|
Градиентный бустинг |
CatBoost |
3.6 Результаты
Для задач регрессии и классификации использовались следующие алгоритмы: Случайный лес, Градиентный бустинг и нейронные сети. Также для регрессии использовалось Lasso, а для классификации логистическая регрессия.
Параметрические методы и Случайный лес обучались на данных обработанные 4 способами: PCA + W2V, PCA + Dummy, W2V, Dummy. Для гранентного бустинга это не нужно, т.к. библиотека CatBoost умеет работать с категориальными признаками.
Ниже представлены результаты каждого алгоритма для соответствующих метрик и учет кодирования и сжатия признакового пространства.
Регрессия:
Таблица 8. Результаты регрессии.
TEST |
|||||
Алгоритм |
Сжатие и кодирование |
MSE |
MAE |
R2 |
|
Lasso |
Dummy |
572 |
9.6 |
0.32 |
|
Random Forest |
Dummy |
571 |
7.1 |
0.42 |
|
Neural Network |
Dummy |
890 |
14.6 |
0.19 |
|
Lasso |
PCA + Dummy |
660 |
10.9 |
0.27 |
|
Random Forest |
PCA + Dummy |
683 |
10.1 |
0.25 |
|
Neural Network |
PCA + Dummy |
493 |
7.9 |
0.36 |
|
Lasso |
W2V |
764 |
11.2 |
0.17 |
|
Random Forest |
W2V |
553 |
7.6 |
0.4 |
|
Neural Network |
W2V |
807 |
14 |
0.21 |
|
Lasso |
PCA + W2V |
711 |
11.9 |
0.27 |
|
Random Forest |
PCA + W2V |
612 |
8.7 |
0.39 |
|
Neural Network |
PCA + W2V |
633 |
8.4 |
0.41 |
|
Gradient Boosting |
- |
546 |
7.6 |
0.49 |
Классификация:
Таблица 9. Результаты классификации.
TEST |
|||||
Алгоритм |
Сжатие и кодирование |
Accuracy |
F1 weight |
F1 mean |
|
Logistic Reg. |
Dummy |
0.31 |
0.25 |
0.04 |
|
Random Forest |
Dummy |
0.63 |
0.65 |
0.31 |
|
Neural Network |
Dummy |
0.11 |
0.025 |
0.08 |
|
Logistic Reg. |
PCA + Dummy |
0.59 |
0.54 |
0.25 |
|
Random Forest |
PCA + Dummy |
0.54 |
0.5 |
0.22 |
|
Neural Network |
PCA + Dummy |
0.52 |
0.52 |
0.26 |
|
Logistic Reg. |
W2V |
0.31 |
0.25 |
0.04 |
|
Random Forest |
W2V |
0.63 |
0.61 |
0.34 |
|
Neural Network |
W2V |
0.06 |
0.09 |
0.05 |
|
Logistic Reg. |
PCA + W2V |
0.55 |
0.51 |
0.2 |
|
Random Forest |
PCA + W2V |
0.59 |
0.55 |
0.21 |
|
Neural Network |
PCA + W2V |
0.58 |
0.55 |
0.26 |
|
Gradient Boosting |
- |
0.66 |
0.62 |
0.315 |
Таким образом лучшим алгоритмом для всех типов задач оказался градиентный бустинг. Стоит также отметить, что нейронные сети показывает хорошие показатели метрик для малых размерностей, но для большого количества признаков результат может быть хуже чем у линейных моделей, т.к. процесс обучения у нейронных сетей очень сложный.
Результаты работы алгоритмов будут анализироваться для результатов градиентного бустинга.
3.7 Вывод по предсказательным моделям
Рисунок 18 Распределение ошибки регрессии
Распределение ошибки имеет среднее 0.17 дней и стандартной отклонение 21.8. У распределения есть очень тяжелый хвост справа, можно сделать очевидный вывод, что распределение не нормально.
Рисунок 19. Зависимость предсказания от целевой переменной
Если же посмотреть на график реальных значений и ответов, можно увидеть, что предсказанные концентрируются в районе 0-150, можно сделать вывод о неоднородности целевой переменной.
Понять качество работы алгоритмов поможет Confusion matrix. В данной матрице на одной оси изображены ответы, а на другой реальные значения. В каждой ячейке находится количество кейсов, которые соответствует данным координатам. У идеального алгоритма будет диагональная матрица. Однако данная матрица выглядит диагональной только с абсолютными числами. Если же отнормировать значения, поделить на сумму оси реальных ответов, можно увидеть, что матрица совсем не диагональная. Данное явление объясняется несбалансированностью классов по количество образцов и сложности классификации.
Дальнейшие исследования:
Градиентный бустинг показал 0.66 для Accuracy по мультиклассификации и 0.49 для R2 - очевидно, что это не случайные результаты. Данные пригодны для предиктивного анализа и по ним можно предсказывать поток пациентов, однако для применения на практике такой точности может быть мало. Таким образом, можно выделить 2 инициативы для дальнейших исследований. С одной стороны, это поиск и проверка алгоритмов для предсказания, оптимизация гиперпараметров и генерация новых признаков, с другой стороны - обучения моделей на новых данных или добавление новой информации к существующему датасету.
Рисунок 20. Confusion matrix
Рисунок 21. Confusion matrix с нормирование по столбцам
Заключение
С помощью библиотек Python была проведение обработка данных - перевод из логов JSON в табличный формат CSV. Также, с использование лаговых переменных, агрегирующих статистик, методов кодирования категориальный переменных и сжатия признакового пространства, удалось привести д...
Подобные документы
Обучение простейшей и многослойной искусственной нейронной сети. Метод обучения перцептрона по принципу градиентного спуска по поверхности ошибки. Реализация в программном продукте NeuroPro 0.25. Использование алгоритма обратного распространения ошибки.
курсовая работа [1019,5 K], добавлен 05.05.2015Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017Диагностический анализ изучения алгоритмов обучения нейронных сетей "с учителем". Сбор входных и выходных переменных для наблюдений и понятие пре/пост процессирования. Подготовка и обобщение многослойного персептрона, модель обратного распространения.
курсовая работа [249,3 K], добавлен 22.06.2011Использование классификаторов машинного обучения для анализа данных. Создание модели, которая на основании параметров, влияющих на течение диабета, выявляет показатель возвращения больного в ухудшенное состояния после оказанного лечения (реадмиссию).
дипломная работа [625,2 K], добавлен 10.06.2017Популярность алгоритмов машинного обучения для компьютерных игр. Основные техники обучения с подкреплением в динамической среде (компьютерная игра "Snake") с экспериментальным сравнением алгоритмов. Обучение с подкреплением как тип обучения без учителя.
курсовая работа [1020,6 K], добавлен 30.11.2016Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.
лабораторная работа [1,1 M], добавлен 05.10.2010Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Анализ применения нейронных сетей для прогнозирования ситуации и принятия решений на фондовом рынке с помощью программного пакета моделирования нейронных сетей Trajan 3.0. Преобразование первичных данных, таблиц. Эргономическая оценка программы.
дипломная работа [3,8 M], добавлен 27.06.2011Исследование задачи и перспектив использования нейронных сетей на радиально-базисных функциях для прогнозирования основных экономических показателей: валовый внутренний продукт, национальный доход Украины и индекс потребительских цен. Оценка результатов.
курсовая работа [4,9 M], добавлен 14.12.2014Анализ проблем, возникающих при применении методов и алгоритмов кластеризации. Основные алгоритмы разбиения на кластеры. Программа RapidMiner как среда для машинного обучения и анализа данных. Оценка качества кластеризации с помощью методов Data Mining.
курсовая работа [3,9 M], добавлен 22.10.2012Обучение нейронных сетей как мощного метода моделирования, позволяющего воспроизводить сложные зависимости. Реализация алгоритма обратного распространения ошибки на примере аппроксимации функции. Анализ алгоритма обратного распространения ошибки.
реферат [654,2 K], добавлен 09.06.2014Получение и обработка данных о веб-сайте. Иерархическая классификация, алгоритмы машинного обучения. Решающие деревья, плоские классификаторы. Метрики оценки качества. Полная точность (accuracy), кросс-валидация. Параллельные вычисления, хранение данных.
курсовая работа [276,8 K], добавлен 04.09.2016Разработка систем автоматического управления. Свойства нейронных сетей. Сравнительные оценки традиционных ЭВМ и нейрокомпьютеров. Формальная модель искусственного нейрона. Обучение нейроконтроллера при помощи алгоритма обратного распространения ошибки.
реферат [1,4 M], добавлен 05.12.2010Программное обеспечение для получения исходных данных для обучения нейронных сетей и классификации товаров с их помощью. Алгоритм метода обратного распространения ошибки. Методика классификации товаров: составление алгоритма, программная реализация.
дипломная работа [2,2 M], добавлен 07.06.2012Исследование эффективности применения нейронных сетей в рамках отношений между людьми. Принцип работы с нейросимулятором. Составление обучающей выборки и проектирование персептронов. Анализ выбора супружеской пары с использованием нейросетевых технологий.
презентация [150,8 K], добавлен 19.08.2013Применение современных компьютерных технологий в процессе обучения иностранным языкам. Использование Интернет-ресурсов, скайпа, социальных сетей в обучении и интернет-сайта для поиска дополнительно новой информации. Общение онлайн с носителями языка.
статья [15,8 K], добавлен 23.06.2015Алгоритмы кластеризации данных, отбора факторов, построения множественной линейной регрессии, оценки параметров процесса на скользящем постоянном интервале. Решение задач анализа данных на нейронных сетях и результаты моделирования нелинейных функций.
контрольная работа [1,5 M], добавлен 11.01.2016Історія машинного перекладу як науково-прикладного напряму. Теорія машинного перекладу. Особливості використання систем, орієнтованих на персональні комп’ютери. Напрямки розвитку та застосування машинного перекладу. Приклади систем машинного перекладу.
реферат [21,5 K], добавлен 19.02.2011Рост активности в области теории и технической реализации искусственных нейронных сетей. Основные архитектуры нейронных сетей, их общие и функциональные свойства и наиболее распространенные алгоритмы обучения. Решение проблемы мертвых нейронов.
реферат [347,6 K], добавлен 17.12.2011Создание системы предобработки данных; разработка системы классификации на базе методов и алгоритмов машинного обучения, их реализация в программной системе. Предобработка информации, инструкция пользователя, система классификации, машинный эксперимент.
дипломная работа [917,1 K], добавлен 31.01.2015