48875

Определение видовой принадлежности грибов

Курсовая

Информатика, кибернетика и программирование

Обучение нейросети. Применение нейросети для определения вида грибов. Искусственные нейронные сети прочно вошли в нашу жизнь и в настоящее время широко используются при решении самых разных задач и активно применяются там где обычные алгоритмические решения оказываются неэффективными или вовсе невозможными. Нейронные сети – исключительно мощный метод моделирования позволяющий воспроизводить чрезвычайно сложные зависимости.

Русский

2013-12-16

717.5 KB

10 чел.

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

«ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ»

Факультет информатики и экономики

Кафедра прикладной информатики

КУРСОВАЯ РАБОТА

по дисциплине

Интеллектуальные информационные системы

на тему:

Определение видовой принадлежности грибов

                                                   

ИСПОЛНИТЕЛЬ:

студентка  гр. 1233

Зарипова Д.Р.

НАУЧНЫЙ  РУКОВОДИТЕЛЬ:

Ясницкий Л.Н.

Пермь 2008

Оглавление

ВВЕДЕНИЕ………………………………………………………………………………………3

ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ

             1.1. Теоретические основы…………………………………………………………….. 4

             1.2. Многослойная нейронная сеть……………………………………………………. 6

             1.3. Искусственный нейрон……………………………………………………………. 7

             1.4.Обучение нейросети…………………………………………………..……………9

             1.5.Примерыиспользованиянейронныхсетей………………………………………..12

ГЛАВА 2. ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ НЕЙРОННЫХ СЕТЕЙ

2.1. Применение нейросети для определения вида грибов………………………...14

2.2. Обучение персептрона….......................................................................................20

2.3. Анализ полученных результатов………………………………………………...23

ЗАКЛЮЧЕНИЕ…………………………………………………………………………………. 25

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ……………………… 26

Введение

Искусственные нейронные сети прочно вошли в нашу жизнь и в настоящее время широко используются при решении самых разных задач и активно применяются там, где обычные алгоритмические решения оказываются неэффективными или вовсе невозможными.  Нейронные сети – исключительно мощный метод моделирования, позволяющий воспроизводить чрезвычайно сложные зависимости.

Нейронная сеть – это система, выполненная по образу и подобию человеческого мозга.

Главным отличием нейронных сетей от других методов, например таких, как экспертные системы, является то, что нейронные сети не нуждаются в заранее известной модели, а строят ее сами только на основе предъявляемой информации. Именно поэтому нейронные сети вошли в практику всюду, где нужно решать задачи прогнозирования, классификации, управления – иными словами, в области человеческой деятельности, где есть неформализуемые или трудно формализуемые задачи [10].

Цель данной работы: показать, можно ли использовать нейронные сети в определении видовой принадлежности грибов и насколько точно и эффективно их применение.

Для достижения данной цели были поставлены следующие задачи:

  •  изучить теоретические основы нейронного подхода;
  •  составить обучающую выборку на основе внешних признаков различных видов грибов;
  •  обучить нейросимулятор;
  •  оценить значимость входных параметров;
  •  представить результаты работы нейронной сети;

Объектом исследования является искусственный интеллект.

Предметом исследования является применение нейросети как экспертной системы для определения видовой принадлежности грибов.

Глава 1. Теоретические основы

1.1. История развития систем искусственного интеллекта

Человека всегда интересовало устройство мозга, принципы его работы и организации. Первая математическая модель нейрона (базового элемента мозга) была создана в 1943 году, когда американский ученый Уоррен Маккаллок (McCulloch W.) и его ученик У. Питтс (Pitts W.) сформулировали основные положения теории деятельности головного мозга.

Ими было сделано следующее:

  •  разработана модель нейрона как простейшего процессорного элемента, выполнявшего вычисление переходной функции от скалярного произведения вектора входных сигналов и вектора весовых коэффициентов;
  •  предложена конструкция сети таких элементов для выполнения логических и арифметических операций;
  •  сделано основополагающее предположение о том, что такая сеть способна обучаться, распознавать образы, обобщать полученную информацию.

За прошедшие десятилетия теория нейронных сетей ушла достаточно далеко вперед, однако многие утверждения У. Маккаллока остаются актуальными и по сей день. В частности, при большом разнообразии моделей нейронов принцип их действия, заложенный У. Маккаллоком и У. Питтсом, остается неизменным. Недостатком модели  является сама модель нейрона — «пороговый» вид активационной функции. Пороговый вид функции не дает нейронной сети достаточную гибкость при обучении и настройке на поставленную задачу.

Дальнейшее развитие теория нейронных сетей получила в работах американского нейрофизиолога Френсиса Розенблата (Rosenblatt F.). В 1958 году он предложил свою модель нейронной сети [7].

Ф. Розенблат ввел в модель У. Маккаллока и У. Питтса способность связей к модификации, что сделало ее обучаемой. Эта модель была названа персептроном. Первоначально персептрон представлял собой однослойную структуру с жесткой пороговой функцией процессорного элемента и бинарными или многозначными входами, в дальнейшем эта модель была значительно усовершенствована.

Персептрон, воспринятый первоначально безоговорочно и с большим энтузиазмом, вскоре подвергся интенсивным нападкам со стороны крупных научных авторитетов.

В 1982 году американский биофизик Дж. Хопфилд (Hopfield J.) предложил оригинальную модель нейронной сети, в дальнейшем названную его именем.

Сеть Дж. Хопфилда имеет обратные связи между слоями, что увеличивает ее обобщающие свойства, такие сети нашли широкое применение при распознавании образов.

Построение любой нейронной сети предполагает большой объем вычислений (обучение сети обычно является итерационным процессом). Поэтому только с ростом вычислительной мощности компьютеров появилась возможность практического применения нейросетей, что дало мощный толчок к широкому распространению программ, использующих принципы нейросетевой обработки данных.

Самыми первыми интеллектуальными задачами, которые стали решаться при помощи ЭВМ были логические игры (шашки, шахматы), доказательство теорем.

В настоящее время существуют и успешно применяются программы, позволяющие машинам играть в деловые или военные игры, имеющие большое прикладное значение. Здесь также чрезвычайно важно придать программам присущие человеку способность к обучению и адаптации. Одной из наиболее интересных интеллектуальных задач, также имеющей огромное прикладное значение, является задача обучения распознавания образов и ситуаций.

Очень большим направлением систем ИИ является роботехника. Первых роботов трудно назвать интеллектуальными. Только в 60-х годах появились очуствленные роботы, которые управлялись универсальными компьютерами. Постепенно характеристики роботов улучшались. Но до сих пор они еще далеки по понятливости от человека, хотя некоторые операции уже выполняют на уровне лучших жонглеров. К примеру удерживают на лезвии ножа шарик от настольного тенниса [9].

1.2. Многослойная нейронная сеть

Как и человеческий мозг, нейросеть состоит из множества простейших элементов — нейронов, взаимодействующих друг с другом. Именно их совокупность обеспечивает уникальность свойств нейронных сетей, таких как способность к обобщению, работа с зашумленными и неполными данными и др.

Среди всего разнообразия архитектур нейронных сетей наибольшее распространение получили многослойные. Фактически эти сети стали «классическим», и когда в литературе говорится о нейросетях, обычно подразумевают многослойные полно связанные сети. Поэтому рассмотрим их подробнее и приведем примеры использования.

В такой архитектуре нейроны объединены в так называемые слои. Под слоем понимается совокупность нейронов, входы которых соединены с выходами нейронов предыдущего слоя, а в свою очередь, выходы нейронов этого слоя являются входами для следующего слоя.

Обычно слоистые сети являются полно связанными, то есть входы каждого нейрона слоя связаны со всеми выходами нейронов предыдущего слоя. Пример двухслойной полносвязанной нейросети приведен на рис. 1.

Рис.1. Пример двухслойной полносвязанной нейросети.

В нейропрограммах пользователь может легко задать требуемую структуру нейронной сети, определив для этого лишь число слоев и нейронов в них. Практическое распространение таких сетей объясняется хорошо отработанными алгоритмами обучения и широким классом решаемых ими задач. Не полносвязанные нейросети являются частным случаем. Отсутствие связи эквивалентно нулевому коэффициенту веса связи.

Чаще применяются нейросети имеющие два и более слоев. Однослойные нейронные сети имеют один существенный недостаток, они не решают задачу «исключающего ИЛИ».

1.3. Искусственный нейрон

Искусственные нейросети чрезвычайно разнообразны по своей архитектуре, и в настоящее время создано более 20 их парадигм. Все они имеет простой общий базовый элемент — искусственный нейрон, который имитирует свойства своего биологического родителя.

Рис.2. Искусственный нейрон

На вход искусственного нейрона  подается набор входных сигналов x1, x2, ..., xn (входной вектор X), представляющий собой выходные сигналы других нейроподобных элементов или входные сигналы нейросети. Каждый входной сигнал умножается на соответствующий вес связи w1, w2, ...,wn— аналог эффективности синапса. Вес этой связи является положительным для возбуждающей и отрицательным для тормозящей связи нейрона. Взвешенные весами связей, входные сигналы поступают на блок суммации (по своей сути являющийся аналогом тела клетки в биологическом нейроне), где вычисляется их алгебраическая сумма и определяется уровень возбуждения нейрона S:

 

где: θ — порог возбуждения нейрона.

Затем над уровнем возбуждения S производится необходимое нелинейное преобразование: Y=F(S)

Эта функция называется активационной, примеры таких функций приведены на рисунке 3

Рис.3. Примеры активационных функций.

Наиболее часто на практике применяется сигмоидальная (логистическая) функция вида:

Эта функция позволяет работать как со слабыми уровнями возбуждения ( значения около 0), так и с большими уровнями возбуждения нейрона. При сильных уровнях сигнала происходит насыщение активационной функции, и таким образом, нейрон функционирует в широком диапазоне входных сигналов.

Коэффициент β определяет крутизну сигмоида.

Нелинейность функции активации F(S) очень важна и принципиальна; если бы нейроны были линейными элементами (использовали линейную функцию активации), то любая последовательность нейронов также производила бы линейное преобразование и вся нейросеть была бы эквивалентна одному нейрону (или одному слою нейронов — в случае нескольких выходов). Нелинейность разрушает линейную суперпозицию и приводит к тому, что возможности нейросети существенно выше возможностей отдельных нейронов.

Выше описанная модель нейрона пренебрегает многими известными характеристиками биологического прототипа, которые некоторые исследователи считают критическими. Например, в ней не учитывают нелинейность пространственно-временной суммации, которая особенно существенна для сигналов, приходящих по возбуждающим и тормозящим синапсам; различного рода временные задержки; эффекты синхронизации и частотной модуляции; рефлекторность и т. п. Невзирая на эти отклонения, сети, построенные на основе таких нейронов, демонстрируют ассоциативные свойства, напоминающие свойства биологических систем, и успешно применяются на практике [2].

1.4. Обучение нейросети

Одно из важнейших свойств нейронной сети — ее способность к самоорганизации, самоадаптации с целью улучшения качества функционирования.

Эта цель достигается путем обучения сети, алгоритм задается набором правил. Обучающие правила определяют, каким образом изменяются связи в ответ на входное воздействие. Обучение основано на увеличении силы связи (веса синапса) между одновременно активными нейронами. Часто используемые связи усиливаются, и этим объясняется феномен обучаемости нейросетей путем повторения и привыкания. В настоящее время выработано достаточное количество разнообразных обучающих правил (алгоритмов обучения).

Все это многообразие можно разделить на две условные группы — «обучение без учителя» и «обучение с учителем». При «обучении без учителя» нет  эталонных выходных значений, и нейросеть сама обучается на входных примерах, выявляя в них закономерности и проводя самоорганизацию. Наиболее известной архитектурой такой нейросети являются самоорганизующиеся карты Кохонена (Self-Organizing Maps), о которых будет рассказано в дальнейшем.

В процессе «обучения с учителем» на входы нейросети подаются входные значения и затем производится сравнение полученных выходных значений с требуемыми. Фактически требуемые (эталонные) значения выходов играют роль «учителя», каждый раз давая урок нейросети. Рассматриваемые  многослойные сети обучаются по этому принципу [5].

Когда в сети есть только один слой, то алгоритм ее обучения с учителем довольно очевиден, так как правильные выходные состояния нейронов единственного слоя заведомо известны и подстройка весов (синаптических связей) идет в направлении минимизации ошибки на выходе. В многослойных же сетях оптимальные выходные

значения нейронов всех слоев, кроме последнего, как правило, не известны, и их уже невозможно обучить, руководствуясь только величинами ошибок на выходах НС.

Тренировка многослойных нейронных сетей проводится с помощью алгоритма обратного распространения ошибки (back propagation). Этот алгоритм является обобщением одной из процедур обучения простого персептрона, известной как дельта-правило, и требует наличия обучающей выборки. Выборка состоит из набора пары векторов (входной и выходной), между которым и надо установить соответствие.

Алгоритм обратного распространения ошибки является одной из разновидностей градиентного спуска, минимизирующий суммарную квадратичную ошибку:

где: Yi,kN— реальное выходное состояние нейрона i-го выходного слоя N нейронной сети при подаче на ее входы k-го образа; Yi,k— идеальное (желаемое) выходное состояние этого нейрона. Идея алгоритма состоит в том, чтобы вычислить чувствительность выхода нейрона к изменению весов в случае возникновения ошибки.

Для этого вычисляются частные производные от ошибки по весам.

Для работы алгоритма требуется, чтобы активационные функции нейронов были неубывающими и имели ограниченную производную. При проведении данной операции обычно используют сигмоидальную активационную функцию. Перед началом обучения связям присваиваются небольшие случайные значения. Каждая итерация процедуры состоит из двух фаз. Во время первой фазы (прямой проход) на сеть подается входной вектор путем установки в нужное состояние входных элементов. Затем входные сигналы распространяются по сети, порождая выходной вектор.

Полученный выходной вектор сравнивается с требуемым (обратный проход).

Если они совпадают, обучения не происходит. В противном случае вычисляется разница между фактическими и требуемыми выходными значениями, которая передается последовательно от выходного слоя к входному. На основании информации об ошибке производится модификация весов связей.

Описанный алгоритм хотя и является широко распространенным, но все же имеет некоторые недостатки:

  •  в процессе обучения может возникнуть ситуация, когда большие положительные или отрицательные значения весов переведут нейрон в область насыщения активационной функции;
  •  применение метода градиентного спуска не гарантирует, что будет найден глобальный, а не локальный минимум целевой функции;
  •  нет никаких предварительных оценок требуемого времени для обучения нейросети.

Наличие этих и другие, проблем подвигло разработчиков, в свою очередь, к созданию большого числа улучшенных алгоритмов обратного распространения ошибки, таких как использование производных второго порядка, пакетной обработки и т. д.

Отдельной проблемой при обучении с учителем является переобучение нейросети. Под переобучением понимается такое обучение, при котором теряются обобщающие свойства и нейросеть просто «запоминает» выходные данные. Другими словами на обучающей выборке сеть показывает великолепные результаты, а на новых данных или на подтверждающей выборке, результаты гораздо хуже.

Рис.4. Результаты подтверждающей и обучающей выборки, переобучение.

На рисунке 4 показан момент наступления переобучения нейросети. При дальнейшем уменьшении ошибки на обучающей выборке на подтверждающей выборке ошибка увеличивается.

Основным методом «борьбы» с переобучением является введение механизма калибровки в алгоритм обучения.

Калибровка подразумевает выделение из обучающего множества — специального калибровочного (подтверждающего). Процесс обучения проводится на обучающем множестве, а мониторинг и принятие решения об остановке обучения принимается по результатам прогона через нейросеть калибровочного множества примеров.

В большинстве случаев ошибка прогноза нейросети складывается из двух основных составляющих. Первая из них определяется недостаточным качеством аппроксимации и наличием «шума» во входных данных, вторая — недостатком информации, поданной на вход нейросети при обучении. Недостаток информации обычно вызван либо отсутствием во входах важных для прогноза переменных или/и малым размером обучающей выборки, не отражающей всей полноты картины.

1.5. Примеры использования нейронных сетей

Нейронные сети хорошо подходят для распознавания образов и решения задач классификации, оптимизации и прогнозирования. Ниже приведен перечень возможных промышленных применений нейронных сетей, на базе которых либо уже созданы коммерческие продукты, либо реализованы демонстрационные прототипы [5].

  1.  Административное обслуживание:
  •  автоматическое считывание документов;
  •  автоматическое распознавание штриховых кодов.
  1.  Банки и страховые компании:
    •  автоматическое считывание чеков и финансовых документов;
    •  проверка достоверности подписей;
    •  оценка риска для займов;
    •  прогнозирование изменений экономических показателей.
  2.  Нефтяная и химическая промышленность:
  •  анализ геологической информации;
  •  идентификация неисправностей оборудования;
  •  разведка залежей минералов по данным аэрофотосъемок;
  •  анализ составов примесей;
  •  управление процессами.
  1.  Промышленное производство:
  •  управление манипуляторами;
  •  управление качеством;
  •  управление процессами;
  •  обнаружение неисправностей;
  •  адаптивная робототехника;
  •  управление голосом.
  1.  Военная промышленность и аэронавтика:
  •  обработка звуковых сигналов (разделение, идентификация, локализация, устранение шума, интерпретация);
  •  обработка радарных сигналов (распознавание целей, идентификация и локализация источников);
  •  обработка инфракрасных сигналов (локализация);
  •  обобщение информации;
  •  автоматическое пилотирование.
  1.  Служба безопасности:
  •  распознавание лиц, голосов, отпечатков пальцев.
  1.  Биомедицинская промышленность:
  •  анализ рентгенограмм;
  •  обнаружение отклонений в ЭКГ.
  1.  Телевидение и связь:
  •  адаптивное управление сетью связи;
  •  сжатие и восстановление изображения.

И это далеко не весь список. Ежемесячно западные средства массовой информации сообщают о новых коммерческих продуктах на базе нейронных сетей [4] [5].

Глава 2. Практическая часть

2.1. Применение нейросети для определения вида грибов

Приведем пример использования нейронных сетей для определения вида грибов. Начинающему грибнику очень важно научиться отличать съедобные грибы от несъедобных. По  внешним признакам можно определять почти все виды съедобные и ядовитые грибы [3] [11].

Рассмотрим, какие параметры подавались на вход:

X1. Прежде всего надо смотреть на нижнюю сторону шляпки, где расположен спороносный слой. Спороносный слой шляпочных грибов бывает нескольких типов (тип гименофора показан на рисунке 5):

  1.  трубчатый
  2.  пластинчатый

X2. Цвет гименофора:

  1.  белый
  2.  розовый
  3.  красный,бурый
  4.  коричневый
  5.  желтый
  6.  серый
  7.  зеленый, оливковый
  8.  оранжево-рыжий-ржавый

Рис.5. Тип гименофора

Плодовое тело шляпочных грибов обычно состоит из шляпки и ножки. Форма шляпки разнообразна и является одним из важных признаков в систематике грибов (рис. 6): [11]

Рис.6. Форма шляпки

X3. Форма шляпки:

    1 - колокольчатая;

    2 - шаровидная;

    3 - полушаровидная;

    4 - подушковидная;

    5 - выпуклая;

    6 - плоско-выпуклая;

    7 - плоская;

    8 – воронковидная (узкая и широкая).

X4. Следующий параметр окраска шляпки:

  1.  желтоватый;
  2.  сероватый;
  3.  зеленоватый; оливковый
  4.  беловатый;
  5.  коричневатый;
  6.  оранжевый, рыжий;
  7.  бурый, красный.
  8.  розоватый, фиолетовый

X5. Поверхность шляпки бывает:

  1.  гладкая,  
  2.  слизистая,
  3.  клейкая
  4.  чешуйчатая,
  5.  бархатистая,
  6.  блестящая,
  7.  матовая.
  8.  сухая

X6. Мякоть шляпки тоже обладает особенностями. Окраска мякоти различна у разных грибов:

  1.  беловатая
  2.  желтоватая, оранжеватая

X7. Отдельным видам свойственно изменение окраски мякоти на изломе:

  1.  мякоть меняет цвет на изломе
  2.  мякоть медленно меняет цвет или почти не меняет
  3.  мякоть не меняет цвет на изломе

X8. Запах мякоти бывает:

  1.  Приятный грибной
  2.  нейтральный
  3.  Неприятный, тяжелый

X9. По форме ножка встречается (рис.7.):

  1.  клубневидная;
  2.  цилиндрическая;
  3.  утолщенная книзу;
  4.   суженная книзу

Рис.7. Форма ножки

X10. Поверхность ножки бывает:

  1.  гладкая, ровная
  2.  покрытая сеточкой
  3.  покрытая чешуйками
  4.  с мучнистым налетом
  5.  сухая
  6.  матовая

X11. По цвету ножки грибов бывают:

  1.  белая
  2.  красная
  3.  оранжевая, рыжая, кирпичный
  4.  коричневая
  5.  бурая
  6.  желтая
  7.  серая
  8.  розовая
  9.  зеленоватая

X12. На ножках некоторых грибов есть остаток частного покрывала («юбочка» или «кольцо» ( Рис.8.)):

  1.  есть
  2.  нет

X13. Внизу ножки некоторых грибов есть мешковидное утолщение («горшочек» (Рис.8)):

  1.  есть
  2.  нет

Рис.8. а - остаток частного покрывала («кольцо» или «юбочка»); б - мешковидное утолщение («горшочек»).

X14. Тип леса, где найден гриб:

  1.  еловый, сосновый
  2.  смешанный
  3.  лиственный, березовый
  4.  луг, парк, сад
  5.  на вырубках, пнях, стволах и корнях деревьев

После того как все основные признаки указаны, зададим каждому виду гриба свой идентификационный номер.

Выходные параметры:

Y1 – вид гриба:

  1.  Подберезовик
  2.  Лисичка
  3.  Опёнок  осенний
  4.  Шампиньон обыкновенный
  5.  Рыжик
  6.  Подосиновик
  7.  Сыроежка 
  8.  Масленок
  9.  Бледная поганка
  10.  Желчный гриб
  11.  Перечный масленок
  12.  Ложный опёнок
  13.  Мухомор
  14.  Сатанинский гриб
  15.  Белый гриб, боровик
  16.  Груздь
  17.  Волнушка

Ниже приведены данные обучающей (таблица 1) и тестируемой выборки (таблица 2), которые не входили в процесс обучения, и на основе которых  мы можем понять, насколько точно обучилась сеть.

Таблица 1

Обучающая выборка (30 примеров из 461 примеров)

X1

X2

X3

X4

X5

X6

X7

X8

X9

X10

X11

X12

X13

X14

Y1

1

4

4

1

1

1

3

1

2

3

4

2

2

3

1

1

4

5

1

1

1

3

1

2

3

4

2

2

3

1

2

5

8

1

1

2

2

1

4

1

6

2

2

1

2

2

1

2

1

4

1

3

1

3

3

4

1

2

5

3

2

5

2

1

4

1

3

1

3

3

4

1

2

5

3

2

2

3

8

8

1

1

1

2

1

1

1

2

4

4

2

4

3

4

8

1

1

1

2

1

1

1

2

4

4

2

3

8

6

1

2

1

1

2

1

3

2

2

1

5

2

8

8

6

1

2

1

1

2

1

3

2

2

1

5

1

6

5

6

6

1

1

1

2

5

1

2

2

2

6

1

6

5

7

1

1

1

1

2

5

1

2

2

2

6

2

1

6

1

1

1

2

2

2

1

1

2

2

1

7

2

1

6

1

1

1

2

2

2

1

1

2

2

2

7

1

5

5

5

3

2

1

1

2

4

1

1

2

2

8

1

5

5

5

3

2

1

1

2

4

6

1

2

1

8

2

1

1

1

5

1

3

3

3

1

1

1

1

2

9

2

1

1

1

5

1

3

3

3

1

1

1

1

3

9

1

2

4

7

8

1

1

3

2

2

4

2

2

3

10

1

2

4

7

8

1

1

3

2

2

5

2

2

1

10

1

3

5

5

1

2

2

2

2

1

3

2

2

1

11

1

3

5

5

1

2

2

2

2

1

6

2

2

1

11

2

7

2

3

4

2

3

3

3

3

4

2

2

5

12

2

1

5

6

4

1

3

2

3

1

1

2

2

1

13

1

3

5

3

5

1

1

2

1

2

3

2

2

3

14

1

3

5

3

5

2

1

2

1

2

2

2

2

3

14

1

1

3

5

1

1

3

1

1

2

1

2

2

1

15

1

1

3

5

1

1

3

1

1

2

1

2

2

3

15

2

1

8

4

2

1

2

1

2

1

1

2

2

3

16

2

1

8

4

2

1

2

1

2

1

6

2

2

2

16

2

1

7

8

5

1

3

2

2

6

1

2

2

3

17

Таблица 2

Тестирующая выборка (17 примеров)

X1

X2

X3

X4

X5

X6

X7

X8

X9

X10

X11

X12

X13

X14

Y

1

6

5

5

1

1

3

1

2

3

4

2

2

3

1

2

5

8

1

1

2

2

1

4

1

6

2

2

2

2

2

5

2

5

4

1

3

1

3

3

4

1

2

5

3

2

4

3

8

8

1

1

1

2

1

1

1

2

4

4

2

8

8

6

3

2

1

1

2

1

3

2

2

1

5

1

6

5

7

6

1

1

1

2

5

1

2

2

2

6

2

2

7

8

8

1

2

2

2

1

1

2

2

2

7

1

5

5

5

3

2

1

1

2

4

6

1

2

2

8

2

1

1

4

7

1

3

3

3

1

9

1

1

3

9

1

2

4

7

8

1

1

3

2

2

5

2

2

3

10

1

3

7

6

2

2

2

2

4

4

6

2

2

1

11

2

7

2

7

4

2

3

3

3

3

4

2

2

5

12

2

1

7

7

4

1

3

2

3

1

1

2

2

3

13

1

3

5

3

5

2

1

2

1

2

3

2

2

3

14

1

7

4

7

5

1

3

1

2

2

1

2

2

3

1

2

1

8

4

2

1

2

1

2

1

6

2

2

3

16

2

2

7

8

5

1

3

2

2

6

8

2

2

3

17

2.2. Обучение персептрона

Переходим к работе с Нейросимулятором, который был создан студентом 5 курса механико-математического факультета ПГУ, Черепановым Ф. М. Для обучения использовалась выборка из 461 примера, для тестирования использовалась выборка из 17 примеров. В качестве алгоритма обучения был использован алгоритм обратного распространения ошибки.

Для начала укажем общие параметры сети:

  1.  Задаем количество входных нейронов по количеству признаков, 14 штук.
  2.  Скрытых слоев указываем 1.
  3.  На выходе у нас только один нейрон, показывающий близость к тому или иному виду.

Рис.9. Проектирование сети

Далее переходим на вкладку обучение и вставляем данные обучающей выборки.

Рисунок 10. Обучение

При проведении обучения выдается следующий график ошибок сети.

Рис.11. Ошибка обучения сети

При проектировании персептронов необходимо понимать, что персептрон должен не только правильно реагировать на примеры, на которых он обучен, но и уметь обобщать приобретенные знания, т.е. правильно реагировать на примеры, которых в обучающей выборке не было. Погрешность персептрона, вычисленная на обучающей выборке называется погрешностью обучения, обозначаемой, а вычисленная на тестовой выборке- погрешностью обобщения, обозначаемой T. При увеличении числа нейронов внутреннего слоя персептрона N погрешность обучения обычно падает, тогда как погрешность обобщения   сначала падает, а затем, начиная с некоторого оптимального значения N=N0, возрастает [7].

Кривые зависимости погрешностей обучения и обобщения от числа нейронов внутренних слоев персептрона приведены на рисунке 12.

Рис.12. Зависимости погрешности обучения и погрешности обобщения от числа нейронов внутренних слоев персептрона.

Как видно из графика (рис.12) Nопт равняется 7 нейронам. Следовательно, именно такое число нейронов на внутреннем слое будет использоваться при определении вида гриба. Максимальная ошибка при таком количестве нейронов равна 0,008995.

Значимость параметров обобщения и обучения представлены на рисунке 13.

Рис.13. Значимость параметров обобщения и обучения

Синим цветом показана ошибка обучения, а красным – ошибка обобщения.

Таким образом, из приведенного выше графика видно, что для обучения наиболее значимыми входными параметрами являются такие параметры, как «тип гименофора», «форма шляпки», «запах мякоти», «поверхность ножки», «наличие остатка частного покрывала («юбочки» или «кольца»)». Для обобщения наиболее значимыми параметрами являются: «тип гименофора», «форма шляпки», «поверхность шляпки», «поверхность ножки», «цвет ножки грибов», «наличие остатка частного покрывала («юбочки» или «кольца»)».  

2.3. Анализ полученных результатов

        Для того, чтобы понять, как Нейросимулятор отреагирует на новые параметры, переходим во вкладку вычисления и запрашиваем тестирующие примеры с данными о каждом виде грибов, которых не было в обучающей выборке. Вычислим их. Вычисления тестовой выборки представлены на рисунке 14.

Рис.14. Вычисления тестовой выборки

Анализируя работу персептрона и полученные результаты можно сделать вывод, что персептрон выдал значения близкие к практическим (таблица 3). С небольшой погрешностью определил вид каждого гриба.

Для того, чтобы наглядно продемонстрировать это утверждение, на рисунке 15  покажем соотношение между практическими и прогнозируемыми значениями.

Таблица 3

Вычисления тестовой выборки

Практическое значение

Прогнозируемое на тестовых примерах значение

1

1

1,0301

2

2

1,6102

3

3

3,0142

4

4

4,0183

5

5

5,0108

6

6

6,0042

7

7

7,0154

8

8

7,9940

9

9

9,0563

10

10

10,0065

11

11

11,0064

12

12

12,0259

13

13

12,9833

14

14

14,0230

15

15

14,0060

16

16

16,0194

17

17

16,8637

Рис.15. Соотношение между практическими и прогнозируемыми значениями

Заключение

Нейросеть представляет собой набор специальных математических функций с множеством параметров, которые настраиваются в процессе обучения на прошлых данных. В основе нейронных сетей лежит поведенческий подход к решению задачи, сеть учится на примерах, подстраивая свои параметры при помощи специальных обучающих алгоритмов. Нейрокомпьютеры дают стандартный способ решения многих нестандартных задач. Одно из важнейших свойств нейронной сети— ее способность к самоорганизации, самоадаптации с целью улучшения качества функционирования. Эта цель достигается путем обучения сети, алгоритм задается набором правил. Обучающие правила определяют, каким образом изменяются связи в ответ на входное воздействие. Нейрокомпьютеры особенно эффективны там, где нужно подобие человеческой интуиции - для распознавания образов (узнавания лиц, чтения рукописных текстов), перевода с одного естественного языка на другой и т.п. Именно для таких задач обычно трудно найти алгоритм.

Сегодня на рынке программного обеспечения есть много различных нейросимуляторов. В своей работе для определения внешнего вида ребенка я использовала Нейросимулятор 2.0. Для обучения сети использовался метод обратного распространения (Back Propagation). Обучив нейросеть с помощью обучающей выборки и проверив её работу с помощью тестирующей выборки, я убедилась, что персептрон смог решить поставленную перед ним задачу. Подав на вход персептрона сигналы, которых не было в обучающей выборке, на выходе мы получили адекватные результаты, то есть соответствующие действительности. Другими словами, применение нейросетевых технологий в выбранной области можно считать эффективным. Проведенная работа показывает, что применение нейросетевых технологий поможет более точно и быстро определять вид съедобных и ядовитых грибов.

Оценив значимость входных параметров, я пришла к выводу, что использования нейросимулятора для определения вида грибов может оказаться не эффективным в случае некорректного определения наиболее значимых для сети входных параметров (внешних признаков гриба). А так как в лесах растут ядовитые грибы-«двойники», отличающиеся от съедобных по 1 или 2 внешним признакам, то при неточном описании таких грибов нейросеть может дать большую погрешность. В дальнейшей работе над этой проблемой можно попробовать расширить входные параметры (внешние признаки грибов) и использовать более мощные нейросети.

Список использованных источников и литературы

  1.  Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. – СПб:Питер, 2000. – 384 с.
  2.  Люгер Дж.Ф. Искусственный интеллект: стратегии и методы решения сложных проблем. – М.:Изд. дом «Вильямс», 2003. – 864 с.
  3.  Семьянов В.Б. За грибами. –Харьков, 1990. – 56с.
  4.  Уоссермен. Нейрокомпьютерная техника: теория и практика.
  5.  Хайкин С. Нейронные сети. Издательство «Вильямс», 2005.-1104 с.
  6.  Шкараба Е.М. «Грибы Прикамья»: Определитель-справочник: учебное пособие/ Шкараба Е.М.-Пермь.Кн Мир.
  7.  Ясницкий Л.Н. Введение в искусственный интеллект: Учеб. пособие для студ. высш. учеб. заведений, М.: Издательский центр «Академия», 2005.-176 с.
  8.  www.artint.ru - Российский НИИ Искусственного интеллекта;
  9.  http://offline.computerra.ru/2002/445/18040/ - Нейросимуляция;
  10.  http://chat.ru/~officier/161.htm - Краткое Введение в искусственные нейронные сети;
  11.  www.grib.forest.ru – справочник и описание грибов;
  12.  www.wikipedia.org  - справочник и описание грибов;


 

А также другие работы, которые могут Вас заинтересовать

55008. Сім подорожей по Черкащині 5.22 MB
  Черкаси Головне місто області її адміністративний промисловий і культурний центр знаходиться на правому мальовничому березі Дніпра у верхній частині Кременчуцького водосховища найбільшого на усьому дніпровському водному каскаді. Місто росло й розвивалось.
55009. Вчора – дошколярики, а завтра – школярі 56.5 KB
  Мета: виявити обсяг знань дітей про звуковий склад слова, уміння ділити слова на склади, пригадувати слова із заданим звуком на початку, в середині і в кінці слова; поскладове читання;...
55010. Як здійснити подвиг. Астрід Ліндгрен «Пеппі Довгапанчоха» (розділ «Пеппі стає рятівницею») 62.5 KB
  Мета: вчити учнів розуміти зміст понять героїчний учинок подвиг; розвивати критичне мислення учнів їхню емоційну сферу уміння аналізувати твір оцінювати вчинки робити висновки; виховувати почуття небайдужості активну життєву позицію готовність до героїчних учинків.
55011. Сохраним память про подвиг 5.26 MB
  ЦЕЛЬ: рассмотреть основной ход событий Великой отечественной войны; охарактеризовать роль и вклад украинского народа в борьбе с фашистскими захватчиками, определить основные последствия Великой отечественной войны для нашего государства...
55012. Влияние инвестиций на национальный объем производства. Мультипликатор инвестиций 43.97 KB
  Инвестиции – важный фактор экономического развития. При этом они подвержены действию особого мультипликационного механизма, умножающего их воздействие на рост валового национального продукта (ВНП).
55013. Похідна та її застосування 844 KB
  Мета уроку: навчальна мета: перевірити узагальнити систематизувати поглибити знання вміння навички учнів з теми; повторити та удосконалити знання правил і формул диференціювання елементарних функцій...
55014. Похідна як швидкість. Розв’язання задач прикладного характеру з застосуванням похідної. Похідна в математиці та фізиці 126.5 KB
  Мета уроку: Розкрити технологію розв’язання текстових фізичних задач із застосуванням похідної, дати уявлення про похідну як швидкість; систематизувати та поглибити теоретичні знання учнів; орієнтувати учнів на виявлення та вивчення багатогранності зв’язків між фізичними та математичними поняттями...
55015. Доба героїчних походів козаків. Петро Конашевич-Сагайдачний 102.5 KB
  Мета: розглянути напрями морських походів козаків; охарактеризувати діяльність гетьмана П.Актуалізація опорних знань учнів: фронтальна бесіда: Про кого ми вивчаємо у 8класіпро козаків; Хто такі козаки Які причини виникнення козацтва...
55016. Морські походи козаків. Гетьман П.Сагайдачний. Участь українського козацтва у Хотинській війні 74 KB
  Мета уроку: розкрити характерні особливості історії України першої половини ХVІІст. – «доби героїчних походів»; поглибити знання учнів про військове мистецтво українського козацтва; ознайомити учнів з військовою, суспільно-політичною та дипломатичною діяльністю видатного гетьмана Петра Конашевича-Сагайдачного...