Применение нейронных сетей для определения степени загрязнения атмосферного воздуха

Характеристика проблемы загрязнения атмосферного воздуха. Анализ данных, снятых с датчика концентрации веществ в атмосферном воздухе. Разработка нейронной сети для определения степени загрязнения воздуха. Использование языка программирования 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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.