- •Практическое занятие № 5 «Динамические и частотные характеристики сау бтс.»
- •Последовательность выполнения работы
- •Краткая теория
- •Построение автомата Мили
- •Построение автомата Мура
- •2.2. Порядок выполнения работы
- •Порядок выполнения работы
- •Если компонента плана, определяемая k-м уравнением системы ограничений, нецелочисленна, то, согласно методу Гомори, добавляется ограничение:
- •Критерию оптимальности отвечает следующее условие:
- •Список литературы
- •Практическая работа по теоретической кибернетике №12 Искусственные нейронные сети (пакеты прикладных программ)
- •Контрольные вопросы
- •Что представляют собой активные сппр?
- •Практическая работа №13 Сравнительный анализ информационных порталов, посвященных системам автоматического управления в медицине
- •Краткие теоретические сведенья
- •Сайты лечебно-профилактических учреждений
- •Сайты подведомственных лпу
- •Управление сайтами лпу (контроллер сайтов)
- •Сравнительная характеристика порталов, связанных с сау в медицине
- •Индивидуальное задание
- •Контрольные вопросы
- •Медицинская Информационная Система (мис) является:
- •7. Одним из преимуществ сайтов лпу, размещенные на единой системе управления сайтом является:
- •8. Контроллер обеспечивает (выберите ответ, содержащий ошибочное утверждение):
Контрольные вопросы
Что представляют собой системы поддержки принятия решений? Для чего предназначены?
Какие задачи решают СППР?
Какие виды СППР выделяют, рассматривая их возможности при взаимодействии с пользователем?
Что представляет собой архитектурно-технологическая схема СППР? Из каких структурных единиц она состоит?
Какую проблему решает создание отдельного хранилища данных (ХД)?
Какой постулат лежит в основе концепции оперативной аналитической обработки (OLAP)?
Из каких стадий состоит процесс интеллектуального анализа данных (ИАД)?
Каковы основные теоретические выкладки из симплекс-метода? Опишите критерии, характеризующие данные, полученные в результате использования данного метода.
Что представляет собой прямой алгоритм симплексного метода?
В чём состоит особенность метода Гомори?
Что представляют собой активные сппр?
а) Системы, которые не выдвигают конкретного предложения, но осуществляют помощь в процессе принятия решений;
б) Такие системы, которые непосредственно участвуют в разработке решения;
в) Системы, которые связываются с пользователем, выдвигая предложения до тех пор, пока оно не будет принято пользователем.
Если компонента плана, определяемая k-м уравнением системы ограничений, нецелочисленна, то, согласно методу Гомори, добавляется ограничение:
а)
б)
в)
г)
Критерию оптимальности отвечает следующее условие:
а) Dk < 0;
б) Zjk >0;
в) Dkі=0,
г) Dk < 0, все Zjk=Ј0.
Список литературы
Тынкевич М.А. «Экономико-математические методы (исследование операций)», издание 2-е, исправленное и дополненное, Кемерово, 2007г.
Конюховский П.В. «Математические методы исследования операций в экономике», СПб.: Питер, 2008г.
Дегтярев Ю.И. «Исследование операций», М.: Высшая школа, 2009 г.
Ануфриев И.Е., Смирнов А.Б., Смирнова Е.Н. «MATLAB 7», СПб.: БХВ-Петерберг, 2005г.
Дъяконов В. «MATLAB 6: Учебный курс», СПб.: Питер, 2010г.
Кривко О.Б. Информационные технологии. М.: СОМИНТЭК. 2001
Терелянский, П. В. Системы поддержки принятия решений. Опыт проектирования : монография / П. В. Терелянский ; ВолгГТУ. — Волгоград, 2009. — 127 с
Практическая работа по теоретической кибернетике №12 Искусственные нейронные сети (пакеты прикладных программ)
Цель работы: изучение архитектуры искусственных нейронных сетей, способов их графического изображения в виде функциональных и структурных схем и программного представления в виде объектов специального класса network, включающих массив структур с атрибутами сети и набор необходимых методов для создания, инициализации, обучения, моделирования и визуализации сети, а также приобретение навыков построения сетей различной архитектуры с помощью инструментального программного пакета Neural Network Toolbox системы MATLAB.
Теоретическая часть:
Искусственные нейронные сети основаны на весьма простой биологической модели нервной системы, состоящей из огромного числа (1011) нейронов, каждый из которых принимает взвешенную сумму входных сигналов и при определенных условиях передает сигнал другим нейронам. Количество связей нейронов в системе достигает 1015.
Теория нейронных сетей возникла из исследований в области искусственного интеллекта и связана с попытками воспроизведения способности нервных биологических систем обучаться и исправлять ошибки, моделируя низкоуровневую структуру мозга. Исследования по созданию таких систем на основе высокоуровневого (символьного) моделирования процесса мышления не принесли желаемых результатов. Эта теория развивалась в течение последних шести десятилетий и за последние двадцать лет нашла широкое практическое применение: в космонавтике и аэронавтике – для имитации траекторий полета и построения систем автоматического пилотирования; в военном деле – для управления оружием и слежением за целями; в электронике – для разработки систем машинного зрения и синтеза речи; в медицине – для диагностики заболеваний и конструирования протезов; в производстве – для управления технологическими процессами, роботами и т. д. Такой успех нейронных сетей объясняется тем, что была создана необходимая элементная база для реализации нейронных сетей, а также разработаны мощные инструментальные средства для их моделирования в виде пакетов прикладных программ. К числу подобных пакетов относится пакет Neural Networks Toolbox (NNT) системы математического моделирования MATLAB 6 фирмы Math Works.
Пакет прикладных программ NNT содержит средства для построения нейронных сетей, базирующихся на поведении математического аналога нейрона. Пакет обеспечивает эффективную поддержку проектирования, обучения, анализа и моделирования множества известных типов сетей – от базовых моделей персептрона до самых современных ассоциативных и самоорганизующихся сетей. В пакете имеется более 15 таких типов. Для каждого типа архитектуры и обучающих правил имеются М-функции инициализации, обучения, адаптации, создания, моделирования, отображения, оценки и демонстрации, а также примеры применения. Обеспечена возможность генерации переносимого кода с помощью пакета Real Time Workshop, также входящего в систему MATLAB 6.
Модели искусственного нейрона
Элементарной ячейкой нейронной сети является нейрон. Структура нейрона с единственным скалярным входом показана на рис. 1,а.
а б
Рис. 1. Простой нейрон
Скалярный входной сигнал р умножается на скалярный весовой коэффициент w, и результирующий взвешенный вход w*p является аргументом функции активации нейрона, которая порождает скалярный выход а.
Нейрон, показанный на рис. 1,б, дополнен скалярным смещением b. Смещение суммируется со взвешенным входом w*p и приводит к сдвигу аргумента функции на величину b. Действие смещения можно свести к схеме взвешивания, если представить что нейрон имеет второй входной сигнал со значением, равным 1. Вход n функции активации нейрона по-прежнему остается скалярным и равным сумме взвешенного входа и смещения b. Эта сумма является аргументом функции активации f; выходом функции активации является сигнал а. Константы w и b являются скалярными параметрами нейрона. Основной принцип работы нейронной сети состоит в настройке параметров нейрона с тем, чтобы функционирование сети соответствовало некоторому желаемому поведению. Регулируя веса или параметры смещения, можно “научить” сеть выполнять конкретную работу; возможно также, что сеть сама будет корректировать свои параметры, чтобы достичь требуемого результата.
Уравнение нейрона со смещением имеет вид
a = f(w*p+b*l).
Как уже отмечалось, смещение b – настраиваемый скалярный параметр нейрона, который не является входом, а константа 1, которая управляет смещением, рассматривается как вход и может быть учте-на в виде линейной комбинации векторов входа
Функция активации
Функции активации (передаточные функции) нейрона могут иметь самый разнообразный вид. Функция активации f, как правило, принадлежит классу сигмоидальных функций с аргументом n и выходом а.
Ниже рассмотрены три наиболее распространенные функции активации.
Единичная функция активации с жестким ограничениям hardlim. Эта функция описывается соотношением а = hardlim(n) = 1(n) и показана на рис. 2. Она равна 0, если n < 0, и 1,если n >= 0.
Рис. 2. Функция активации hardlim
В состав пакета ППП Neural Network Toolbox входит М-функция hardlim, реализующая функцию активации с жесткими ограничениями.
Линейная функция активации purelin. Эта функция описывается соотношением а = purelin(n) = n и показана на рис. 3.
Рис. 3. Линейная функция активации purelin
Логистическая функция активации logsig. Эта функция описывается соотношением а = logsig(n) = 1/(1 + ехр(-n)) и показана на рис. 4. Она принадлежит к классу сигмоидальных функций, и ее аргумент может принимать любое значение в диапазоне от -∞ до +∞, а выход изменяется в диапазоне от 0 до 1. В пакете ППП Neural Network Toolbox она представлена М-функцией logsig. Благодаря свойству дифференцируемости эта функция часто используется в сетях с обучением на основе метода обратного распространения ошибки.
Рис. 4. Функция logsig
Символ в квадрате в правом верхнем углу графика характеризует функцию активации. Это изображение используется на структурных схемах нейронных сетей.
В пакет ППП Neural Network Toolbox включены и другие функции активации. Используя язык MATLAB, пользователь может создавать и свои собственные уникальные функции.
Нейрон с векторным входом
Нейрон с одним вектором входа р с R элементами показан на рис. 5. Здесь каждый элемент входа умножается на веса соответственно и взвешенные значения передаются на сумматор. Их сумма равна скалярному произведению вектора-строки W на вектор входа р.
Рис. 5. Функциональная схема нейрона
Нейрон имеет смещение b, которое суммируется со взвешенной суммой входов. Результирующая сумма n определяется как
и служит аргументом функции активации f. В нотации языка MATLAB это выражение записывается так:
n = W*p + b.
Структура нейрона, показанная на рис. 5, содержит много лишних деталей. При рассмотрении сетей, состоящих из большого числа нейронов, будет использоваться укрупненная структурная схема нейрона (рис. 6).
Вход нейрона изображается в виде темной вертикальной черты, под которой указывается количество элементов входа R. Размер вектора входа р указывается ниже символа р и равен Rxl. Вектор входа умножается на вектор-строку W длины R. Как и прежде, константа 1 рассматривается как вход, который умножается на скалярное смещение b. Входом n функции активации нейрона служит сумма смещения b и произведения W*p. Эта сумма преобразуется функцией активации f, на выходе которой получается выходная величина нейрона а, которая в данном случае является скалярной величиной. Структурная схема, приведенная на рис. 6, называется слоем сети. Слой характеризуется матрицей весов W, смещением b, операциями умножения W*p, суммирования и функцией активации f. Вектор входов р обычно не включается в характеристики слоя.
Рис. 6. Структурная схема нейрона
Каждый раз, когда используется сокращенное обозначение сети, размерность матриц указывается под именами векторно-матричных переменных. Эта система обозначений поясняет строение сети и связанную с ней матричную математику.
На укрупненной структурной схеме для обозначения типа функции активации применяются специальные графические символы; некоторые из них приведены на рис. 7, где а – ступенчатая; б – линейная; в – логистическая функция.
Рис. 3.7. Функции активации
Искусственные нейронные сети
Хотя отдельные нейроны и способны после некоторой процедуры обучения решать ряд задач искусственного интеллекта, все же для эффективного решения сложных задач по распознаванию образов, идентификации и классификации объектов, распознаванию и синтезу речи, оптимальному управлению применяют достаточно большие группы нейронов, образуя из них искусственные нейронные сети в виде связанных между собой слоёв, напоминающие биологические нейронные (нервные) сети человека и животных.
Существует множество способов организации искусственных нейронных сетей, которые могут содержать различное число слоёв нейронов. Нейроны могут быть связаны между собой как внутри отдельных слоёв, так и между слоями. В зависимости от направления передачи сигнала эти связи могут быть прямыми или обратными. Слой нейронов, непосредственно принимающий информацию из внешней среды, называется входным слоем, а слой, передающий информацию во внешнею среду, – выходным слоем. Остальные слои, если они имеются в сети, называются промежуточными, или скрытыми. В ряде случаев такого функционального распределения слоёв сети не производится, так что входы и выходы могут присоединяться к любым слоям и иметь произвольное число компонент.
Структура, или архитектура сети искусственных нейронов зависит от той конкретной задачи, которую должна решать сеть. Она может быть однослойной без обратных связей или с обратными связями, двухслойной с прямыми связями, трехслойной с обратными связями и т. д. Сети с обратными связями называют часто рекуррентными.
Описание архитектуры искусственной нейронной сети помимо указания числа слоёв и связей между ними должно включать сведения о количестве нейронов в каждом слое, виде функций активации в каждом слое, наличии смещений для каждого слоя, наличии компонент входных, выходных и целевых векторов, а в ряде случаев и характеристики топологии слоёв. Например, для аппроксимации любой функции с конечным числом точек разрыва широко используется сеть с прямой передачей сигналов. В этой сети имеется несколько слоёв с сигмоидальными функциями активации. Выходной слой содержит нейроны с линейными функциями активации. Данная сеть не имеет обратных связей, поэтому её называют сетью с прямой передачей сигналов (FF-net).
Графически искусственная нейронная сеть изображается в виде функциональной или структурой схемы. На функциональной схеме сети с помощью геометрических фигур изображаются её функциональные блоки, а стрелками показываются входы, выходы и связи. В блоках и на стрелках указываются необходимые обозначения и параметры.
Структурная схема сети изображается с помощью типового набора блоков, соединительных элементов и обозначений, принятых в инструментальном программном пакете Neural Network Toolbox системы MATLAB и пакете имитационного моделирования Simulink той же системы. Структурная схема сети может быть укрупнённой или детальной, причём степень детализации определяется пользователем. Системы обозначений блоков, элементов и параметров сети является векторно-матричной, принятой в системе MATLAB. Если в обозначении используется два индекса, то, как правило, первый индекс (индекс строки) указывает адресата, или пункт назначения, а второй индекс (индекс столбца) – источник структурной схемы сети. Структурные схемы создаются системой автоматически с помощью команды gensim. Если элементом вектора или матрицы на структурной схеме является сложный объект, то используются соответственно ячейка и массив ячеек.
Программным представлением, или вычислительной моделью искусственной нейронный сети, является объект специального класса network, который включает массив структур с атрибутами сети и набор методов, необходимых для создания сети, а также для её инициализации, обучения, моделирования и визуализации. Класс Network имеет два общих конструктора, один из которых не имеет параметров и обеспечивает создание массива структур с нулевыми значениями полей, а второй – имеет минимальный набор параметров для создания модели нейронной сети, достраиваемой затем до нужной конфигурации с помощью операторов присваивания. Для создания нейронных сетей определённого вида используются специальные конструкторы.
Практическая часть:
Создайте вычислительную модель нейронной сети с двумя выходами, тремя слоями и одним целевым входом, используя общий конструктор сети с параметрами
Net = network (numInputs, numLayers, biasConnect, imputConnect, layerConnect, outputConnect, tartegtConnect).
Связи между слоями должны быть только прямыми, входы необходимо соединить с первым слоем, а выход – с последним. Выход должен быть целевым, первый слой должен иметь смещения.
Смысл и значения параметров конструктора для создания модели сети заданной архитектуры таковы:
numImputs=2 – количество входов сети;
numLayers=3 – количество слоёв в сети;
biasConnect=[1; 0; 0] – матрица связности для смещений раз-мера numLayers * 1;
inputConnect=[1 1; 0 0; 0 0] – матрица связности для входов размера numLayers * numImputs;
layerConnect=[0 0 0;1 0 0 0 ; 0 1 0] – матрица связности для сло-ёв размера numLayers * numLayers;
outputConnect=[0 0 1] – матрица связности для выходов разме-ра 1* numLayers;
targetConnect=[0 0 1] – матрица связности для целей размера 1 * numLayers.
Порядок выполнения заданий следующий:
Создать шаблон сети, выполнив команду
net = network (2, 3, [1; 0; 0], [1 1; 0 0 ; 0 0], …. ,
[0 0 0 ; 1 0 0 ; 0 1 0], [0 0 1])
2. Проверить значения полей вычислительной модели нейронной сети net и их соответствие заданным значениям в списке параметров.
3. Проверить значения вычисляемых полей модели, которые дополняют описание архитектуры сети
numOutputs = 1 – количество выходов сети;
numTargets = 1 – количество целей сети;
numInputDelays = 0 – максимальное значение задержки для входов сети.
numLayersDelays = 0 – максимальное значение задержки для слоёв сети.
Заметим, что каждый выход и каждая цель присоединяются к одному или нескольким слоям при этом количество компонент выхода или цели равно количеству нейронов в соответствующем слое. Для увеличения возможности модели в сеть включают линии задержки либо на её входах, либо между слоями. Каждая линия задерживает сигнал на один такт. Параметры numInputDelays и NumLayerDelays определяют максимальное число линий для какого-либо входа или слоя соответственно.
4. Проанализировать структурную схему построенной сети, выполнив команду gensim(net) и детализируя блоки с помощью двойного щелчка левой клавиши мыши по рассматриваемому блоку. На структурных схемах искусственных нейронных сетей в пакете NNT используются следующие обозначения:
а) Neural Network – искусственная нейронная сеть с обозначениями входов p{1}, p{2}, … и выхода y{1};
б) входы Input1 , или p{1} и Input2 , или p{2};
в) дисплей y{1};
г) Layer 1, Layer 2, Layer 3, … слои нейронов с обозначениями входов p{1}, p{2], a{1}, a{2}, … и выходов a{1}, a{2}, a{3}, … , y{1};
д) TDL – линии задержки (Time Delay) с именами Delays1, Delays2, ..., которые обеспечивают задержку входных сигналов или сигналов между слоями нейронов на 1, 2, 3, … такта;
е) Weights – весовая матрица для входных сигналов или сигналов между слоями нейронов; размер матрицы весов для каждого вектора входа S.R, где S – число нейронов входного слоя, а R – число компонент вектора входа, умноженное на число задержек; размер матрицы для сигналов от слоя j к слою i равен S.R, где S – число нейронов в слое i, а R – число нейронов в слое j, умноженное на число задержек;
ж) dotprod – блок взвешивания входных сигналов и сигналов между слоями, на выходе которого получается сумма взвешенных, т. е. умноженных на соответствующие веса компонент сигнала;
з) mux – концентратор входных сигналов и сигналов между слоями, преобразует набор скалярных сигналов в вектор, а набор векторов в один вектор суммарной длины;
и) netsum – блок суммирования компонент для каждого нейрона слоя: компонент от нескольких векторов входа с учётом задержек, смещения и т. п.;
к) hardlim, purelin и т. д. – блоки функций активации;
л) pd{1, 1}, pd{1, 2}, ad{2, 1}, ... – сигналы после линий задержки (d - delay);
м) iz{1, 1}, iz{1, 2}, lz{2, 1}, lz{3, 2} – вектор-сигналы с выхода концентратора;
н) bias – блок весов смещений для слоя нейронов;
о) IW – массив ячеек с матрицами весов входов: IW{i, j} – матрицы для слоя i от входного вектора j;
п) LW – массив ячеек с матрицами весов для слоёв: LW{i, j} – матрицы для слоя i от слоя j.
5. Проанализировать все параметры каждого блока структурной схемы рассматриваемой нейронной сети и в случае необходимости обратиться к справочной системе пакета NNT.
6. Задать нулевые последовательности сигналов для входов
P = [0 0 ; 0 0]
и произвести моделирование сети
A = sim(net, P).
Задать диапазоны входных сигналов и весовые матрицы с помощью следующих присваиваний:
net.inputs{1}.range = [0 1];
net.inputs{2}.range = [0 1];
net.b{1}
= -
;
net.IW{1, 1} = [0.5];
net.IW{1, 2} = [0.5];
net.LW{2, 1} = [0.5];
net.LW{3, 2} = [0.5].
Исполнить команду gensim(net) и проверить параметры блока.
Вывести на экран поля вычислительной модели и их содержимое, используя функцию celldisp. Убедиться в правильности значений полей модели.
Промоделировать созданную статическую сеть, т. е. сеть без линий задержки, используя групповое и последовательное представление входных сигналов
PG = [0.5 1 ; 1 0.5];
PS = {[0.5 1] [1 0.5]};
AG = sim(net, PG);
AS = sim(net, PS).
Убедиться, что для статической сети групповое и последовательное представления входных сигналов дают один и тот же результат.
Дополнить архитектуру созданной нейронной сети линиями задержки для входных сигналов и для сигналов между 2-м и 3-м слоями, превратив таким образом статическую сеть в динамическую:
net.inputWeights{1, 1}.delays = [0 1];
net.inputWeights{1, 2}.delays = [0 1];
net.layerWeights{3, 2}.delays = [0 1 2].
Построить структурную схему динамической сети и выяснить смысл используемых операторов присваивания.
Скорректировать весовые матрицы:
net.IW{1, 1} = [0.5 0.5];
net.IW{1, 2} = [0.5 0.25];
net.LW{3, 2} = [0.5 0.25 1].
Промоделировать динамическую сеть, используя групповое и последовательное представление входных сигналов:
AG = sim(net, PG);
AS = sim(net, PS).
Убедиться, что групповое представление входных сигналов искажает результат, так как в этом случае работа одной сети заменяется параллельной работой двух (по числу последовательностей) одинаковых сетей с нулевыми начальными значениями сигналов на выходах линий задержки.
Вывести на печать поля вычислительной модели и их содержимое, используя функцию celldisp.
Сохранить содержимое командного окна в М-файле для последующего использования.
Контрольные вопросы:
Что является элементарной ячейкой нейронной сети?
А) нейрон
Б) нефрон
В) нервное волокно
Г) нервный пучок
Теория нейронных сетей возникла из исследований в области:
А) искусственного интелекта
Б) биологических процессов
В) физиологических процессов организма
Г) физических явлений
Какое практическое применение нашла теория нейронных сетей в медицине?
А) диагностика заболеваний и конструирование протезов
Б) диагностика заболеваний и физиотерапия
В) физиотерапия и обеспечение хирургических операций
Г) конструирование протезов и обеспечение хирургических операций
Список используемой литературы:
Медведев, В. Г. Нейронные Сети Matlab 6 / В. Г. Медведев; под общ. ред. к.т.н. В. Г. Потемкина. – М.: ДИАЛОГ-МИФИ, 2002. – 496 с. – (Пакеты прикладных программ; Кн.4).
Галушкин, А. И. Теория нейронных сетей [Текст] / А. И. Галушкин. – М.: ИПРЖР, 2000. – 416 с.
Сивохин, А. В. Искусственные нейронные сети [Текст] / А. В. Сивохин; учеб. пособие / под ред. профессора Б. Г. Хмелевского. – Пенза: Изд-во Пенз. гос. ун-та, 2002. – 70 с.
Дунин-Барковский, В. П. Информационные процессы в нейронных структурах [Текст] / В. П. Дунин-Барковский. – М.: Наука, 1978.
