Построение искусственной нейронной сети посредством neuralnet на языке r (на примере набора данных iris)
Характеристика процесса построения простейшей нейронной сети в пакете neuralnet. Анализ алгоритма подготовки данных на примере набора данных iris. Описание процесса обучения нейронной сети. Оценка качества классификации данных полученной нейронной сетью.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 28.10.2020 |
Размер файла | 779,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Построение искусственной нейронной сети посредством neuralnet на языке r (на примере набора данных iris)
Босых О.С., студент магистратуры 2 курса Хакасский государственный университет им. Н.Ф. Катанова
Россия, г. Абакан Научный руководитель: Голубничий А.А.
Аннотация
нейронная сеть neuralnet алгоритм
В статье описывается процесс построения простейшей нейронной сети в пакете neuralnet. Рассматривается алгоритм подготовки данных на примере набора данных iris. Описывается процесс обучения нейронной сети. Оценивается качество классификации данных полученной нейронной сетью.
Ключевые слова: R, искусственные нейронные сети, neuralnet.
Abstract
The article describes the process of building the simplest neural network in the neuralnet package. The algorithm of data preparation on the example of the iris data set is considered. Describes the process of learning a neural network. The quality of data classification obtained by the neural network is evaluated.
Key words: R, artificial neural networks, neuralnet.
Процесс создания искусственных нейронных сетей на разных языках программирования требует различных усилий. Реализация алгоритма обучения нейронной сети, без использования специализированных модулей, одинаково сложная задача для большинства языков программирования. В целях упрощения, в рамках данного исследования, будет использован язык программирования R [1] и пакет neuralnet [2]. Исходными данными для обучения выступит встроенный в базовую версию языка набор данных iris, содержащий сведения о морфометрии разных видов ириса [3].
Прежде чем приступать к созданию нейронной сети, необходимо выгрузить исходные данные и подготовить их к обучению (рис. 1.).
Рисунок 1. Исходный код загрузки и обработки данных
Для упрощения работы с данными уменьшим исходный набор со 150 до 100 значений, тем самым уберем из выборки один из видов ириса (останутся виды setosa и versicolor). Еще одним методом упрощения будет передача численного значения соответствующим видам, так, заменим вид setosa значением 1, а versicolor - 0, данную операцию проведем тернарным оператором ifelse. Используя функцию sample, случайным образом разобьем исходный набор данных на тренировочный (70%) и тестовый (30%). Для работы с нейронной сетью необходимо нормализовать данные, эту процедуру можно выполнить как вручную, используя функции min, max и соответствующие арифметические операции, так и используя стандартную функцию scale.
Как уже было сказано, обучение нейронной сети происходит благодаря пакету neuralnet. Данный пакет размещен в официальном репозитории CRAN, поэтому его можно загрузить и подключить стандартным набором функций install.packages() и library() (рис. 2.). Сам процесс тренировки сети осуществляется через функцию, аналогичную названию пакета, путем передачи в формате формулы выходного параметра и входных параметров, набора для обучения и структуры самой сети.
Рисунок 2. Исходный код установки и загрузки пакета ивигаШ и тренировки нейронной сети
Определение вида растения по морфометрии является естественной задачей, по этой причине нет необходимости выстраивать сложную структуру нейронной сети. В нашем примере мы ограничиваемся нейронной сетью с одним скрытым слоем с двумя нейронами (рис. 3.).
Тестирование качества нейронной сети будем проводить, используя заранее подготовленную выборку из исходных данных (рис. 4.). С помощью команды subset подготовим временный набор данных с исключением переменной Species. Используя функцию compute, проведем расчет исключенной нами переменной с использованием нейронной сети. Далее, округлив значения до целых, построим таблицу сравнения исходных данных (actual) и предсказанных с помощью нейронной сети (prediction) (рис. 5.).
Рисунок 4. Исходный код тестирования нейронной сети
Рисунок 5. Оценка работы нейронной сети
Качество работы нейронной сети можно оценить по количеству значений, лежащих вне диагонали - чем меньше значений, тем точнее работа нейронной сети. В нашем примере значений, не относящихся к диагонали, обнаружено не было, что свидетельствует о точности решения исходной задачи.
Использованные источники
1. R: The R Project for Statistical Computing [Электронный ресурс] URL: https://www.r-project.org (дата обращения: 12.01.2019).
2. CRAN - Package neuralnet [Электронный ресурс] URL: https://cran.r- project.org/web/packages/neuralnet/index.html (дата обращения: 12.01.2019).
3. Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole. (has iris3 as iris.)
Размещено на Allbest.ru
Подобные документы
Разработка алгоритма и программы для распознавания пола по фотографии с использованием искусственной нейронной сети. Создание алгоритмов: математического, работы с приложением, установки весов, реализации функции активации и обучения нейронной сети.
курсовая работа [1,0 M], добавлен 05.01.2013Описание структурной схемы искусственного нейрона. Характеристика искусственной нейронной сети как математической модели и устройств параллельных вычислений на основе микропроцессоров. Применение нейронной сети для распознавания образов и сжатия данных.
презентация [387,5 K], добавлен 11.12.2015Математическая модель нейронной сети. Однослойный и многослойный персептрон, рекуррентные сети. Обучение нейронных сетей с учителем и без него. Алгоритм обратного распространения ошибки. Подготовка данных, схема системы сети с динамическим объектом.
дипломная работа [2,6 M], добавлен 23.09.2013Исследование нечеткой модели управления. Создание нейронной сети, выполняющей различные функции. Исследование генетического алгоритма поиска экстремума целевой функции. Сравнительный анализ нечеткой логики и нейронной сети на примере печи кипящего слоя.
лабораторная работа [2,3 M], добавлен 25.03.2014Прогнозирование на фондовом рынке с помощью нейронных сетей. Описание типа нейронной сети. Определение входных данных и их обработка. Архитектура нейронной сети. Точность результата. Моделирование торговли. Нейронная сеть прямого распространения сигнала.
дипломная работа [2,7 M], добавлен 18.02.2017Выявление закономерностей и свойств, применимых в искусственной нейронной сети. Построение графиков и диаграмм, определяющих степень удаленности между объектами. Моделирование, тестирование и отладка программной модели, использующей клеточный автомат.
дипломная работа [4,1 M], добавлен 25.02.2015Этап предварительной обработки данных, классификации, принятия решения. Изображения обучающих рукописных символов, тестового символа. Выход нейронной сети для тестового символа. График тренировки нейронной сети. Последовательность точек. Входные вектора.
статья [245,7 K], добавлен 29.09.2008Обучение простейшей и многослойной искусственной нейронной сети. Метод обучения перцептрона по принципу градиентного спуска по поверхности ошибки. Реализация в программном продукте NeuroPro 0.25. Использование алгоритма обратного распространения ошибки.
курсовая работа [1019,5 K], добавлен 05.05.2015Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.
лабораторная работа [1,1 M], добавлен 05.10.2010Математическая модель искусственной нейронной сети. Структура многослойного персептрона. Обучение без учителя, методом соревнования. Правило коррекции по ошибке. Метод Хэбба. Генетический алгоритм. Применение нейронных сетей для синтеза регуляторов.
дипломная работа [1,5 M], добавлен 17.09.2013