Информационные системы в науке и производстве
Покупка
Издательство:
СКФУ
Составитель:
Немков Роман Михайлович
Год издания: 2020
Кол-во страниц: 258
Дополнительно
Пособие представляет лабораторный практикум, составленный в соответствии с рабочей программой. В нём содержатся основные технологии машинного обучения. Структурно каждая из работ состоит из краткого изложения теоретического материала, необходимого для ее выполнения, указаний по порядку выполнения работы, заданий для самостоятельного выполнения, контрольных вопросов и тестовых заданий. Предназначено для студентов магистров, обучающихся по направлению подготовки 09.04.02 Информационные системы и технологии, направленности (профилю) «Информационные системы в науке и производстве».
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
МИНИCTEPCTBO НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «СЕВЕРО-КАВКАЗСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ» ИНФОРМАЦИОННЫЕ СИСТЕМЫ В НАУКЕ И ПРОИЗВОДСТВЕ УЧЕБНОЕ ПОСОБИЕ (ЛАБОРАТОРНЫЙ ПРАКТИКУМ) Направление подготовки 09.04.02 Информационные системы и технологии Направленность (профиль) «Информационные системы в науке и производстве» Квалификация выпускника – магистр Ставрополь 2020
УДК 004.7 (075.8) ББК 32.973.202 я73 И 74 Печатается по решению редакционно-издательского совета Северо-Кавказского федерального университета Рецензенты: канд. пед. наук, доцент З. М. Альбекова д-р техн. наук, профессор, зам. директора Н. В. Кандаурова (филиал РТУ МИРЭА в г. Ставрополе) И 74 Информационные системы в науке и производстве: учебное пособие (лабораторный практикум) / авт.-сост. Р. М. Немков. – Ставрополь: Изд-во СКФУ, 2020. – 258 с. Пособие представляет лабораторный практикум, составлен ный в соответствии с рабочей программой. В нём содержатся основные технологии машинного обучения. Структурно каждая из работ состоит из краткого изложения теоретического материала, необходимого для ее выполнения, указаний по порядку выполнения работы, заданий для самостоятельного выполнения, контрольных вопросов и тестовых заданий. Предназначено для студентов магистров, обучающихся по направлению подготовки 09.04.02 Информационные системы и технологии, направленности (профилю) «Информационные системы в науке и производстве». УДК 004.7 (075.8) ББК 32.973.202 я73 Автор-составитель канд. техн. наук, доцент Р. М. Немков ©ФГАОУ ВО «Северо-Кавказский федеральный университет», 2020
ПРЕДИСЛОВИЕ Matlab – одно из самых распространённых средств для машин ного обучения и распознавания образов наряду с Python. Важно, чтобы учащиеся умели строить необходимые алгоритмы в данной среде, а также создавать простейшие интерфейсы для более дружелюбного использования написанного кода. Целью освоения дисциплины «Информационные системы в науке и производстве» является подготовка специалистов в области создания информационных систем, включающих этап распознавания образов и машинного обучения. Целью курса является также рассмотрение различных методов распознавания образов, изучение программированию в Matlab, а также встраивания готового решения в приложение, написанное на языке высокого уровня. В задачи дисциплины входит формирование таких качеств: 1) интеллектуальная любознательность, способность посто янно учиться новому; 2) способность видеть целое даже при наличии множества де талей; 3) способность выделять общесистемные связи и закономер ности; Для успешного освоения дисциплины «Инфрмационные си стемы в науке и производстве» студенты используют знания, умения, навыки, сформированные в процессе изучения смежных дисциплин: «Математическое обеспечение систем поддержки принятия решений», «Методы исследования и моделирования информационных процессов и технологий», «Мультимедиа технологии в профессиональной деятельности», «Анализ систем обработки документации», «Анализ систем электронного документооборота». Освоение данной дисциплины является необходимой основой для последующего изучения смежных дисциплин: «Выполнение выпускной квалификационной работы», «Организационно-управленческая практика». В ходе изучения дисциплины у студентов должны быть сфор мированы следующие компетенции: ПК-2 – способен разрабатывать и исследовать теоретические и экспериментальные модели объектов профессиональной деятельности в различных областях;
ОПК-2 – способен разрабатывать оригинальные алгоритмы и программные средства для решения профессиональных задач, в том числе с использованием современных интеллектуальных технологий. В процессе формирования этих компетенций должны быть получены соответствующие знания, умения, навыки и (или) опыт деятельности, характеризующие этапы формирования компетенции ПК-2, ОПК-2. Этапы формирования компетенции ПК-2 имеют вид: знать основы построения моделей для различных областей, а также их описания; уметь строить информационную и математическую модель для решения поставленной задачи; владеть программами, позволяющими строить информаци онные модели на одном из псевдоязыков (например, – UML). Этапы формирования компетенции ОПК-2 имеют вид: знать основы теории алгоритмов, функционирование про грамм в операционной системе Windows, язык программирования высокого уровня, методы отладки программ; уметь программировать, осуществлять отладку программы, проводить декомпозицию задачи на подпрограммы; владеть утилитами и программами для разработки информа ционных моделей в науке и производстве. В пособии предложены 9 тем лабораторных работ, в которых рассматриваются основные технологии машинного обучения и их применение с использованием среды Matlab.
Лабораторная работа 1 ПОСТРОЕНИЕ ПРОСТЕЙШЕЙ НЕЙРОННОЙ СЕТИ, ОТРАЖАЮЩЕЙ ЧАСТНЫЕ РЕАКЦИИ ЖИВОТНЫХ НА ВНЕШНИЕ ВОЗДЕЙСТВИЯ Цель – знакомство с общим принципом функционирования био логических нейронных сетей. Знания, умения и владения, приобретаемые обучающимися в результате освоения темы, в рамках формируемых компетенций: Знает: Основы теории алгоритмов, функционирование программ в операционной системе Windows, язык программирования высокого уровня, методы отладки программ; возможности библиотек глубокого обучения. методологию разработки информационных систем на базе искусственных нейронных сетей; технологию использования современных средств для создания глубоких нейросетевых моделей; Умеет: Программировать, осуществлять отладку программы, про водить декомпозицию задачи на подпрограммы; использовать средства распараллеливания для глубоких моделей; реализовывать вычислительный эксперимент с использованием интеллектуальных моделей. Владеет: Утилитами и программами для разработки информацион ных моделей в науке и производстве; языками высокого уровня, упрощающих работу с машинными обучением; навыками проектирования и тюнинга искусственных нейронных сетей. Теоретическая часть Общие положения нейронных сетей. Вся современная теория нейронных сетей (биологических и искусственных) основана на принципах детерминизма. Это означает, что для всякой реакции можно найти причины в прошлом, т.е. всякую реакцию можно объяснить исходя из причин в природе. Математические модели искусственных нейронных сетей укладываются в философское направление, называемое бихевиоризмом (англ., behavior - поведение). Суть этого направление сводится к тому, что проблема сознания (в широком смысле) опускается, а живое существо, допустим, крыса рассматривается в качестве «черного ящика», где известны входные воздействия и выходные реакции. Ткнули палкой – крыса запищала; положили сыр перед крысой, она съела. При этом психическая жизнь крысы: желания, возможная субъектность крысы и т.д., – не рассматриваются.
Общий принцип такой схемы представлен на рис. 1.1. Рисунок 1.1. Общая модель функционирования нервной системы при бихевиоризме Совокупность входных воздействий и выходных реакций те перь и описывает крысу. Возникает вопрос: “С помощью какого математического ап парата моделировать «Черный ящик»?” Ответ на этот вопрос зависит от сложности задачи. Если память не требуется, то, по сути, мы имеем функциональную зависимость той или иной степени сложности, а значит подойдёт любой математический аппарат, который способен аппроксимировать функции: полиномы, искусственные нейронные сети и т.д. Если память важна, то требуется подключить теорию автоматов или пластичные модели нейронных сетей. Наличие памяти позволят по-разному реагировать на одно и тоже входное воздействие. Допустим, для функции y=x2 не имеет значения история подачи переменной x. Но подобными функциями нельзя смоделировать реакцию отца, когда сын приносит двойку из школы. Эта реакция будет в целом различной при ситуации, когда сын получил двойку в первый раз, или в десятый. В настоящей лабораторной работе будут рассматриваться только простейшие функциональные зависимости, не требующие памяти. Функциональную зависимость будем моделировать с помощью функции, выраженной графом. Входные воздействия принимаются нейронами-рецепторами следующих видов: фоторецепторы (обеспечивают работу органов зрения), механорецепторы (реагирующие на механические воздействия. Такие рецепторы есть в ушах, в мышцах, во внутренних органах), хеморецепторы (реагируют на химические вещества; на них основана работа органов вкуса и обоняния), терморецепторы (реагируют на градации температуры), электрорецепторы (редкий вид рецепторов, встречающийся у некоторых рыб). Другие типы не понадобятся. Выходные воздействия моделируются специальными мото нейронами, которые управляют теми или иными мышцами, чтобы
была внешняя реакция живого существа. В промежутке между рецепторами и мотонейронами есть интернейроны, т.е. вставочные нейроны, активирующиеся, когда входные воздействия в сумме превысят некий порог (настраиваемая величина). Имеются также спонтанно-активные нейроны, которые возбуждаются всё время сами по себе без всяких воздействий извне. Когда нейрон возбуждается, он передаёт другим нейронам либо тормозное воздействие, либо активирующее, но один и тот же нейрон не может быть одновременно тормозным и активирующим / возбуждающим. Разбор примера составления нейронной сети. Рассмотрим задачу. Известно, что бабочка-крапивница предпочитает температуру 36°С. Если на улице холодно и солнце не светит, бабочка сидит с закрытыми крыльями. Если холодно, но светит солнце, бабочка открывает крылья. Но, как только температура достигнет 36°С, бабочка складывает крылья. Необходимо нарисовать схему соединения нейронов, которая обеспечивала бы такое поведение бабочки. Необходимы этапы решения задачи. Этап I. Выбор необходимых рецепторов и эффекторов, т.е. входа и выхода. Выход будет обеспечиваться двумя мотонейронами: один бу дет опускать крылья (МНо), другой – поднимать (МНп). Мотонейрона два, а не один, т.к. нейрон работает по пороговому принципу: если сумма входных воздействий превышает порог, то такой нейрон активируется, т.е. посылает сигнал другому нейрону. Такая схема не может обеспечить один и тот же нейрон разными функциями поднятия и опускания. Выбор рецепторов. Так как речь идёт о температуре тела ба бочки, то будет два терморецептора: один срабатывает, когда холодно (бабочки), другой – когда тепло. А также потребуется один рецептор, который активируется, когда светло. Допустим, это будет хеморецептор. Таким образом, имеем: МНо – опустить крылья, МНп – поднять крылья, Т – тепло, Х – холодно, С – светло. Этап II. Соединяем вход и выход с помощью тормозных и возбуждающих связей. Пусть возбуждающая связь обозначается линией с ромбом на конце, а тормозная – линией с кружком на конце. В реальности
ромб и кружок – это возбуждающий и тормозной синапс. По условию задачи, крылья при свете раскрываются, поэтому соединим световой рецептор с МНо возбуждающим синапсом, рис. 1.2. Рисунок 1.2. Первый этап соединения входа и выхода Когда температура поднимается выше 36°С, и заработает теп ловой рецептор, крылья должны закрыться. Значит надо соединить рецептор Т с МНп возбуждающей связью, рис. 1.3. Рисунок 1.3. Второй этап соединения входа с выходом Мышцу антагониста (опускатель крыла) надо при этом затор мозить; для этого надо соединить тепловой рецептор с МНо тормозной связью. Но один и тот же нейрон, как отмечалось выше, не может быть одновременно и возбуждающим и тормозным, поэтому для создания торможения надо поместить в линию, ведущую от Т к МНо, тормозной вставочный нейрон (интернейрон), рис.1.4.
Рисунок 1.4. Третий этап соединения входа с выходом Теперь, если будет и светло и тепло, МНо не будет работать, так как на него приходят равные по величине, но противоположные по знаку сигналы, которые не доведут его до порога. Если у нейрона на выходе или вставочного нейрона не указан порог, то он автоматически предполагается равным 1. Тормозная связь имеет вес равный -1, а возбуждающая +1. Если на улице холодно и нет солнца, то, по условию задачи, крылья должны быть закрыты. Теперь необходимо использовать холодовой рецептор. Его надо соединить с МНп возбуждающей связью. Но в ситуации «холодно и светло» эта связь не должна работать, иначе она помешает опустить крылья. Итак, эта связь не должна работать, когда светит солнце (Так как мы не имеем рецептора, который бы отмечал темноту, антагонист для С, то приходиться выключать связь от Х к МНп, когда есть солнце). В схему придётся ввести ещё один интернейрон, который будет выключать эту линию, когда светит солнце, рис. 1.5. Рисунок 1.5. Окончательный вариант нейронной сети, решающей задачу
Этап III. Проверка сети. Чтобы убедиться, что сеть работает правильно, нужно прове рить выходные реакции сети на все возможные осмысленные входы. В этой задаче 3 входа, следовательно будет 23-1 (-1, т.к. не рассматривается пустой набор) входных набора-кортежа: <С>, <Т>, <Х>, <С, Т>, <С, Х>, <Т, Х>, <С, Т, Х>. Однако не все они осмысленные (<Т, Х>, <С, Т, Х>, – противоречие «тепло-холодно»), не обо всех говорится прямо в условии задачи (<C>, <Х>). Если будет светло, то по схеме на рисунке 1.5 бабочка опустит крылья, т.е. раскроется. Если будет просто холодно, а сигнал от С не придёт, то бабочка поднимет крылья. Однако, понятно, что подобные задачи можно решать разны ми способами. На рисунке 1.6 представлена ещё одна схема решения, которая менее правдоподобна, но, тем не менее, – правильна. Рисунок 1.6. Другой вариант нейронной сети, решающей задачу с бабочкой Данный вариант получается, если заметить, что бабочка в двух случаях поднимает крылья и только в одном опускает. Следователь, опускание крыльев можно сделать как исключительный вариант из цепочки бесконечных поднятий крыльев. Нейронная сеть для обработки этого исключительного варианта на рисунке 1.6 обведена пунктирным овалом. Интернейрон, связанный с Х и С имеет порог 2 и не активируется, если придёт сигнал только от холода (+1) или только от света (+1). СА – спонтанно-активный нейрон (активируется всё время). Разумеется, вторая схема с биологической точки зрения менее вероятна, но она тоже удовлетворяет условию задачи. Кстати,