АНАЛИЗ ДЕЯТЕЛЬНОСТИ ПРЕДПРИЯТИЯ - Оптимизация управлением производства на примере ОАО "Днепропетровский стрелочный завод"

В результате проведенного финансового анализа предприятия можно сделать вывод, что состояние его удовлетворительное, но имеется ряд недостатков:

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

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

Приведем расчет производственной функции Кобба-Дугласа, которая отражает взаимосвязь между ресурсами производства и результатами его деятельности. Результат деятельности - это валовая продукция, а ресурсы - трудовые ресурсы и основные фонды. В зависимости от количества учитываемых ресурсов различают одно-ресурсные, двух ресурсные и т. д. производственные функции. Чем большее число учитывается, тем выше коэффициент детерминации, т. е. тем лучше модель описывает реальный объект.[11]

Вид производственной функции Кобба-Дугласа:

Где А, В1,В2- константы

К - объем фондов,

L - объем трудовых ресурсов,

Y - выпуск продукции,

В1- эластичность продукции по фондам,

В2- эластичность продукции по труду.

Было рассмотрено производство в течение четырех лет. С помощью функции ЛИНЕЙН были получены коэффициенты уравнений регрессии, ошибки коэффициентов регрессии, коэффициент детерминации, остаточная дисперсия, статистика Фишера, число степеней свободы.

0,6814

0,118

5,281

0,0279

0,012

0,294

0,9992

0,001

#Н/Д

645,26

1

#Н/Д

0,002385

1,8478E-06

#Н/Д

По полученным коэффициентам было рассчитано следующее:

A=

196,67

T=

17,921

Tb1=

9,6121

Tb2=

24,409

Эу(f)=

0,1181

Эу(r)=

0,6814

Выводы: уравнение производственной функции Кобба-Дугласа:

Т. к. t, tb1,tb2 больше табличного значения, то коэффициенты значимы. Коэффициент детерминации равен 0,99, значит 99% вариации валовой продукции обусловлено вариацией K и L. Т. к. значение статистики Фишера (645,26) больше табличного значения, то уравнение регрессии адекватно описывает зависимость. Значение эластичности говорит, что:

При увеличении на 1% K валовой продукт увеличивается на 0,1%

При увеличении на 1% L валовой продукт увеличивается на 0,68%

Для оценки эффективности производства целесообразно найти сумму эластичностей: В=В1+В2.В зависимости от значения В производство ведет по разному при одновременном росте всех ресурсов.

Рассмотрим три варианта:

В=1. Такое производство безразлично к масштабам

В>1. Предприятие работает эффективно

В<1. Производство работает не эффективно

В нашем случае предприятие развивается не эффективно, слабо.

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

Рассмотрим задачу управления группой станков стальцеха №1 Стрелочного завода.

Для решения этой задачи целесообразно использовать алгоритм Джонсона

Этот алгоритм позволяет решать задачу установления очередности работ, выполняемых в два последовательных этапа; в некоторых случаях его даже можно распространить на трехэтапные, но не выше. [2]

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

Рисунок 3.1 - Процесс обработки

Время, идущее на каждую операцию, распределено очень неравномерно: обозначим через Л,- и Bi Время обработки г'-й детали соответственно на машинах А и В.

Задача заключается в том, чтобы минимизировать время простоя машины В, Т. е. найти порядок следования

Который соответствовал бы наименее продолжительному полному ожиданию в промежутках между чистовой обработкой детали Pj И детали P1+I, Причем сумма берется по последовательным значениям

Обозначим черезполное время, котороепройдет от начала расточки первой детали до конца чистовой обработки последней; пустьесть время простоя между концом выполнения работы на машине В И началом работы Pi На той же самой машине. Имеем (рис. 3.1)

(3.6)

И так как известна, то надлежит минимизировать

Из рис. 3.1 можно еще увидеть, что Xi--A И

Следовательно, будет отыскиваться такое ХГ, Чтобы[3]

Ниже приведена модель для двух станков.

Ai-обработка i детали на а станке

Bi-обработка i детали на b станке

Рисунок 3.2- Загрузка станков до применения алгоритма Джонсона

S=(9,6,1,8,2,4,5,3,10,7)

Рисунок 3.3 - Загрузка станков с применением алгоритма Джонсона

Применим алгоритм Джонсона для трех станков.

S=(8,1,5,10,7,4,2,6,9,3)

Рисунок 3.4- Загрузка станков до применения алгоритма Джонсона

Составим таблицу с применением алгоритма Джонсона.

Рисунок 3.5 - Загрузка станков с помощью алгоритма Джонсона

Выводы: Т. к. этот метод очень прост, то его легко можно применять на предприятии.

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

Искусственные нейронные сети (НС)- совокупность моделей биологических нейронных сетей. Представляют собой сеть элементов - искусственных нейронов - связанных между собой синоптическими соединениями. Сеть обрабатывает входную информацию и в процессе изменения своего состояния во времени формирует совокупность выходных сигналов.

Работа сети состоит в преобразовании входных сигналов во времени, в результате чего меняется внутреннее состояние сети и формируются выходные воздействия. Обычно НС оперирует цифровыми, а не символьными величинами.

Большинство моделей НС требует обучения. В общем случае, обучение - такой выбор параметров сети, при котором сеть лучше всего справляется с поставленной проблемой. Обучение - это задача многомерной оптимизации, и для ее решения существует множество алгоритмов.

Искусственные нейронные сети - набор математических и алгоритмических методов для решения широкого круга задач. Выделим характерные черты искусственных нейросетей как универсального инструмента для решения задач:

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

НС - средство обработки информации:

    А) гибкая модель для нелинейной аппроксимации многомерных функций; Б) средство прогнозирования во времени для процессов, зависящих от многих переменных; В) классификатор по многим признакам, дающий разбиение входного пространства на области; Г) средство распознавания образов; Д) инструмент для поиска по ассоциациям; Е) модель для поиска закономерностей в массивах данных.

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

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

Современные искусственные НС по сложности и "интеллекту" очень примитивны, но уже сейчас демонстрируют ценные свойства:

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

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

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

Параллельность обработки и реализуемость НС

Быстродействие современных ЭВM составляет около 100 Mflops (flops - операция с плавающей запятой в секунду). В мозгу содержится примерно 10^11 нейронов. Время прохождения одного нервного импульса около 1 мс, и можно считать, что производительность одного нейрона порядка 10 flops. Эквивалентное быстродействие мозга составит 10^11*10=10^12 flops. Если рассмотреть задачи, решаемые мозгом, и подсчитать требуемое количество операций для их решения на обычных ЭВМ, то получим оценку быстродействия до 10^12..10^14 flops. Разница в производительности между обычной ЭВМ и мозгом - 4..6 порядков! Чем что объясняется?

Во многом этот выигрыш обусловлен параллельностью обработки информации в мозге. Тем не менее, параллельные компьютеры пока не получили распространения но нескольким причинам:

    1. Тирания межсоединений. Каждый процессор в параллельной системе связан с большим количеством других. Количество связей занимает намного больший объем, чем сами процессоры. Такая плотность связей не реализуется в обычных интегральных схемах. 2. Трехмерность структуры связей между процессорами. Существуют различные типы связности процессоров в параллельно и. системе. Обычно требуются трехмерные связи. Технологически такие связи тоже пока невыполнимы. 3. Сложность программирования. Пока не создано единых способов программирования параллельных ЭВМ и средств для написания программ.

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

    1) моделирование НС на обычных последовательных ЭВМ; 2) создание специализированных нейроплат и нейропроцессоров для ускорения pа6oты ЭВМ с нейронными сетями.

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

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

Место нейронных сетей среди других методов решения задач

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

К задачам, успешно решаемым НC на данном этапе их развития относятся:

    -- распознавание зрительных, слуховых образов; огромная область применения: от распознавания текста и целей на экране радара до систем голосового управления; - ассоциативный поиск информации и создание ассоциативных моделей; синтез речи; формирование естественного языка; - формирование моделей и различных нелинейных и трудно описываемых математически систем, прогнозирование развития этих систем во времени:

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

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

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

Рассмотрим искусственные нейронные сети и формальный нейрон.

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

Нейрон состоит из взвешенного сумматора и нелинейного элемента. Функционирование нейрона определяется формулами:

OUT=F[NET - } , (3.8)

Где Х -- входные сигналы, совокупность всех входных сигналов нейрона образует вектор Х;

w -- весовые коэффициенты, совокупность весовых коэффициентов образует вектор весов w;

NET -- взвешенная сумма входных сигналов, значение NET передается на нелинейный элемент;

-- Пороговый уровень данного нейрона;

F -- нелинейная функция, называемая Функцией активации.

Нейрон имеет несколько входных сигналов х и один выходной сигнал OUT. Параметрами нейрона, определяющими его работу, являются: вектор весов w, пороговый уровень И вид функции активации F.

Рассмотрим виды функций активаций.

Рассмотрим основные виды функций активации, получившие распространение в искусственных НС.

1. Жесткая ступенька (рис.3.6):

OUT= 0, NET<

1, NET>=

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

Эта функция чрезмерно упрощена и не позволяет моделировать схемы с непрерывными сигналами. Отсутствие первой производной затрудняет применение градиентных методов для обучения таких нейронов. Сети на классических ФН чаще всего формируются, синтезируются, т. е. их параметры рассчитываются по формулам, в противоположность обучению, когда параметры подстраиваются итеративно.

2. Логистическая функция (сигмоида. функция Ферми, рис.3.6):

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

Функция симметрична относительно точки (NET=0, OUT=1/2), это делает равноправными значения OUT =0 и OUT =1, что существенно в работе сети. Тем не менее, диапазон выходных значений от 0 до 1 несимметричен, из-за этого обучение значительно замедляется.

Данная функция - сжимающая, т. е. для малых значений NET коэффициент передачи K=OUT/ NET велик, для больших значений он снижается. Поэтому диапазон сигналов, с которыми нейрон работает без насыщения, оказывается широким.

Значение производной легко выражается через саму функцию. Быстрый расчет производной ускоряет обучение.

3. Гиперболический тангенс (рис.3.6):

Тоже применяется часто для сетей с непрерывными сигналами. Функция симметрична относительно точки (0,0), эto преимущество пи сравнению с сигмоидой.

Производная также непрерывна и выражается через саму функцию.

4. Пологая ступенька (рис.3.6 ):

OUT= О, NET<=

1, NET>=+

Рассчитывается легко, но имеет разрывную первую производную в точках NET =+

NET =, Что усложняет алгоритм обучения.

5. Экспонента:

Применяется в специальных случаях.

6. SOfТ МАХ-функиия:

Здесь суммирование производится по всем нейронам данного слоя сети. Такой выбор функции обеспечивает сумму выходов слоя, равную единице при любых значениях сигналов NET данного слоя. Это позволяет трактовать OUТ Как вероятности событий (все выходы слоя) образует полную группу. Это полезное свойство позволяет применить SOfТ МАХ - функцию в задачах классификации, проверки гипотез, распознавания образов и во всех других, где требуются выходы-вероятности.

7. Участки синусоиды:

OUT=sin(NET)

Гауссова кривая (рис.3.6)

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

9. Линейная функция, OUT = К NET, К=const. Применяется для тех моделей сетей, где не требуется последовательное соединение слоев нейронов друг за другом.

Жесткая ступенька Сигмоида (логистическая кривая) Гиперболический тангенс

Гауссовская кривая

Ступенька с линейной Частью

Рис.3.6- Виды функций активации.

Выбор функции активации определяется:

    1. Спецификой задачи. 2. Удобством реализации на ЭВМ, в виде электрической схемы или другим способом. 3. Алгоритмом обучения: некоторые алгоритмы накладывают ограничения па вид функции активации, их нужно учитывать.

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

Ограничения модели нейрона

    1. Вычисления выхода нейрона предполагаются мгновенными, не вносящими задержки. Непосредственно моделировать динамические системы, имеющие "внутреннее состояние", с помощью таких нейронов нельзя. 2. В модели отсутствуют нервные импульсы. Нет модуляции уровня сигнала плотностью импульсов, как в нервной системе. Не появляются эффекты синхронизации, когда скопления нейронов обрабатывают информацию синхронно, под управлением периодических волн возбуждения-торможения. 3. Нет четких алгоритмов для выбора функции активации. 4. Нет механизмов, регулирующих работу сети в целом (пример - гормональная регуляция активности в биологических нервных сетях). 5. Чрезмерная формализация понятий: "порог", "весовые коэффициенты". В реальных нейронах нет числового порога, он динамически меняется в зависимости от активности нейрона и общего состояния сети. Весовые коэффициенты синапсов тоже не постоянны. "Живые" синапсы обладают пластичностью и стабильностью: весовые коэффициенты настраиваются в зависимости от сигналов, проходящих через синапс. 6. Существует большое разнообразие биологических синапсов. Они встречаются в различных частях клетки и выполняют различные функции. Тормозные и возбуждающие синапсы реализуются в данной модели в виде весовых коэффициентов противоположного знака, но разнообразие синапсов этим не ограничивается. Итак, модель формального нейрона не является биоподобной и скорее похожа на математическую абстракцию, чем на живой нейрон. Тем удивительнее оказывается многообразие задач, решаемых с помощью таких нейронов и универсальность получаемых алгоритмов.

Существуют такие методы обучения:

Алгоритмы обучения бывают с учителем и без. Алгоритм называется Алгоритмом с учителем, если при обучении известны и входные, и выходные вектора сети. Имеются пары вход + выход известные условия задачи и решение. В процессе обучения сеть меняет свои параметры и учится давать нужное отображение x-"Y. Сеть учится давать результаты, которые нам уже известны. За счет способности к обобщению сетью могут быть получены новые результаты, если подать на вход вектор, который не встречался при обучении.

Алгоритм относится к обучению Без учителя, если известны только входные вектора, и на их основе сеть учится давать наилучшие значения выходов. Что понимается под "наилучшими" -- определяется алгоритмом обучения.

Рассматриваемая сеть обучается с учителем. Это означает, что должно быть задано множество пар векторов

{x'.d'}, S =1... S, где {x'}={x1,..., х'} -- формализованное условие задачи, a {d'}={d',..., d4} --известное решение для этого условия. Совокупность пар {x',d'} составляет обучающее множество.

S-- количество элементов в обучающем множестве -- должно быть достаточным для обучения сети, чтобы под управлением алгоритма сформировать набор параметров сети, дающий нужное отображение X --> Y -

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

Выберем один из векторов х' и подадим его на вход сети. На выходе получится некоторый вектор у'. Тогда ошибкой сети можно считать Е" =|d" - у' для каждой пары {x',d'}. Чаще всего для оценки качества обучения выбирают суммарную квадратическую ошибку:

Формальные нейроны могут объединяться в сети различным образом. Самым распространенным видом сети стал многослойный перцептрон.

Функция

Clear

Net = newp([0 2],1);

Создает персептрон с одноэлементным входом и одним нейроном; диапазон значений входа - [0 2].

Определим некоторые параметры персептрона, инициализируемые по умолчанию.

Веса входов:

Inputweights = net. inputweights{1,1}

Inputweights =

delays: 0

initFcn: 'initzero'

learn: 1

learnFcn: 'learnp'

learnParam: []

size: [1 1]

userdata: [1x1 struct]

weightFcn: 'dotprod'

Заметим, что функция настройки персептрона по умолчанию - learnp; вход функции активации вычисляется с помощью функции скалярного произведения dotprod; функция инициализации initzero используется для установки нулевых начальных весов.

Смещения:

Biases = net. biases{1}

Biases =

initFcn: 'initzero'

learn: 1

learnFcn: 'learnp'

learnParam: []

size: 1

userdata: [1x1 struct]

Нетрудно увидеть, что начальное смещение также установлено в ноль.

Моделирование персептрона.

Рассмотрим однослойный персептрон с одним двухэлементным вектором входа, значения элементов которого изменяются в диапазоне от -2 до 2

Clear, net = newp([-2 2;-2 2],1);

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

Net. IW{1,1}= [-1 1];

Net. b{1} = [1];

В этом случае разделяющая линия имеет вид

L: - p1 +p2 +1 = 0.

И соответствует рис. 4.1.

Gensim(net) % Рис.3.7

Структурная схема модели персептрона показана на рис. 3.7.

Рис. 3.7 - Модель перцептрона

Теперь определим, как откликается сеть на входные векторы p1 и p2, расположенные по разные стороны от разделяющей линии:

P1 = [1; 1];

A1 = sim(net, p1) % Моделирование сети net с входным вектором p1

A1 =

1

P2 = [1; -1];

A2 = sim(net, p2) % Моделирование сети net с входным вектором p2

A2 =

0

Персептрон правильно классифицировал эти два вектора.

Заметим, что можно было бы ввести последовательность двух векторов в виде массива ячеек и получить результат также в виде массива ячеек

P3 = {[1; 1] [1; -1]}

A3 = sim(net, p3) % Моделирование сети net при входном сигнале p3

P3 =

[2x1 double] [2x1 double]

A3 =

[1] [0]

Инициализация параметров.

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

Clear, net = newp([-2 2;-2 2],1);

Запросим характеристики весов входа

Net. inputweights{1, 1}

Ans =

delays: 0

initFcn: 'initzero'

learn: 1

learnFcn: 'learnp'

learnParam: []

size: [1 2]

userdata: [1x1 struct]

weightFcn: 'dotprod'

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

Wts = net. IW{1,1}, bias = net. b{1}

Wts =

0 0

Bias =

0

Теперь переустановим значения элементов матрицы весов и смещения

Net. IW{1,1} = [3, 4]; net. b{1} = 5;

Wts = net. IW{1,1}, bias = net. b{1}

Wts =

3 4

Bias =

5

Для того чтобы вернуться к первоначальным установкам параметров персептрона, и предназначена функция init

Net = init(net); wts = net. IW{1,1}, bias = net. b{1}

Wts =

0 0

Bias =

0

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

% Задать функции инициализации весов и смещений

Net. inputweights{1,1}.initFcn = 'rands';

Net. biases{1}.initFcn = 'rands';

% Выполнить инициализацию ранее созданной сети с новыми функциями

Net = init(net);

Wts = net. IW{1,1}, bias = net. b{1}

Wts =

-0.1886 0.8709

Bias =

-0.6475

Видно, что веса и смещения выбраны случайным образом.

Правила настройки параметров персептрона.

Рассмотрим простой пример персептрона с единственным нейроном и двухэлементным вектором входа

Clear, net = newp([-2 2;-2 2],1);

Определим смещение b равным 0, а вектор весов W равным [1 -0.8]

Net. b{1} = 0;

W = [1 -0.8]; net. IW{1,1} = w;

Обучающее множество зададим следующим образом

P = [1; 2]; t = [1];

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

A = sim(net, p), e = t-a

A =

0

E =

1

Используя М-функцию настройки параметров learnp, найдем требуемое изменение весов

Dw = learnp(w, p,[ ],[ ],[ ],[ ],e,[ ],[ ],[ ])

Dw =

1 2

Тогда новый вектор весов примет вид

W = w + dw

W =

2.0000 1.2000

Процедура адаптации.

. Вновь сформируем модель персептрона

Clear, net = newp([-2 2;-2 2],1);

Введем первый элемент обучающего множества

P = {[2; 2]}; t = {0};

Установим параметр passes (число проходов), равным 1, и выполним один шаг настройки

Net. adaptParam. passes = 1;

[net, a,e] = adapt(net, p,t); a, e

A =

[1]

E =

[-1]

Скорректированные вектор весов и смещение равны

Twts = net. IW{1,1}, tbiase = net. b{1}

Twts =

-2 -2

Tbiase =

-1

Это совпадает с результатами, полученными при ручном расчете. Теперь можно ввести второй элемент обучающего множества и т. д., то есть повторить всю процедуру ручного счета и получить те же результаты.

Но можно эту работу выполнить автоматически, задав сразу все обучающее множество и выполнив один проход

Clear, net = newp([-2 2;-2 2],1);

Net. trainParam. passes = 1;

P = {[2;2] [1;-2] [-2;2] [-1;1]};

T = {0 1 0 1};

Теперь обучим сеть.

[net, a,e] = adapt(net, p,t);

Возвращаются выход и ошибка

A, e

A =

[1] [1] [0] [0]

E =

[-1] [0] [0] [1]

Скорректированные вектор весов и смещение равны

Twts = net. IW{1,1}, tbiase = net. b{1}

Twts =

-3 -1

Tbiase =

0

Моделируя полученную сеть по каждому входу, получим

A1 = sim(net, p)

A1 =

[0] [0] [1] [1]

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

Выполним еще один цикл настройки

[net, a,e] = adapt(net, p,t); a, e

A =

[0] [0] [0] [1]

E =

[0] [1] [0] [0]

Twts = net. IW{1,1}, tbiase = net. b{1}

Twts =

-2 -3

Tbiase =

1

A1 = sim(net, p)

A1 =

[0] [1] [0] [1]

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

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

Зададим следующее обучающее множество векторов входа и целей и построим сеть GRNN:

P=[1 2 3 4 5 6 7 8];

T=[1123.67 805.73 1134.5 1021.2 1087.9 1135.73 1354.05 1838.52];

Для создания сети GRNN используется функция newgrnn. Примем значение параметра влияния SPREAD немного меньшим, чем шаг задания аргумента функции, чтобы построить аппроксимирующую кривую, близкую к заданным точкам. Чем меньше значение параметра SPREAD, тем ближе точки аппроксимирующей кривой к заданным, но тем менее гладкой является сама кривая:

Spread = 0.7;

Net = newgrnn(P, T,spread);

Net. layers{1}.size % Число нейронов в скрытом слое

Ans =

8

A = sim(net, P);

Figure(2), clf,

Plot(P, T,'*b','markersize',10), hold on,

Plot(P, A,'or','markersize',10); grid on %

Результат показан на рисунке 3.8

Рис. 3.8- Точки аппроксимирующей кривой

Моделирование сети для диапазона значений аргумента позволяет увидеть всю аппроксимирующую кривую, причем возможна экстраполяция этой кривой за пределы области ее определения. Для этого зададим интервал документа в диапазоне [0 12]:

P2= 0:0.1:12;

A2= sim (net, P2);

Plot (P2, A2,'-k','linewidth',2)

Hold on,

Plot (P, T,'*k',markersize',12)

Результат показан на рисунке 3.9.

Рис. 3.9 - Аппроксимирующая кривая с прогнозом

Выводы: Сформированная сеть GRNN использует всего 8 нейронов в скрытом слое и весьма успешно решает задачу аппроксимации и экстраполяции нелинейной зависимости, восстанавливаемой на экспериментальным точкам. Глядя на построенный прогноз можно увидеть, что в ближайшие два года прибыль на заводе будет возрастать.

Похожие статьи




АНАЛИЗ ДЕЯТЕЛЬНОСТИ ПРЕДПРИЯТИЯ - Оптимизация управлением производства на примере ОАО "Днепропетровский стрелочный завод"

Предыдущая | Следующая