Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Прикладной статистический анализ в горном деле (Многомерная математическая статистика).

.pdf
Скачиваний:
32
Добавлен:
12.11.2023
Размер:
12 Мб
Скачать
☆

Например, необходимо описать участок поверхности по результатам тахеометрической съёмки функцией Z = F(X, Y). Это описание может иметь несколько видов:

z a0 a1 x a2 y ;

z a0 a1 x a2 y a3 x y ;

z a0 a1 x a2 y a3 x y a4 x2 a5 x2 .

Сложность полиномов можно повышать и дальше. По мере увеличения сложности полинома уменьшается остаточная сумма квадратов отклонений и увеличивается коэффициент множественной корреляции. Если ещё более усложнить полином, то можно достигнуть уровня детерминации 100 % и остаток будет равен нулю. Такой полином позволит нам качественно предсказать значение высотной отметки, но только в пределах участка, на котором была проведена съёмка и с которого выбраны пикеты. Если попробовать вычислить по такому уравнению высотную отметку пикета за границей участка, то получим некорректные результаты.

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

Рис. 7.5. Профиль нивелирования участка земной поверхности

281

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

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

Обобщающая способность нейросетей является одним из важнейших их параметров [18; 53; 83]. Под обучением понимают свойство модели описывать исходные данные и получать требуемые результаты на всем множестве исходных данных (на обучающей, экзаменационной и контрольной последовательностях). Величину обобщения оценивают через величину отклонения или ошибки. Ошибка – это численно выраженная разница между практическим значением и полученным из модели результатом. В более общем смысле обобщающая способность – способность модели найти некое соответствие, которое будет описывать неизвестную нам и скрытую взаимосвязь входных и выходных данных.

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

И переобучение и недообучение сети свидетельствуют о несоответствии сложности сети характеру зависимостей в дан-

282

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

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

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

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

Использование единственного контрольного множества в качестве критерия проверки не является достаточным гарантом

283

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

изменения ошибки в ходе

–переусложнённая модель;

–оптимальная сложность модели

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

284

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

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

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

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

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

7.7. Процедура построения искусственных нейронных сетей

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

285

Этап 1. Выбор архитектуры искусственной нейронной се-

ти [18; 24]:

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

–число нейронов во входном слое равно количеству входных данных. Количество нейронов в выходном слое в задачах аппроксимации равно единице. Определение количества нейронов в каждом скрытом слое является неформальной проблемой, при решении которой можно использовать эвристическое правило: число нейронов в следующем скрытом слое должно быть в два раза меньше, чем в предыдущем. Автор работы [82] полагает, что оптимальный размер скрытого слоя обычно находится между количеством входных данных и числом нейронов выходного слоя.

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

ссемью переменными на входном слое, один скрытый слой с четырьмя узлами и выходной слой с одним узлом будут описаны с использованием нотации 7 / 4 / 1;

–выбор типа связей между нейронами во многом определяется особенностями решаемой задачи;

–выбор функции активации также связан со спецификой решаемой задачи.

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

286

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

Этапы могут совместно применяться для уточнения архитектуры сети на основе конструктивного или деструктивного подхода. В соответствии с первым подходом обучение начинается на сети небольшого размера, который постепенно увеличивается до достижения требуемой точности по результатам тестирования. Деструктивный подход базируется на принципе «прореживания дерева», в соответствии с которым из сети с заведомо избыточным объемом постепенно удаляют «лишние» слои, нейроны и примыкающие к ним связи. Этот подход дает возможность исследовать влияние удаляемых элементов на точность распознавания сети [82].

7.8.Архитектура нейронных сетей

ВИНС можно выделить две базовые архитектуры – слоистые и полносвязные сети [18; 53; 80]. В слоистых сетях нейроны входного слоя получают входные сигналы, преобразуют их и через точки ветвления передают нейронам следующего слоя.

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

Однако сигнал не всегда подается на все нейроны слоя. В когнитроне, например, каждый нейрон текущего слоя получа-

287

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

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

вмногослойной нейронной сети, кроме входного и выходного. Входной слой сети реализует связь с входными данными, выходной – с выходными. Таким образом, нейроны могут быть входными, выходными и скрытыми.

Входной слой организован из входных нейронов (input neuron), которые получают данные и распространяют их на входы нейронов скрытого слоя сети. Скрытый нейрон (hidden neuron) – это нейрон, находящийся в скрытом слое нейронной сети. Выходные нейроны (output neuron) формируют выходной слой сети, выдают результаты работы нейронной сети.

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

Втабл. 7.2 приведены рекомендации по использованию наиболее распространенных архитектур ИНС для решения задач

[72; 75].

При работе с пакетом «Statistica Neural Networks» пользо-

вателю выдается так называемая среднеквадратичная ошибка (RMS). Считается, что это очень хорошая мера ошибки, усредненная по всему обучающему множеству и по всем выходным элементам [80].

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

288

 

 

 

Таблица 7.2

 

Рекомендации по использованию ИНС [74]

 

 

 

 

Тип

Правило

 

 

обуче-

коррекции

Архитектура

Задачи

ния

коэффициентов

 

 

 

Коррекция

 

Классификация.

 

Однослойные

Аппроксимация

 

по ошибке

 

и многослойные сети

функций.

 

и обратное рас-

 

с прямыми и обрат-

Ассоциативная па-

 

пространение

 

ными связями

мять. Прогнозиро-

 

ошибки

С учи-

 

вание. Управление

 

 

телем

 

 

 

Правило Хебба

Многослойные сети

Анализ данных.

 

Классификация

 

с прямыми связями

 

 

 

 

 

 

 

 

 

Сеть ART (сети на

 

 

Соревнование

базе теории адаптив-

Классификация

 

 

ного резонанса)

 

 

Коррекция

 

Кластеризация.

 

по ошибке

Многослойные сети

Анализ данных

 

и обратное рас-

 

 

с прямыми связями

 

 

пространение

 

 

 

 

 

ошибки

 

 

 

 

 

Ассоциативная

Без

Правило Хебба

Сети Хопфилда

память. Оптимиза-

 

 

ция

учителя

 

Сети SOF (самоорга-

Кластеризация.

 

 

низующиеся карты,

Анализ данных

 

 

сети Кохонена)

 

 

Соревнование

 

 

 

Сети ART (сети на

 

 

 

 

 

 

базе теории адаптив-

Кластеризация

 

 

ного резонанса)

 

 

 

 

 

 

 

 

Коррекция

Сеть RBF (сети с ра-

Классификация.

 

Аппроксимация

 

по ошибке,

диальными базисны-

 

функций. Прогно-

Сме-

обратное распро-

ми функциями) – ча-

зирование.

шанная

странение ошиб-

стный случай дву-

Управление

 

ки и соревнова-

слойной сети

 

 

 

ние

с прямыми связями

 

 

 

 

 

289

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

Втакой ситуации локализовать этот минимум достаточно про-

сто [24; 18; 72; 80].

Вслучае нейронной сети поверхность ошибок имеет гораздо более сложное строение и обладает рядом неприятных свойств. Поверхность может иметь локальные минимумы (точки, самые низкие в некоторой своей окрестности, но лежащие выше глобального минимума), плоские участки, седловые участки и длинные узкие овраги [5; 72; 74].

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

Вконце концов алгоритм останавливается в нижней точке, ко-

торая может оказаться всего лишь локальным минимумом (а если повезет – глобальным минимумом) [74; 82].

Из теоремы Колмогорова [37] об отображении практически любой функции с помощью суперпозиции непрерывных функций меньшего числа переменных следует, что обучаемая нами нейронная сеть способна сама подстроиться под любые данные с целью минимизации суммарной квадратичной ошибки. Такая функция хорошо будет предсказывать в пределах имеющейся выборки. Но за её пределами качество прогноза будет неудовлетворительным. Чтобы этого не происходило, обучение нейросетей проводят не на всех данных, а только на обучающей выборке. Контрольную выборку используют для проверки на ней суммарной квадратичной ошибки. Если нейросеть показывает улучшение аппроксимации и на обучающей, и на кон-

290

Соседние файлы в папке книги