Рефераты. Классификация сейсмических сигналов на основе нейросетевых технологий

предлагается использовать одну из самых универсальных нейроархитектур –

многослойный персептрон, а точнее его двухслойную реализацию (рис. 6.1).

Как показали эксперименты, увеличение числа скрытых слоев не приводит к

лучшим результатам, а лишь усложняет процесс обучения, поэтому и была

выбрана именно реализация с одним скрытым слоем нейронов.

На вход сети подается p-мерный вектор признаков {xi, i=1,2,…,p}. Для

определенности будем рассматривать случай, когда p=9, хотя исследования

проводились и для p=5, p=18. Оптимальное количество нейронов на скрытом

слое H подбиралось экспериментально для разных p. Соответственно при p = 9

достаточно брать H равным также 9 или немного больше. Для разбиения

исходных данных на два класса на выходе сети достаточно одного нейрона.

Между входным и скрытым слоями, а также между скрытым и выходным слоями

использовалась полносвязная структура.

С учетом этих дополнений опишем принятые на рисунке 7.1 обозначения:

p – размерность исходных данных (количество признаков используемых для

классификации);

H – число нейронов на скрытом слое;

xi – компонента входного вектора признаков, i = 1,…,p;

x0 ( 1 – постоянное воздействие используемое для работы нейронной сети;

wji – весовые коэффициенты между входным и скрытым слоями, i = 0,1,…,p ,

j = 1,…,H;

vk - весовые коэффициенты между скрытым и выходным слоями, k = 0,1,…,H.

zj – значение выхода j-го нейрона скрытого слоя; z0 ( 1, j = 1,…,H;

[pic]

y – значение выходного нейрона сети (выход сети)

[pic] (12)

f1(x) –функция активации нейронов скрытого слоя;

f2(x) –функция активации нейрона выходного слоя.

В качестве функции активации f1(x) для нейронов скрытого слоя и f2(x)

для единственного нейрона на выходе сети предлагается использовать одну и

ту же функцию, а именно сигмоидную функцию активации, для краткости будем

обозначать ее как f(x):

[pic],

с производной в виде

[pic].

Вид такой функции представлен на рис.6.2

Т.к. значения функции f(x) ограничены в диапазоне [0, 1], результат

сети y(x) может принимать любые действительные значения из этого же

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

образом: если y(x) > 0.5, то вектор принадлежит к одному классу (взрывы), в

противном случае к другому (землетрясения).

6.2 Исходные данные.

На вход нейронной сети предлагается подавать вектора признаков

составленные из сейсмограмм. О том, какие признаки были использованы для

этой задачи и как они получены, было рассказано ранее в разделе 3.1. Стоит

отметить, что проблема формирования векторов признаков – это исключительно

проблема сейсмологии. Поэтому для исследования эффективности применения

нейронных сетей в качестве исходных данных были использованы уже готовые

выборки векторов, которые содержали в себе примеры и землетрясений и

взрывов.

Размерность векторов признаков p=9, хотя , как было отмечено в

предыдущем разделе, проводились эксперименты и с другим количеством

признаков.

Для работы с нейросетью рекомендуется использовать исходные данные не в

первоначальном виде, а после предварительной обработки при помощи процедуры

индивидуальной нормировки по отдельному признаку, описанной в разделе 5.2.

Это преобразование состоит в следующем:

[pic]

где

xi – исходное значение вектора признаков, точнее его i-я компонента;

xi,min – минимальное значение по i-му признаку, найденное из всей

совокупности исходных данных, включающей оба класса событий;

xi,max – максимальное значение по i-му признаку …

Выбор именно этой нормировки, а не более универсальных, которые описаны

в разделе 5, в настоящих исследованиях продиктованы тем обстоятельством,

что непосредственно признаки измеренные по сейсмограммам, подвергаются

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

y=Ln(x) и z=(1/7)(y1/7-1),

и уже из этих значений формируются обучающие вектора. Такие преобразования

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

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

интервала [-1, 1], а выбранная нормировка позволяет без потери информации

перенести все входные значения в нужный диапазон.

6.3 Определение критерия качества системы и функционала его оптимизации.

Если через [pic] обозначить желаемый выход сети (указание учителя), то

ошибка системы для заданного входного сигнала (рассогласование реального и

желаемого выходного сигнала) можно записать в следующем виде:

[pic][pic], где

k — номер обучающей пары в обучающей выборке, k=1,2,…,n1+n2

n1 - количество векторов первого класса;

n2 - число векторов второго класса.

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

среднеквадратической функции ошибки:

[pic]

6.4 Выбор начальных весовых коэффициентов.

Перед тем, как приступить к обучению нейронной сети, необходимо задать

ее начальное состояние. От того насколько удачно будут выбраны начальные

значения весовых коэффициентов зависит, как долго сеть за счет обучения и

подстройки будет искать их оптимальное величины и найдет ли она их.

Как правило, всем весам на этом этапе присваиваются случайные величины

равномерно распределенные в диапазоне [-A,A], например [-1,1], или [-3,3].

Однако, как показали эксперименты, данное решение не является наилучшим и в

качестве альтернативы предлагается использовать другие виды начальной

инициализации, а именно:

1. Присваивать весам случайные величины, заданные не равномерным

распределением, а нормальным распределением с параметрами N[(,(], где

выборочное среднее (=0, а дисперсия ( = 2, или любой другой небольшой

положительной величине. Для формирования нормально распределенной

величины можно использовать следующий алгоритм:

Шаг 1. Задать 12 случайных чисел x1, x2, …,x12 равномерно

распределенных в диапазоне [0,1]. xi ( R[0,1].

Шаг 2. Для искомых параметров ( и ( величина [pic], полученная по

формуле:

[pic]

будет принадлежать нормальному распределению с параметрами N[(,(].

2. Можно производить начальную инициализацию весов в соответствии

с методикой, предложенной Nguyen и Widrow [7]. Для этой методики

используются следующие переменные

[pic] число нейронов текущего слоя

[pic] количество нейронов последующего слоя

[pic] коэффициент масштабирования:

[pic]

Вся процедура состоит из следующих шагов:

Для каждого нейрона последующего слоя[pic]:

Инициализируются весовые коэффициенты (с нейронов текущего слоя):

[pic]случайное число в диапазоне [-1,1] ( или [pic]).

Вычисляется норма [pic]

Далее веса преобразуются в соответствии с правилом:

[pic]

Смещения [pic] выбираются случайным образом из диапазона [pic].

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

результатов, в сравнении со стандартным алгоритмом начальной инициализации

весов.

6.5 Алгоритм обучения и методы его оптимизации.

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

решить, какой из известных типов алгоритмов, градиентный (обратное

распространения ошибки) или стохастический (Больцмановское обучение)

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

подход, который и представлен в этом разделе.

Обучение нейронных сетей как минимизация функции ошибки.

Когда функционал ошибки нейронной сети задан (раздел 6.3), то главная

задача обучения нейронных сетей сводится к его минимизации. Градиентное

обучение – это итерационная процедура подбора весов, в которой каждый

следующий шаг направлен в сторону антиградиента функции ошибки.

Математически это можно выразить следующим образом:

[pic], или , что то же самое : [pic],

здесь (( - темп обучения на шаге (. В теории оптимизации этот метод

известен как метод наискорейшего спуска.[]

Метод обратного распространения ошибки.

Исторически наибольшую трудность на пути к эффективному правилу

обучения многослойных персептронов вызвала процедура расчета градиента

функции ошибки [pic]. Дело в том, что ошибка сети определяется по ее

выходам, т.е. непосредственно связана лишь с выходным слоем весов. Вопрос

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

найти производные по соответствующим весам. Нужна была процедура передачи

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

обработке входной информации. Поэтому такой метод, когда он был найден,

получил название метода обратного распространения ошибки (error back-

propagation ).

Разберем этот метод на примере двухслойного персептрона с одним

нейроном на выходе.(рис 6.1) Для этого воспользуемся введенными ранее

обозначениями. Итак,

[pic] -Функция ошибки (13)

[pic] -необходимая коррекция весов коррекция весов (14)

для выходного слоя (v записывается следующим образом.

[pic]

Коррекция весов между входным и скрытым слоями производится по формуле:

[pic] (15)

[pic] [pic] [pic]

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.