Применение нейронных сетей для определения степени загрязнения атмосферного воздуха
Характеристика проблемы загрязнения атмосферного воздуха. Анализ данных, снятых с датчика концентрации веществ в атмосферном воздухе. Разработка нейронной сети для определения степени загрязнения воздуха. Использование языка программирования Python.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 19.02.2019 |
Размер файла | 900,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Московский Технический Университет Связи и Информатики
ПРИМЕНЕНИЕ НЕЙРОННЫХ СЕТЕЙ ДЛЯ ОПРЕДЕЛЕНИЯ СТЕПЕНИ ЗАГРЯЗНЕНИЯ АТМОСФЕРНОГО ВОЗДУХА.
Фадеев М.А.
Исаева Л.Н.
В современном мире всё большее внимание уделяется уровню комфорта и безопасности человека, который в первую очередь зависит от того чем человек дышит.
Сегодня уже точно известно из чего состоит воздух: 20% кислорода, 78% азота и оставшиеся 2% занимают пары воды, углекислый газ, инертные газы (аргон, неон, ксенон и т.п) и другие примеси в микроскопических количествах. Но такой состав имеет экологически чистый воздух в лесах и полях. Состав воздуха в городских условиях сильно отличается от состава чистого воздуха. Городской воздух содержит меньше кислорода и больше углекислого газа, также он содержит огромное количество вредных химических веществ и испарений[6].
Атмосферный воздух является одним из важнейших факторов, влияющих на здоровье человека и загрязнённый воздух значительно повышает риск возникновения различных заболеваний.
В настоящее время существует большое количество датчиков определяющих концентрацию веществ в воздухе как в домашних условиях, так и на улице. Существуют даже информационные сайты с интерактивной картой, на которой можно посмотреть концентрацию веществ в атмосферном воздухе в режиме реального времени.
РЕАЛИЗАЦИЯ НЕЙРОННОЙ СЕТИ
Для определения степени загрязнения воздуха авторамиразработана нейронная сеть, которая, используя данные о концентрации загрязнителей в воздухе, смогла бы выполнить данную задачу.
Для разработки и реализации использовался язык программирования Python[2] и необходимые библиотеки.
В качестве набора данных для обучения и тестирования нейронной сети были использованы следующие загрязнители:
• SO2 - оксид серы;
• NO2 - оксид азота;
• PM10 - взвешенные частицы диаметром 10 микрон; ? PM2.5 - взвешенные частицы диаметром 2.5 микрона.
На рисунке 1 представлен набор данных о концентрации веществ в атмосферном воздухе, взятый с ресурса «Kaggle» [1], состоит из 998 наблюдений. Он содержит семь столбцов, в которых первые четыре - это загрязнители, а 5-7 - это ожидаемые результаты.
Рисунок 1. Пример входных данных
Входные данные, которые разделены на две подвыборки: 70% для обучения и 30% для тестированияпредставлены на рисунке 2. Данные хранятся в файле «AQdataset» с расширением «csv» и их считывание происходит посредством использования библиотеки «pandas»[4].
Рисунок 2. Считывание и разбиение данных.
Для обучения в переменную «X»заносятся данные о концентрации вещества в воздухе, а в переменную «Y»- ожидаемые результаты.
Для реализации нейронной сети был создан класс «NeuralNetwork», в котором создаётся входной, выходной и три скрытых слоя. Таким образом получаем трёхслойный персептрон. На рисунке 3 представлены первый, входной, слой содержит 4 нейрона, второй, скрытый, слой -12 нейронов, третий, скрытый, слой - 9, четвёртый, скрытый, слой - 6 и пятый, выходной, слой содержит - 3 нейрона. датчик нейронный сеть загрязнение
Рисунок 3. Создание слоёв.
Далее происходит процесс обучения нейронной сети, представленный на рисунке 4, в котором будут изменены значения весов, которые ранее были заданы случайными значениями.
Рисунок 4. Реализация нейронной сети.
Выходные данные разделяются на две части: полученное и ожидаемое значения и, в случае, если значения не совпадают, то значения весов изменяются и процесс повторяется. Данный процесс, представленный на рисунке 5, проходит 10000 итераций.
Рисунок 5. Обучение нейронной сети.
На данном этапе происходит завершение процесса разработки и обучения нейронной сети, и переход к процессу тестирования.
ТЕСТИРОВАНИЕ НЕЙРОННОЙ СЕТИ
В процессе тестирования на вход подаются данные из тестовой выборки, а на выходе выводит два значения: полученное и ожидаемое. В зависимости от значения, для полученного и ожидаемого, выводится одно из трёх, представленных на рисунках 6,7, сообщений: «Сильное загрязнение АВ», «Умеренное загрязнение АВ», «Допустимое загрязнение АВ».
Рисунок 6. Сообщения для полученного значения
Рисунок 7. Сообщения для ожидаемых значений.
На рисунке 8 представлен процесс сравнения значений и, если они совпадают выводит сообщение «Правильно!» и, в любом случае, переходит к следующей итерации. Процесс длится пока не пройдет всю тренировочную выборку
Рисунок 8. Тестирование нейросети.
После обработки всех наблюдений программа подсчитывает, коэффициент всех правильных ответов и выводит результат, представленный на рисунке 9.
Рисунок 9. Результат тестирования
В статье проанализирована проблема загрязнения атмосферного воздуха.
Был описан набор данных используемый для обучения и тестирования нейронной сети, а также сам процесс разработки, обучения и тестирования нейронной сети.
Полученная в процессе разработки нейронная сеть определяет степень загрязнения атмосферного воздуха с высокой точностью и может быть использована в качестве модуля для датчиков концентрации веществ в воздухе.
Литература
1. Л.И. Воронова, В.И. Воронов. MachineLearning: Регрессионные методы интеллектуального анализа данных: учебное пособие - МТУСИ, 2018 - 81 с.
2. Федеральный закон от 10.01.2002 N 7-ФЗ (ред. от 31.12.2017) "Об охране окружающей среды"
Размещено на Allbest.ru
Подобные документы
Прогнозирование валютных курсов с использованием искусственной нейронной сети. Общая характеристика среды программирования Delphi 7. Существующие методы прогнозирования. Характеристика нечетких нейронных сетей. Инструкция по работе с программой.
курсовая работа [2,2 M], добавлен 12.11.2010Математическая модель искусственной нейронной сети. Структура многослойного персептрона. Обучение без учителя, методом соревнования. Правило коррекции по ошибке. Метод Хэбба. Генетический алгоритм. Применение нейронных сетей для синтеза регуляторов.
дипломная работа [1,5 M], добавлен 17.09.2013Математическая модель нейронной сети. Однослойный и многослойный персептрон, рекуррентные сети. Обучение нейронных сетей с учителем и без него. Алгоритм обратного распространения ошибки. Подготовка данных, схема системы сети с динамическим объектом.
дипломная работа [2,6 M], добавлен 23.09.2013Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.
лабораторная работа [1,1 M], добавлен 05.10.2010Прогнозирование на фондовом рынке с помощью нейронных сетей. Описание типа нейронной сети. Определение входных данных и их обработка. Архитектура нейронной сети. Точность результата. Моделирование торговли. Нейронная сеть прямого распространения сигнала.
дипломная работа [2,7 M], добавлен 18.02.2017Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Математические модели, построенные по принципу организации и функционирования биологических нейронных сетей, их программные или аппаратные реализации. Разработка нейронной сети типа "многослойный персептрон" для прогнозирования выбора токарного станка.
курсовая работа [549,7 K], добавлен 03.03.2015Технологии решения задач с использованием нейронных сетей в пакетах расширения Neural Networks Toolbox и Simulink. Создание этого вида сети, анализ сценария формирования и степени достоверности результатов вычислений на тестовом массиве входных векторов.
лабораторная работа [352,2 K], добавлен 20.05.2013Разработка структуры базы данных для хранения дипломных проектов в среде объектно-ориентированного программирования Python. Создание внешнего вида окон ввода-вывода информации, технологии переходов. Листинг программы с пояснениями; направления улучшения.
курсовая работа [3,1 M], добавлен 27.02.2015Отличительные особенности языка программирования Python: низкий порог вхождения, минималистичный язык, краткий код, поддержка математических вычислений, большое количество развитых web-фреймворков. Традиционная модель выполнения программ на языке Python.
реферат [51,9 K], добавлен 18.01.2015