WWW.KNIGI.KONFLIB.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

 
<< HOME
Научная библиотека
CONTACTS

Pages:     | 1 |   ...   | 7 | 8 || 10 | 11 |   ...   | 13 |

«УДК 621.311 Закарюкин В.П., Крюков А.В., Раевский Н.В., Яковлев Д.А. МОДЕЛИРОВАНИЕ И ПРОГНОЗИРОВАНИЕ ПРОЦЕССОВ ЭЛЕКТРОПОТРЕБЛЕНИЯ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ Под ред. ...»

-- [ Страница 9 ] --

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

для скрытых слоев, т.е. k = 1, 2,..., К-1, и для выходного слоя, т.е. k=K. Если в качестве нелинейной преобразующей функции используется сигмоидная функция, то вместо последних двух выражений удобно использовать следующие рекуррентные формулы:

для выходного слоя для скрытых слоев Эти соотношения называются формулами обратного распространения ошибки [117]. Если при прямом функционировании входной сигнал распространяется по сети от входного слоя к выходному, то при подстройке весов ошибка сети распространяется от выходного слоя к входному.

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

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

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

Согласно метода наименьших квадратов, минимизируемой целевой функцией ошибки НС является величина где y (j,N ) – реальное выходное состояние нейрона j выходного слоя N нейp ронной сети при подаче на ее входы p-го образа; dj,p – идеальное выходное состояние этого нейрона.

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

Здесь wij – весовой коэффициент синаптической связи, соединяющей i-й нейрон слоя n-1 с j-м нейроном слоя n; – коэффициент скорости обучения, 01.

Как показано в [91], Здесь под yj, как и раньше, подразумевается выход нейрона j, а под sj – взвешенная сумма его входных сигналов, то есть аргумент активационdy j по ее аргументу, из этого следует, что производная активационной функция должна быть определена на всей оси абсцисс. В связи с этим функция единичного скачка и прочие активационные функции с неоднородностями не подходят для рассматриваемых НС. В них применяются такие гладкие функции, как гиперболический тангенс или классический сигмоид с экспонентой. В случае гиперболического тангенса yi(n-1).

Что касается первого множителя в (4.13), он легко раскладывается следующим образом [91]:

Здесь суммирование по k выполняется среди нейронов слоя n+1.

можно получить рекурсивную формулу для расчетов величин j(n) слоя n из величин k(n+1) более старшего слоя n+ Теперь можно записать (4.12) в раскрытом виде:

Иногда для придания процессу коррекции весов некоторой инерционности, сглаживающей резкие скачки при перемещении по поверхности целевой функции, выражение (4.19) дополняется значением изменения веса на предыдущей итерации:

где µ – коэффициент инерционности, t – номер текущей итерации.

Полный алгоритм обучения НС с помощью процедуры обратного распространения строится следующим образом.

1. На входы сети подается один из возможных образов и в режиме обычного функционирования НС, когда сигналы распространяются от входов к выходам, рассчитываются значения последних. При этом где M – число нейронов в слое n-1 с учетом нейрона с постоянным выходным состоянием +1, задающего смещение; yi(n-1)=xij(n) – i-й вход нейрона j слоя n.

где f() – сигмоид, где Iq – q-я компонента вектора входного образа.

2. Рассчитывается (N) для выходного слоя по формуле (4.18). По формуле (4.19) или (4.20) определяются изменения весов w(N) слоя N.

3. По формулам (4.17) и (4.19) (или (4.17) и (4.20)) находятся (n) и w(n) для всех остальных слоев, n=N-1,...1.

4. Корректируются все веса в НС 5. Если ошибка сети существенна, перейти на шаг 1. В противном случае – конец.

На первом шаге сети попеременно в случайном порядке предъявляются все тренировочные образы. Из выражения (4.9) следует, что если выyi(n-1) стремится к нулю, то эффективность обучения заходное значение метно снижается. При двоичных входных векторах в среднем половина весовых коэффициентов не будет корректироваться [29], поэтому область возможных значений выходов нейронов [0,1] желательно сдвинуть в пределы [-0.5,+0.5], что достигается простыми модификациями логистических функций. Например, сигмоид с экспонентой преобразуется к виду Одна из наиболее серьезных трудностей изложенного подхода заключается в том, что не минимизируется ошибка, которую можно ожидать от сети, когда ей будут подаваться совершенно новые наблюдения. Сеть обучается минимизировать ошибку на обучающем множестве. Это не то же самое, что минимизировать «настоящую» ошибку в заранее неизвестной модели явления.



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

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

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

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

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

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

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

Шаг 1. Задается обучающее множество («задачник») {(Xl,Dl);(X2,D2);...;(XL, DL)}, элементами которого являются обучающие пары (Xl,Dl), (l=1,2,..., L,). В данном случае X1 = x 11) x (21)...x (n1) входной образ), предлагаемый НС; D1 = d11)d (21)...d (m) (требуемых) реакций НС в ответ на первый входной вектор X1 ; L – число различных обучающих пар, принадлежащих выборке.

Шаг 2. Устанавливается начальное состояние НС путем присвоения всем ее весам w ij некоторых случайных малых значений. Здесь w ij – вес связи, соединяющий выход i-го нейрона k-слоя со входом j-го нейрона (k+1)-го слоя.

Шаг 3. На вход сети подается входной вектор Х1 и определяются реакции у i (i=1,2,..., m) нейронов выходного слоя.

Шаг 4. Вычисляется разность (1) между желаемой реакцией сети D и ее фактическим выходом Y1 = [y11) y (21)...y (m) ], т.е. (1) =D1 - Y1 а также сумT марная квадратичная ошибка E = 0.5 (d (j1) y (j1) ).

Шаг 5. Осуществляется коррекция весов w ij НС таким образом, чтоk бы уменьшить ошибку E(1).

Шаг 6. Повторяются шаги 3, 4, 5 для каждой пары обучающего множества (X1,D1) до тех пор, пока ошибка на всем множестве не достигнет малой, заранее заданной величины Е.

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

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

Практика использования НС дала возможность выработать несколько вариантов к решению задачи подготовки обучающей выборки [5]. Одним из приемлемых вариантов можно считать включение в обучающую выборку расширенного объема факторов. Для достижения наибольшего эффекта образы добавляются или извлекаются из обучающей выборки. Такой вариант формирования обучающей выборки позволяет в процессе обучения нейронной сети достаточно быстро достигать определения оптимальных значений весовых коэффициентов посредством выхода процесса обучения из локальных минимумов функции ошибки.



Pages:     | 1 |   ...   | 7 | 8 || 10 | 11 |   ...   | 13 |