Исследование и разработка метода машинного обучения основанного на нейронных сетях для анализа данных в интернете вещей
Эталонная модель Всемирного форума по интернету вещей. Анализ центров обработки данных и облачных вычислений. Исследование подходов к разработке распределенных алгоритмов обучения. Методы машинного обучения. Изучение наивного байесовского классификатора.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 07.12.2019 |
Размер файла | 1,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ПРАВИТЕЛЬСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»
Московский институт электроники и математики им. А.Н. Тихонова
Выпускная квалификационная работа
Исследование и разработка метода машинного обучения основанного на нейронных сетях для анализа данных в интернете вещей
Прокопов Павел
Москва 2019
Аннотация
Стремительный рост разработок в области аппаратного, программного обеспечения и коммуникационных технологий создали условия появлению подключенных к Интернету сенсорных устройств, обеспечивающих наблюдение и измерение данных физического мира. По мере развития технологий объем передаваемых данных будет увеличиваться. Технология подключенных к интернету устройств, называемая Интернетом вещей (IoT), продолжит расширять Интернет, обеспечивая связь и взаимодействие между физическим и виртуальным мирами.
В дополнение к увеличению количества IoT-устройств, генерируются большие данные, характеризующиеся скоростью в зависимости от времени и местоположения, с разнообразием модальностей и различным качеством данных. Интеллектуальная обработка и анализ этих больших данных является ключом к разработке интеллектуальных приложений IoT. В работе рассматривается применение искусственной нейронной сети, одного из методов машинного обучения, который связан с проблемами в данных интернета вещей.
The rapid growth of developments in hardware, software and communication technologies has created the conditions for the emergence of Internet-connected sensor devices that monitor and measure the data of the physical world. As technology advances, the amount of data transferred will increase. The technology of Internet-connected devices, called the Internet of things (IoT), will continue to expand the Internet, providing communication and interaction between the physical and virtual worlds.
In addition to increasing the number of Ios devices, large data is generated, characterized by speed depending on time and location, with a variety of modalities and different data quality. Intelligent processing and analysis of this big data is the key to developing intelligent IoT applications. The paper discusses the use of artificial neural network, one of the methods of machine learning, which is associated with problems in the data of the Internet of things.
Оглавление
Введение
1. Интернет вещей
1.1 Архитектура сети Интернета вещей
1.2 Эталонная модель интернета вещей МСЭ-Т
1.3 Эталонная модель Всемирного форума по интернету вещей
2. Сложности анализа данных интернета вещей
2.1 Управление данными в приложениях интернета вещей
2.2 Безопасность
2.3 Алгоритмы
3. Распределённый анализ
3.1 Центры обработки данных и облачных вычислений
4. Типы определения данных
5. Исследование подходов к разработке распределённых алгоритмов обучения
5.1 Распределённые настройки и компоненты
6. Машинное обучение
6.1 Методы машинного обучения
6.2 Распространённые методы машинного обучения
7. Искусственные нейронные сети
7.1 Нейрон
7.2 Функция активации
8. Практическая часть применения машинного обучения
8.1 Пример нейронной сети
8.2 Пример нейронной сети на Python
8.3 Обучение нейронной сети методом обратного распространения ошибки
Выводы
Источники литературы
Приложение
Введение
Развитие новых технологий в последние годы и значительные усовершенствования интернет-протоколов и вычислительных систем сделали связь между другими устройствами проще, чем когда-либо прежде. Это породило недавно разработанную концепцию Интернета вещей (IoT). IoT-это сочетание встроенных технологий проводной и беспроводной связи, сенсорных и исполнительных устройств, а также физических объектов, подключенных к сети Интернет [1, 2]. Автоматизированный анализ получаемых данных может помочь понять ранее неизвестные отношения между вещами, их средой и пользователями, повышая эффективность и снижая затраты. Именно анализ данных в реальном времени, внедренный в физические системы, может обеспечить новые формы автономного управления, что в свою очередь может привести к более качественному использованию и сохранению ресурсов. Ведь вычислительная техника является инструментом по решению задач упрощения и обогащения человеческой деятельности и опыта.
Проблема анализа данных интернета вещей сейчас рассматривается в работах отечественных и зарубежных исследователей: В.Ю. Гойхман, С.В. Пальмов, А.В. Росляк, M. Allen, J. Brusey, E. Gaura, M. Stolpe.
Поскольку интернет вещей будет одним из крупнейших источников новых данных, наука о данных внесет большой вклад, сделав приложения IoT более интеллектуальными. Наука о данных является сочетанием различных областей наук, использующих интеллектуальный анализ данных, машинное обучение и другие методы, чтобы найти шаблоны и новые идеи из данных. Эти методы включают в себя широкий спектр алгоритмов, применимых в различных областях. Процесс применения методов анализа данных к конкретным областям включает в себя определение типов данных, таких как объем, разнообразие, скорость. Из выше сказанного можно сделать несколько выводов. Данные генерируются из разных источников с определёнными типами данных, важно принять или разработать алгоритмы, которые могут обрабатывать характеристики данных. Большое количество устройств, которые генерируют данные в режиме реального времени сталкиваются с проблемами масштаба и скорости. Поиск наилучшей модели данных, которая соответствует данным, является одной из наиболее важных проблемы для распознавания образов и для лучшего анализа данных IoT. Обозначенные вопросы открыли огромное количество возможностей для расширения новых разработок.
1. Интернет вещей
Интернет вещей (Internet of Things, IoT) - концепция взаимодействия физических устройств и систем между собой по средствам различных технологий связи и стандартов с окружающим миром. Данная концепция играет определяющую роль в развитии инфокоммуникационной отрасли. [1] Технологически под термином «Интернет вещей» понимают совокупность датчиков и устройств, объединённых в сеть. Устройства и датчики могут генерировать, использовать и обмениваться данными при минимальном участии человека. Объединение датчиков и устройств возможно, при любых доступных каналах связи, использовании разных протоколов между датчиками и устройствами, и один протокол для связи с глобальной сетью. [1]
Технология подразумевает, что каждая вещь имеет свой уникальный идентификатор, образуя сплошную среду, для исследования процессов при различных внешних условиях. Образуемые группы устройств будут действовать как адаптируемые экосистемы, способные делиться данными с другими участниками сети. Одним из главных механизмов IoT станет машинное обучение - способы смысловой интерпретации данных. [1, 7]
1.1 Архитектура сети Интернета вещей
В настоящее время создано множество локальных и разрозненных решений интернета вещей. Каждое такое решение базируется на стандартах и протоколах, заложенных разработчиком в его понимании концепции, исходя из целей и поставленных задач. Эта ситуация считается нормальной, когда появляются новые технологии и области применения. Устройства интернета вещей обладают специфическими характеристиками: частый обмен данными в сетях с потерями и малой мощностью электропотребления, обеспечивающейся автономным источником электропитания. Указанные особенности накладывают ограничения на использование стандартных протоколов Интернета.
На сегодняшний день несколько организаций занимаются стандартизацией архитектуры интернета вещей. В работе будут рассмотрены две модели архитектуры интернета вещей, разработанные Международным союзом электросвязи (МСЭ-Т, ITU-T) и Всемирным форумом по интернету вещей. [2]
1.2 Эталонная модель интернета вещей МСЭ-Т
Архитектура интернета вещей определяет основные элементы и взаимосвязи между ними, и обладает следующими преимуществами [2]:
- предоставляет как администратору сети, так и ИТ-менеджеру оценить функциональность предложений поставщиков;
- предоставляет разработчикам функции модели, и как указанные функции взаимодействуют между собой;
- является базой для стандартизации, и открытого взаимодействия с другими продуктами без ограничения доступа.
Эталонная модель МСЭ-Т интернета вещей состоит из четырёх базовых горизонтальных уровней и двух дополнительных вертикальных уровней, реализуемые функции управления и безопасности (рис.1)
1. Уровень приложения не рассматривается детально в Рекомендациях Y.206x, данный уровень состоит из приложений, взаимодействующих с интернетом вещей.
2. Уровень поддержки услуг и поддержки приложений предоставляет общие возможности хранения данных и их последующую обработку, а также управление базами данных.
3. Уровень сети включает как возможности коммутации устройств, так и передачу информации об услугах и управлении.
4. Уровень устройств освещен в Рекомендации Y.2060 подробно и будет рассмотрен далее. Уровень включает возможности устройства и шлюза.
Рисунок 1. Рекомендация МСЭ-Т Y.2060 Справочная модель IoT [3]
Дополнительные уровни:
1./5. Уровень возможностей управления предусматривает учет и управление производительностью, управление ошибками, конфигурацией.
1./6. Уровень возможностей обеспечения безопасности включает в следующие возможности на разных уровнях, перечисленные в Рекомендации Y.2060:
· на уровне приложения - авторизация, аутентификация, конфиденциальность, целостность данных, антивирус, аудит безопасности;
· на сетевом уровне - возможности авторизации и аутентификации, защита данных и протоколов сигнализации.
· на уровне устройств - авторизация, аутентификация, контроль доступа и защита целостности данных.
Эталонная модель МСЭ-Т интернета вещей опубликована в Рекомендации Y.2060 под названием «Обзор интернета вещей». В модели МСЭ-Т подробно описаны физические компоненты концепции интернета вещей, что позволяет понять, как интегрировать и управлять устройствами через приложение (прикладной уровень).
Исходя из архитектуры модели МСЭ-Т, интернет вещей не является сетью физических вещей, а представляет сеть устройств, взаимодействующих с физическими вещами через платформы приложений.
Из Рекомендации Y.2060 приведён список основных определений [3]:
· Сеть связи (Communication Network): инфраструктурная сеть, которая соединяет устройства и приложения, такие как IP-сеть или Интернет.
· Вещь (Thing): объект физического мира (физические объекты) или информационного мира (виртуальные вещи), которая может быть идентифицирована и встроена в сети связи.
· Устройство (Device): часть оборудования с обязательной возможностью связи и дополнительными возможностями обнаружения, активации, сбора данных, хранения данных и обработки данных.
· Устройство для переноса данных (Data-carrying Device): устройство, прикрепленное к физической вещи, для косвенного подключения физического объекта к сетям связи. Примерами являются активные метки RFID.
· Устройство сбора данных (Data-capturing Device): устройство чтения и записи с возможностью взаимодействия с физическими вещами. Взаимодействие может происходить косвенно через устройства, переносящие данные, или напрямую через носители данных, привязанные к физическим вещам.
· Носитель данных (Data Carrier): не содержащий батарею объект переноса данных, прикрепленный к физическому предмету, который может предоставлять информацию подходящему устройству для захвата данных. Эта категория включает штрих-коды и QR-коды, привязанные к физическим вещам.
· Сенсорное устройство (Sensing Device): устройство, которое регистрирует или измеряет показатели внешней среды, и преобразует информацию в цифровые электронные сигналы.
· Исполнительное устройство (Actuating Device): устройство, которое преобразует цифровые электронные сигналы из информационных сетей в операции.
· Устройство общего назначения (General Device): обладает интегрированными возможностями обработки и связи, и может связываться с сетями связи по проводным или беспроводным технологиям. Устройство общего назначения включают оборудование и приборы для различных сфер применения IoT, таких как промышленные машины, электроприборы и смартфоны.
· Шлюз (Gateway): блок в IoT, который соединяет устройства с сетями связи. Выполняет необходимую трансляцию между протоколами, используемыми в сетях связи, и протоколами устройств.
Отличительной особенностью сетей интернета вещей от других сетей является множества оконечных устройств и физических вещей, не являющихся вычислительными или обрабатывающими данные. Модель, представленная МСЭ-Т, рассматривает интернет вещей в виде функционирующей сети устройств, связанных с вещами (рис. 2). В окружающей среде исполнительные механизмы и датчики взаимодействуют с физическими вещами. Устройства сбора данных считывают данные или записывают данные на физические вещи посредством взаимодействия с устройствами переноса данных или носителями данных, прикрепленными или связанным каким-либо образом с физическим объектом. [2]
В сети интернета вещей проведены различия между устройствами передачи данных и носителями данных. Согласно Рекомендации Y.2060 устройство обладает свойством связываться с другими электронными устройствами, а носитель данных - элемент для идентификации или информирования о физическом предмете.
Из Рекомендации Y.2060 на Рисунке 3 в левой части представлены элементы интернета вещей физического мира и их различные комбинации связей: между устройствами через шлюз; через сеть без шлюза; прямое взаимодействие между устройствами. Подразумевается, что связь между устройствами поддерживается как одной, так и группой сетей.
Рисунок 2. Типы устройств и их связь с физическими вещами [2]
На Рисунке 3 представлен шлюз, выполняющий функции транслятора между протоколами. Шлюз обеспечивает совместимость между устройствами и сетью.
Рисунок 3. Технический обзор IoT (Рекомендация Y.2060) [3]
К шлюзам IoT в Рекомендации Y.2067 указаны требования поддержки [4]:
· взаимодействие устройств друг с другом и через сети, используют различные технологии доступа к устройствам;
· сетевые технологии для локальной и глобальной сетей;
· взаимодействие с приложением, сетевым управлением и функциями безопасности.
Физическая вещь может быть представлена в виртуальном мире (рис.3) одной или несколькими виртуальными вещами, при этом виртуальная вещь может существовать без связи с физической вещью. Таким образом производится сопоставление физических вещей с виртуальными для хранения в базе данных и обработки приложениями.
1.3 Эталонная модель Всемирного форума по интернету вещей
Всемирный форум по Интернету вещей (Internet of Things World Forum, IoTWF) - с 2013 года ежегодное мероприятие, спонсируемое лидерами отрасли информационных технологий и электроники, участие в котором принимают учёные, инноваторы, разработчики. Целью форума является выработка единых подходов и стандартов в реализации проектов интернета вещей для массового внедрения решений, приносящих выгоды обществу. В 2014 году на Всемирном форуме по интернету вещей была представлена эталонная модель IoT. [2]
Эталонная модель IoTWF дополняет модель МСЭ-Т, сосредоточенной на уровне устройств, и совсем не затрагивая роли верхних уровней. Эталонная модель МСЭ-Т больше ориентирована Рекомендациями Y.206x на разработку правил взаимодействия с устройствами. [2]
Модель, разработанная Оргкомитетом IoTWF, семиуровневая (рис.4), и уделяет внимание разработке приложений. [2]
Рисунок 4. Эталонная модель Всемирного форума IoT
Рассмотрим более подробно приведенную выше модель. Как уже было указано, данная модель состоит из семи уровней:
1. Первый уровень представленной модели аналогичен эталонной модели МСЭ-Т. Также как и в модели ITU-T виртуальные устройства взаимодействуют с физическими устройствами.
2. Второй уровень соответствует уровню сети МСЭ-Т. Отличительной особенностью является то, что шлюз относится ко второму уровню модели ITW.
3. Третий уровень представлен туманными вычислениями (Fog Computing). Обработка большей части данных от датчиков производится рядом с ними. Целью преобразования данных в информацию около датчиков является снижение потока «сырых» данных, поступающих в центры хранения и обработки данных. Данный вид вычислений является периферийным. В технической документации Cisco модели IWF указаны операции, выполняемые периферийным вычислением [2]:
· анализ данных по критериям, предполагающем необходимость обработки на более высоком уровне;
· переформатирование данных;
· обработка шифрованных данных;
· обобщение данных для уменьшения нагрузки на сеть;
· оценка данных, являются ли сигнальными данные, с дальнейшей переадресацией другим получателям.
Уровень туманных вычислений соответствует общим устройствам эталонной модели МСЭ-Т. Туманные вычисления (рис.5) производятся рядом с оконечными устройствами и снимают вопросы анализа, обработки и хранения данных, а также безопасности и нагрузки на сеть передачи данных [2].
Рисунок 5. Туманные вычисления
4. Уровень накопления данных производит сбор уже отфильтрованных и обработанных данных, полученных от уровня туманных вычислений, и помещает в хранилище для дальнейшего использования данных верхними уровнями. Данный уровень является пограничным для данных, и к нему предъявляются четкие требования при проектировании. На нижнем уровне происходит генерация данных с частотой, необходимой устройству, т.е. по событию, и передача по сети со скоростью определяемой технологией передачи, такие данные в модели называются «данными в движении». Большинство приложений не может реагировать на появление данных в режиме реального времени и обрабатывать их со скоростью передачи данных. Приложениям проще обрабатывать накопившийся пул данных из хранилища: такой тип данных называется «данные в покое», так как верхние уровни работают на основе запросов и транзакций [2].
5. Уровень абстракции агрегирует и форматирует данные для приложений из нижнего уровня. Здесь выполняются следующие операции над данными [2]:
· объединение из различных источников с согласованием форматов данных;
· обеспечение семантики из разных источников;
· размещение в базах данных;
· информирование приложений высокого уровня о накоплении;
· защита с помощью проверки подлинности;
· индексация для обеспечения быстрого доступа.
6. Уровень приложения включает все типы приложений, использующие данные интернета вещей, а также управляет устройствами. Модель Всемирного форума по интернету вещей не определяет строго данный уровень.
7. Уровень взаимодействия и процесса - включает приложения управления информацией через корпоративную сеть или Интернет [2].
2. Сложности анализа данных интернета вещей
Исследования в области интернета вещей указывают на то, что данное явление способно изменить нашу жизнь фундаментальным образом. По мнению Д. Эванса, сбор и анализ данных из разных источников нашей среды может дать более целостное представление об истинных взаимосвязях и взаимодействиях между физическими вещами, позволяя преобразовывать необработанные данные и информацию в знания. Своевременное выявление тенденций и закономерностей в данных можно использовать в планировании на опережение. [6]
2.1 Управление данными в приложениях интернета вещей
Приложения интернета вещей классифицируются по их уровню информации и анализу с уровнем автоматизации и контроля [9]. Сложность приложений интернета вещей измеряется двумя факторами [8]: степенью действия и степенью восприимчивости (Рис. 6).
Рисунок 6. Уровни сложности приложений интернета вещей [8]
Приложения, попадающие в нижний левый угол диаграммы, уже дают преимущества, позволяя удалённо подключаться к физическим вещам и контролировать их. Расположенные в верхнем левом углу приложения, используют встроенные исполнительные механизмы. Кроме мониторинга объектов они позволяют дистанционно управлять физическими вещами. Приложения, анализирующие данные интернета вещей, расположены в нижнем правом углу диаграммы. В верхнем правом углу: сочетание данных различных распределённых физических объектов может обеспечить более целостное представление о явлениях, которые пока плохо понимаются.
Представленная классификация не показывает зависимость механизмов управления и анализа данных. Анализ данных может быть преобразован в ценную информацию, которая послужит основой знаний и принятия решений. На Рисунке 7 представлена схема по уровням контроля и анализа данных. На диагонали отсечены точки на пути к полностью встроенной аналитике. [10]
Рисунок 7. Связь между анализом данных и контролем [10]
Данные, собранные с помощью отдельных датчиков для анализа, позволяют использовать простые приложения для удалённого мониторинга. В данном случае выбор и размещение датчиков зависит от чётко определённой цели анализа. Расширенные приложения переходят от наблюдения отдельных датчиков к мониторингу состояния системы и процессов. Данный тип мониторинга основан на визуализации сводной информации, полученной с помощью анализа данных от нескольких типов датчиков и устройств. В пакетном анализе полученных записях обнаруживаются корреляции между признаками и целевым значением. Знания, полученные на этом этапе, могут привести к лучшему пониманию условий отказа систем, и их автоматическому обнаружению. [10]
В зависимости от количества и скорости сгенерированных измерений, их предварительная обработка может стать неосуществимой. Текущие исследования сосредоточены на методах распределённого анализа потоковых данных и интеллектуальном сокращении данных непосредственно на самих устройствах. Анализ данных, который внедряется на всех частях системы IoT, потребует вывода моделей в реальном времени и адаптации к изменениям в распределённых данных. Что позволит осуществить непрерывный и автоматический мониторинг изменений. Интеграция анализа и управления данными приводит к автоматической проверке и анализу причинно- следственных связей путём активного тестирования гипотез. Знания о причинно-следственных связях могут затем использоваться для автономной адаптации соответствующих параметров в новых ситуациях. [10]
2.2 Безопасность
Интернет вещей несёт как положительные результаты для общества, так и создаёт риски безопасности и конфиденциальности данных. Внимания требуют отрасли, где используются персональные данные, в частности медицина, что предполагает обеспечения соответствующих средств и мер обработки данных. В свою очередь можно реализовать анализ поступающих данных для выявления аномалий, снижая угрозу манипулирования данными. [11]
Основной риск в интернете вещей вызван связью виртуальных вещей с физическими, и их возможностью осуществлять управление физическими вещами, многие из которых являются важными элементами сети. [2]
2.3 Алгоритмы
Марко Столпе в своей статье «The Internet of Things: Opportunities and Challenges for Distributed Data Analysis» подробно рассматривает вопрос алгоритмов анализа данных[10]. Автор указывает на насколько отличительных особенностей.
Так, Марко Столпе пишет, что ручная проверка получаемых данных умных устройств возможна только в простых случаях. Количество данных, генерируемых одиночными датчиками, становится слишком высоким, анализ информации уже должен быть полностью автоматизирован. Комбинации данных из множества источников приводят к объёмным наборам данных, которые не могут быть с лёгкостью исследованы человеком.
Были разработаны автоматизированные методы анализа данных в областях обработки сигналов и компьютерного зрения, статистики, искусственного интеллекта, машинного обучения, баз данных. Среди них сложные методы, которые могут обобщать необработанные данные, описывающие модели и отношения, которые статистически сохраняют ожидания. Такие методы называются алгоритмами обучения. Неконтролируемые алгоритмы обучения определяют общие закономерности и отношения в данных. Контролируемые алгоритмы обнаруживают такие шаблоны по отношению к заданному целевому значению, которое должно быть дано как метка для каждого наблюдения. Различия в обоих случаях заключается в том, что модель должна выводиться только из заданной конечной выборки данных. Многие алгоритмы обучения предполагают, что образец должен быть задан как единая партия, которая может быть обработана произвольным образом, что может сделать несколько проходов над данными.
Интернет вещей создаёт новые проблемы для анализа данных. На стороне генерации данных устройства часто сильно ограничены ресурсами с точки зрения мощности процессора, основной памяти, энергии и пропускной способности. Проблема состоит в том, что приходится анализировать большие данные, которые характеризуются большим объёмом, различными источниками и форматами и скоростью генерируемых данных. Высокий объём и скорость запрещают несколько проходов по данным и требуют новых типов алгоритмов. В таком случае анализ данных интернета вещей распределён и асинхронен.
3. Распределённый анализ
В своей работе Марко Столпе продолжает рассматривать проблему распределенного анализа. Автор указывает на то, что требования к алгоритмам анализа получаемых данных интернета вещей во многом определяются аппаратной и сетевой средой, в которой они должны работать. В зависимости от объёма и скорости генерации данных, а также конкретной проблемы анализа данные должны либо быть предварительно обработаны, либо проанализированы на стороне формирования в сетевом промежуточном программном обеспечении или отправлены в центр обработки данных. [10]
В настоящее время основное внимание уделяется централизации данных в облаке и их анализу с помощью высокопроизводительных вычислений. Облачные вычисления предоставляют широко масштабируемые распределённые системы, которые решают задачи параллельно с помощью виртуализации. Виртуальные узлы в сети не зависят от физических узлов, на которых они работают. Новые виртуальные узлы могут быть легко добавлены или удалены в зависимости от текущих вычислительных требований. Неисправности, которые могут возникать в распределённых системах, устраняются избыточным резервированием и автоматическим перераспределением процессов. [10, 12]
Поскольку всё больше и больше подключается «умных» устройств, существующая сетевая инфраструктура будет загружена трафиком сети. Когда скорость генерации данных устройством выше полосы пропускания, данные должны анализироваться на самих устройствах или должны быть уменьшены до передачи в облако.
3.1 Центры обработки данных и облачных вычислений
Одним из вариантов анализа данных, сгенерированных «умными» устройствами, является его централизация в центре обработки данных. Облачные вычисления обеспечивают простое и экономичное масштабирование вычислительных ресурсов и ресурсов хранения. В зависимости от скорости генерации данных существуют две модели обработки данных: данные могут быть либо сохранены, либо проанализированы как партия или должны обрабатываться в виде потока. [10]
Пакетная обработка данных
Огромные массивы данных, которые не представляется обработать на одном сервере, требуют распределения данных по системах хранения. Что достигается путем сохранения частей поступающих данных в распределенной файловой системе. Далее данные могут быть проанализированы как пакет. В центре обработки данных каждая машина имеет несколько ядер, которые используют алгоритмы параллельного вычисления. Компьютеры соединены в локальную сеть по технологии Infiniband и 100-гигабитный Ethernet, обеспечивая высокую пропускную способность. [14]
Одним из самых распространённых фреймворков по обработке распределённых данных является Hadoop. Он следует за парадигмой map и reduce, известной из функционального программирования, где один и тот же код выполняется на разных частях данных, а результаты затем объединяются. Map и reduce особенно хорошо подходят для задач, которые являются параллельными данными. Это означает, что задачи могут решаться независимо друг от друга на разных блоках данных, читая их только один раз, без синхронизации или управления состоянием. Парадигма хорошо подходит для алгоритмов анализа данных, которые обрабатывают подмножества наблюдений или признаков только один раз. К этой категории относятся некоторые алгоритмы подсчета, предварительной обработки и преобразования данных. [15]
Более сложные алгоритмы анализа данных, особенно алгоритмы обучения, часто требуют сочетания данных из разных подмножеств. Им также необходимо сделать несколько проходов по данным и синхронизировать параметры общей модели [14]. Например, алгоритм кластеризации K-средних неоднократно назначает наблюдения глобально поддерживаемому набору главных точек - центров [16, 19]. Аналогичным образом многие алгоритмы распределенной оптимизации, используемые в анализе данных, поддерживают глобально общий набор параметров модели. В map и reduce распределенные компоненты считаются не имеющими состояния. Одним из способов поддержания состояния между итерациями был бы доступ к серверу баз данных, который является внешним по отношению к платформе Hadoop. Однако это потребует ненужной и повторной передачи по сети. Для реализации компонентов с отслеживанием состояния обычно лучше подходят платформы более низкого уровня, такие как Интерфейс передачи сообщений (MPI) или библиотека обмена сообщениями ZeroMQ. Эти компоненты позволяют эффективно работать с отслеживанием состояния и осуществлять полный контроль над тем, какие данные должны быть отправлены по сети.
Фреймворк Hadoop содержит лишь несколько алгоритмов, так как исследования распределенных алгоритмов анализа данных для высокопроизводительных вычислений все еще продолжаются. [10]
Анализ потока данных
Пакетная обработка недостаточно быстра, чтобы обеспечить актуальное представление данных как поток [14]. Лямбда-архитектура, предложенная Натаном Марцом, представляет собой гибрид из пакетной и потоковой обработки [18, 20]. В пакетном уровне сохраняются «сырые» данные и обрабатываются как пакет данных. Во втором слое ускорения обрабатываются текущие данные в реальном времени, поступающие во время выполнения пакетных заданий. Оба представления объединяются на уровне сервиса, который предоставляет пользователям единое представление данных. Недостатком Лямбда-архитектуры является то, что алгоритмы должны быть разработаны и реализованы для разных слоев, и большинство инструментов данной архитектуры не поддерживают SQL-запросы. Джеем Крепсом была предложена каппа-архитектура, в которой все данные рассматриваются как поток. Алгоритмы анализа по-прежнему являются активной областью исследований. [20]
4. Типы определения данных
Данные для обучения дают как образец S для n наблюдений, т.е. S = {x1, …, xn}. Для последующего обсуждения, что наблюдения представленные в предложенной форме, т.е. описываются конечным набором m различных функций A1, …, Am. Значения функций хранятся в столбцах таблицы данных, где строка - одно наблюдение (рис. 8 а). Данные из таблицы могут быть распределены между узлами двумя разными способами. [22]
Рисунок 8. Общие типы разделения данных [10]
Проанализируем данную таблицу. Горизонтальное разделение данных. В горизонтальном разделении данных (рис.8 б) данные о наблюдении, т.е. таблицы данных, распределяются между узлами j=1, …, m. Все наблюдения имеют одни и те же особенности. [22]
Горизонтальное разделение множества наблюдений можно рассматривать как искажённые подвыборки набора данных, которые могут возникать в результате централизации и слияния всех наблюдений. Следовательно, задача распределённого обучения состоит в построении общей модели из таких локальных выборок с минимальной связью между узлами. Наблюдения можно считать независимыми и одинаково распределёнными, которые используются алгоритмами обучения, объединённые в сводную информацию, независимо от каждой подвыборки. [22] Пример задачи обучения в случае горизонтального разделения данных - предсказание качества канала в беспроводных сетях датчиков [10].
Вертикальное разделение данных. В случае с вертикальным разделением данных (рис.8 в) значение функций наблюдений, т.е. столбцы таблицы данных, распределяются между узлами j=1, …, m. Общий - только индексный столбец, так что известно, какие функции принадлежат тому наблюдения. Что может потребовать непрерывного отслеживания объектов, которые в интернете вещей будут реализованы через уникальные идентификатор для каждого объекта. Столбцы, распределённые по узлам, составляют подпространства экземпляров. Подпространства и их отдельные компоненты в контролируемом обучении имеют структуру зависимостей, которая обычно неизвестна до обучения. [22]
Изучение сценария может рассматриваться как комбинаторная проблема экспоненциального размера: какое подмножество функций представляет наибольшую информацию (рис. 9) Несколько методов были разработаны для решения экспоненциального пространства поиска. Большинство из них являются высокоэластичными и могут свободно сочетаться друг с другом. Однако в децентрализованной настройке такая комбинация требует дорогостоящей передачи информации о столбцах между узлами на каждом этапе итерации и запрещена. Следовательно, текущие подходы обходят такие проблемы, делая явные предположения об условных совместных зависимостях функций, учитывая метку. [22]
Проблема возникает всякий раз, когда состояние или событие должно быть обнаружено или предсказано на основе значений признаков, оценённых на разных узлах. Общим примером использования являются модели пространственно-временного прогнозирования, которые используют измерения устройств в разных местах. Измерения могут быть связаны друг с другом временным интервалом, в котором они происходят.
Рисунок 9. Проблема распределённого выбора функций
5. Исследование подходов к разработке распределённых алгоритмов обучения
В большинстве публикаций по распределенному анализу данных затраты на связь представляют собой общую полезную нагрузку, переданную в битах, то есть исключая метаданные, такие как заголовки пакетов. Авторы утверждают (E. Gaura, J. Brusey, M. Allen) [23], что измерение затрат на связь связано с количеством переданных пакетов. Хотя количество пакетов в некоторых случаях может быть более точной мерой, чем полезная нагрузка в битах, она сильно зависит от выбранных сетевых протоколов и базовой сетевой технологии. Подобно измерению времени выполнения алгоритмов в секундах, это сделало бы сравнение результатов из разных публикаций очень разнообразным [23]. Марко Столпе в своей работе [10] указывает что, для справедливого сравнения потребуется построить ту же самую сеть с тем же оборудованием и конфигурацией. По меньшей мере для пакетных передач, данных количество отправленных пакетов пропорционально полезной нагрузке в битах. Сокращение пакетов может уменьшить перегрузку и коллизии в сетях с большими объемами трафика. Это, в свою очередь, уменьшает количество подтверждений и повторных передач, что должно позволить лучше использовать доступную полосу пропускания и обеспечить более высокие скорости передачи или больше участников сети.
Для централизованного анализа требуется передача всех предварительно обработанных данных на узел координатора. Метод обучения определяется как эффективный, если между локальными узлами и необязательным узлом координатора обменяется меньше данных, чем весь набор данных.
Автор [10] указывает на проблему, что количество данных, передаваемых за наблюдение во время обучения, может изменяться от количества, сообщенного при фактическом предсказании. Следует отметить, что в сценарии вертикально разделенных данных, по крайней мере, некоторые данные должны передаваться для обнаружения глобального состояния или прогнозирования глобального события. Кроме того, контролируемое обучение локальным моделям может потребовать передачи информации о ярлыках от координатора. Это зависит от горизонтального разбиения данных, где каждый локальный узел содержит всю необходимую информацию, т. е. значения функций, а часто и метку.
5.1 Распределённые настройки и компоненты
На Рисунке 10 приведена схема настроек в случае вертикально разделенных данных и распределенных компонентов, для которых могут быть разработаны алгоритмы. Даны m + 1 сетевые узлы j = 0, ... m, где узлы 1, ..., m называются локальными узлами, а j = 0 обозначает узел-координатор. Не допускается никаких предположений о топологии сети или технологии. Кроме того, «местный» и «координатор» следует понимать как роли, которые могут иметь физические узлы, и могут изменяться в зависимости от контекста. [10]
Каждый локальный узел получает необработанные значения, такие как измерения датчиков. Они могут быть локально предварительно обработаны и преобразованы в функции для обучения. Предполагается, что особенности тех же наблюдений вертикально разделены по локальным узлам. Распределенные компоненты алгоритмов обучения могут делать дальнейшие локальные вычисления для таких функций и могут создавать или обновлять локальные модели. Один раз или итеративно, в зависимости от алгоритма, локальные узлы будут либо передавать необработанные значения, функции, модели, либо предсказания таких моделей другим узлам, которые, в свою очередь, могут препроцитировать полученные данные и выполнять дальнейшие вычисления на них, например, строить или обновлять глобальную модель и т. д. Настройка, как описано, является достаточно общей, чтобы охватить следующие общие подходы к разработке распределенных алгоритмов [10]. Итак, рассмотрим более подробно данную схему:
· Централизованный анализ. Каждый локальный узел передает все свои необработанные значения узлу-координатору для дальнейшего анализа. Это может включать этапы предварительной обработки, выделения признаков и построения моделей [12]. Это в принципе то, что предлагает обработка данных на основе облачных вычислений: хотя координатор может состоять из распределенных компонентов и параллельно решать проблему анализа, с точки зрения локальных узлов это выглядит как одиночная машина, где все данные централизуются. Конструкция не децентрализована, так как данные и обработка не разделяются между локальными узлами и узлом-координатором, но вся обработка выполняется на узле-координаторе.
Рисунок 10. Сложности настройки и распределённых компонентов.
· Локальная предварительная обработка, централизованный анализ. Локальные узлы предварительно обрабатывают необработанные значения и преобразуют их в представление для обучения. Представления отправляются координатору, который строит глобальную модель, основанную на них. Хотя в соответствии с предыдущим определением эта конструкция децентрализована, ее форма очень неразвита, так как большая часть обработки все еще выполняется у координатора.
· Модель согласия. Локальные узлы повторно пытаются достичь согласия по набору параметров между собой (peer-to-peer) или по набору параметров, которые они разделяют с координатором. В конце каждый локальный узел (или только координатор) имеет глобальную модель.
· Слияние локальных моделей. Каждый локальный узел предварительно обрабатывает свои собственные данные и строит на нем локальную модель. Такие модели затем передаются узлу-координатору или узлам, которые соединяют их с глобальной моделью. Эти алгоритмы работают децентрализовано, так как данные и загрузка обработки распределяются между всеми узлами. В случае вертикально разделенных данных использование глобальной модели обычно требует передачи значений характеристик наблюдений всякий раз, когда прогнозируется.
· Слияние локальных прогнозов. Каждый локальный узел предварительно обрабатывает свои собственные данные и строит на нем локальную модель. Всякий раз, когда должно быть сделано предсказание, только предсказания передаются от локальных узлов и сливаются с координатором или другими одноранговыми узлами в соответствии с правилом слияния. Это может быть, например, большинство голосов по прогнозам. Локальные узлы каждый передают только одно значение во время предсказания, но правило слияния может быть не таким точным, как глобальная модель, в зависимости от распределения данных и задачи обучения
В то время как вышеупомянутые подходы являются общими, существуют гибриды, также охватываемые установкой, показанной на рисунке 10. Например, локальные модели используются для обнаружения локальных выбросов, которые затем проверяются на глобальную модель, которая была получена из небольших образцов всех данных.
6. Машинное обучение
Методы интеллектуального анализа для интернета вещей должны быть способны адаптироваться к динамическим средам или измененным потокам данных, чтобы избежать перепроектирования правил при каждом добавлении или удалении датчика. Методы машинного обучения хорошо подходят для обработки нечеткости в потоках данных и могут быстро адаптироваться при изменении среды. Машинное обучение - это область компьютерных наук, тип искусственного интеллекта (ИИ), который предоставляет машинам возможность учиться без явного программирования. Машинное обучение развилось из теории распознавания образов и вычислительного обучения. Там обсуждаются некоторые важные концепции машинного обучения, а также часто применяемые алгоритмы машинного обучения для интеллектуального анализа данных. [25]
Методы машинного обучения обладают некоторыми характеристиками, которые делают их выгодными в анализе потока данных интернета вещей:
- анализ изучение зависимостей из исторических данных;
- продолжение изучения новых зависимостей при добавлении потока данных от умного устройства;
- вычисление вероятности, что делает их устойчивыми к небольшим изменениям в потоке данных. Например, когда устройство перестает посылать данные и есть еще другие отправляющие значения, вероятность изменяется лишь незначительно, и ложного срабатывания не выдается.
Анализ данных проходит несколько стадий. Данные подразделяются на этап подготовки или этап предварительной обработки данных и этап прогнозного анализа. На этапе подготовки данные собираются и предварительно обрабатываются. Не все данные имеют значения для конкретной задачи анализа, поэтому выбор точек наблюдения является важным этапом предварительной обработки. Другие этапы предварительной обработки включают преобразование данных для обеспечения согласованных форматов данных, сжатию массива данных и удаление выбросов. На этапе прогнозного анализа должны быть выбраны и обучены подходящие методы машинного обучения. В зависимости от проблемы данные должны коррелироваться, так как данных только из одного источника данных может быть недостаточно, чтобы делать значимые прогнозы. Часто данные также визуализируются и создаются отчеты. Анализ данных методами машинного обучения очень итеративен, и некоторые шаги могут быть выполнены много раз подряд. [25]
6.1 Методы машинного обучения
Алгоритм обучения принимает набор выборок в качестве входных данных с именем обучающего набора. В целом существуют три основные категории обучения: с учителем, без учителя и подкрепление [26]. В неофициальном смысле в процессе обучения учителем обучающий набор состоит из выборок входных векторов вместе с соответствующими им целевыми векторами, также известными как метки. При обучении без учителя для учебного набора не требуется никаких меток. Подкрепляющее обучение имеет дело с проблемой обучения соответствующим действиям или последовательности действий, которые должны быть предприняты для данной ситуации, чтобы максимизировать отдачу.
Цель обучения с учителем - научиться предсказывать соответствующий выходной вектор для данного входного вектора. Приложения, в которых целевой меткой является конечное число дискретных категорий, называются задачами классификации. Случаях, когда целевая метка состоит из одной или нескольких непрерывных переменных, называются регрессией.
Трудно определить цель обучения без учителя. Одна из основных задач заключается в выявлении разумных кластеров аналогичных выборок во входных данных, известных как кластеризация. Кроме того, целью может быть открытие полезное внутреннее представление входных данных путем предварительной обработки исходной входной переменной, чтобы перенести ее в новое пространство переменных. Этот этап предварительной обработки может значительно улучшить результат последующего алгоритма машинного обучения и называется извлечением функции
6.2 Распространённые методы машинного обучения
Метод k-ближайших соседей
В методе K-ближайших соседях (K-nearest neighbors, KNN) цель состоит в том, чтобы классифицировать данную новую невидимую точку данных, посмотрев на K- заданных точек данных в обучающем наборе, которые ближе всего во входном или векторном пространстве. [27]
Наивный байесовский классификатор
В машинном обучении наивные классификаторы Байеса, семейство линейных классификаторов, основанных на теореме Байеса о вероятности, известны для создания простых, но хорошо выполняющихся моделей, особенно в областях классификации документов и прогнозирования заболеваний. [28]
Вероятностная модель наивных классификаторов Байеса основана на теореме Байеса, а прилагательное наивный исходит из предположения, что объекты в наборе данных взаимно независимы. На практике предположение о независимости часто нарушается, но наивные классификаторы Байеса по-прежнему имеют тенденцию работать очень хорошо при этом нереалистичном предположении. Особенно для небольших размеров выборки наивные классификаторы Байеса могут превзойти более мощные альтернативы. интернет байесовский классификатор вычисление
Однако сильные нарушения допущений независимости и нелинейные задачи классификации могут привести к очень плохим характеристикам наивных классификаторов Байеса. [28]
Необходимо иметь в виду, что тип данных и тип решаемой проблемы диктуют, какую классификационную модель мы хотим выбрать. На практике всегда рекомендуется сравнивать различные классификационные модели на конкретном наборе данных и учитывать характеристики прогнозирования, а также вычислительную эффективность.
Метод опорных векторов
Метод опорных векторов (SVM) контролируемый алгоритм машинного обучения, который можно использовать и для задач классификации или регрессии. Однако он в основном используется в задачах классификации. В этом алгоритме мы строим каждый элемент данных как точку в n-мерном пространстве (где n-количество объектов, которые у вас есть) со значением каждого объекта, являющимся значением определенной координаты. Затем мы выполняем классификацию, находя гиперплоскость, которая очень хорошо дифференцирует два класса (посмотрите на снимок ниже). [29]
Опорные векторы - представляют просто координаты индивидуального наблюдения. Машина вектора поддержки граница, которая наиболее хорошо разделяет 2 класса (гиперплоскость/ линия).
Линейная регрессия
Линейная регрессия количественно определяет связь между одной или несколькими переменными предиктора и одной переменной результата.
Линейная регрессия с одной переменной предиктора известна как простая регрессия. В реальных приложениях обычно существует несколько переменных-предикторов. Такая регрессия называется множественной регрессии.
Используя надлежащие базисные функции, можно показать, что можно моделировать произвольные нелинейности в отображении от входной переменной к выходной переменной. [30]
Однако предположение о фиксированных базисных функциях приводит к существенным недостаткам при этом подходе. Например, увеличение размерности входного пространства сопровождается быстрым ростом числа базисных функций [31].
Линейная регрессия может обрабатывать с высокой скоростью. Данный метод можно использовать, например, для анализа и прогнозирования энергопотребления зданий [32].
Случайные леса
Случайный лес (Random forest) - популярный ансамблевый метод, который можно использовать для построения прогностических моделей как для задач классификации, так и для задач регрессии. По сути, случайный лес -это целый лес случайных некоррелированных деревьев решений, классифицированных как метод ансамбля. Методы ансамбля - это использование нескольких моделей обучения для получения лучших прогностических результатов. Для случайного леса модель создает несколько деревьев решений. [17]
K- средние
Метод K-средних (K-means) - тип обучения без учителя, алгоритм распределительной кластеризации. Цель этого алгоритма состоит в том, чтобы найти группы в данных с количеством групп, представленных переменной K. Алгоритм работает итеративно, чтобы назначить каждую точку данных одной из K групп на основе предоставленных функций. Точки данных сгруппированы на основе сходства признаков. Результаты алгоритма кластеризации K-средних:
- центроиды кластеров K, которые можно использовать для маркировки новых данных;
- метки для обучающих данных (каждая точка данных назначается одному кластеру. Кластеризация позволяет не определять группы перед просмотром данных, а находить и анализировать группы, сформированные органично.
Каждый центроид кластера представляет собой набор значений признаков, которые определяют результирующие группы. Изучение весов элементов центроида может быть использовано для качественной интерпретации того, какую группу представляет каждый кластер. [16]
Искусственная нейронная сеть
Искусственная нейронная сеть (artificial neural network, ANN) - математическая модель, реализована в виде программ или аппаратных средств, является попыткой смоделировать работу сети нейронов живого организма [33].
Большинство нейронных сетей полностью соединены от одного слоя к другому. Эти связи взвешены; чем больше число, тем большее влияние одна единица оказывает на другую, подобно человеческому мозгу. На другой стороне сети находятся выходные единицы, и именно здесь сеть реагирует на данные, которые ей были предоставлены и обработаны.
В следующей части более детально будет освещён вопрос обучения нейронной сети.
7. Искусственные нейронные сети
Искусственные нейронные сети (далее по тексту НС) используют различные уровни математической обработки для осмысления информации, которую они подают. Существует множество классификаций сетей, способных решать конкретные задачи (рисунок 11). Нейронная сеть имеет от десятков до миллионов искусственных нейронов, называемых единицами, расположенных в несколько слоев. Входной слой получает различные формы информации из внешнего мира. Это данные, которые сеть стремится обработать или узнать. Из блока ввода данные проходят через один или несколько скрытых блоков. Задача скрытого блока-преобразовать вход во что-то, что может использовать выходной блок. [34, 35]
Рисунок 11. Классификация нейронных сетей [36].
Нейронные сети, с их замечательной способностью извлекать смысл из сложных или неточных данных, могут использоваться для извлечения паттернов и обнаружения тенденций, которые слишком сложны, чтобы быть замеченными людьми или другими компьютерными методами. Обученная нейронная сеть может рассматриваться как «эксперт» в категории информация была дана, чтобы анализировать [37]. Затем этот «эксперт» может быть использован для подготовки прогнозов с учетом новых интересных ситуаций и ответов на вопросы "что, если". Другие преимущества включают в себя:
Подобные документы
Различные методы решения задачи классификации. Нейросетевые парадигмы, методы обучения нейронных сетей, возникающие при этом проблемы и пути их решения. Описание программной реализации классификатора, его функциональные возможности и результаты обучения.
дипломная работа [1,0 M], добавлен 28.12.2015Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017Диагностический анализ изучения алгоритмов обучения нейронных сетей "с учителем". Сбор входных и выходных переменных для наблюдений и понятие пре/пост процессирования. Подготовка и обобщение многослойного персептрона, модель обратного распространения.
курсовая работа [249,3 K], добавлен 22.06.2011Архитектура систем интернета вещей. Модели взаимодействия устройств интернета вещей. Связи устройство-устройство, устройство-облако, устройство–шлюз. Модель передачи данных в бэк-энд. Алгоритмы обработки данных. Проведение анализа данных в маркетинге.
дипломная работа [643,8 K], добавлен 17.06.2017Популярность алгоритмов машинного обучения для компьютерных игр. Основные техники обучения с подкреплением в динамической среде (компьютерная игра "Snake") с экспериментальным сравнением алгоритмов. Обучение с подкреплением как тип обучения без учителя.
курсовая работа [1020,6 K], добавлен 30.11.2016Создание системы предобработки данных; разработка системы классификации на базе методов и алгоритмов машинного обучения, их реализация в программной системе. Предобработка информации, инструкция пользователя, система классификации, машинный эксперимент.
дипломная работа [917,1 K], добавлен 31.01.2015Использование классификаторов машинного обучения для анализа данных. Создание модели, которая на основании параметров, влияющих на течение диабета, выявляет показатель возвращения больного в ухудшенное состояния после оказанного лечения (реадмиссию).
дипломная работа [625,2 K], добавлен 10.06.2017Система компьютерной обработки данных для сбора, систематизации, статистической обработки, анализа результатов учебного процесса за четверть, полугодие, год. Модуль обработки данных о качестве обучения, итогов успеваемости и данных о движении учащихся.
реферат [22,5 K], добавлен 05.02.2011Анализ проблем, возникающих при применении методов и алгоритмов кластеризации. Основные алгоритмы разбиения на кластеры. Программа RapidMiner как среда для машинного обучения и анализа данных. Оценка качества кластеризации с помощью методов Data Mining.
курсовая работа [3,9 M], добавлен 22.10.2012Модели развертывания и облачные модели. Анализ существующих методов информационной безопасности. Обеспечение надежного шифрования данных при передаче их от пользователя к провайдеру услуг по хранению данных. Минимизация нагрузки на облачные сервисы.
дипломная работа [839,1 K], добавлен 17.09.2013