Смекни!
smekni.com

Классификация сейсмических сигналов на основе нейросетевых технологий (стр. 11 из 13)

Этот числовой параметр характеризует объем обучающей выборки и соответствует количеству строк во входном файле PATTERNFILE.

PATTERNFILE ИМЯ ФАЙЛА С НАБОРОМ ВЕКТОРОВ ПРИЗНАКОВ

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

TESTVECTOR ИМЯ ФАЙЛА С ТЕСТИРУЕМЫМ ВЕКТОРОМ ПРИЗНАКОВ.

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

NETWORKFILE ИМЯ ФАЙЛА С МАТРИЦАМИ ВЕСОВ ПРЕДВАРИТЕЛЬНО ОБУЧЕННОЙ СЕТИ.

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

RESNETFNAME ИМЯ ВЫХОДНОГО ФАЙЛА С МАТРИЦАМИ ВЕСОВ ОБУЧЕННОЙ СЕТИ

Имя файла, содержащего параметры спроектированной и обученной нейронной сети в данном сеансе эксплуатации программы. В имени файла обязательно следует указывать символьную абревиатуру региона, из которого получена сейсмическая информация и размерность векторов признаков NDATA обрабатываемой информации, чтобы избежать путаницы в интерпретации разных моделей. (Например, norv18.net или isrl9.net).

NUMBERVECTOR ПОРЯДКОВЫЙ НОМЕР ВЕКТОРА ПРИЗНАКОВ

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

REPORTFNAME ИМЯ ФАЙЛА ОТЧЕТА

Имя файла с результатами работы программы.

InitWeigthFunc ФУНКЦИЯ ИНИЦИАЛИЗАЦИИ НАЧАЛЬНЫХ ВЕСОВЫХ КОЭФФИЦИЕНТОВ СЕТИ.

InitWeigthFunc=Gauss

Начальные матрицы весовых коэффициентов будут выбраны как нормально распределенные случайные величины с математическим ожиданием Alfa и среднеквадратическом отклонении Sigma ( N[Alfa,Sigma]).

InitWeigthFunc=Random

Начальные матрицы весовых коэффициентов будут выбраны как равномерно распределенные случайные величины в диапазоне [-Constant,Constant].

(Значение по умолчанию – InitWeigthFunc= RandomDistribution[-3,3], т.е. Constant=3)

Constant ДИАПАЗОН РАВНОМЕРНО РАСПРЕДЕЛЕННЫХ СЛУЧАЙНЫХ ВЕЛИЧИН

Смотри InitWeigthFunc …

Sigma СРЕДНЕКВАДРАТИЧЕСКОЕ ОТКЛОНЕНИЕ НОРМАЛЬНО РАСПРЕДЕЛЕН-НЫХ СЛУЧАЙНЫХ ВЕЛИЧИН

Смотри InitWeigthFunc …

Alfa МАТЕМАТИЧЕСКОЕ ОЖИДАНИЕ НОРМАЛЬНО РАСПРЕДЕЛЕННЫХ СЛУЧАЙНЫХ ВЕЛИЧИН

Смотри InitWeigthFunc …

WidrowInit NGUYEN-WIDROW ИНИЦИАЛИЗАЦИЯ .

Параметр позволяет сформировать начальные весовые коэффициенты по методике предложенной Nguyen и Widrow. Возможные варианты: “Yes” – провести соответствующую инициализацию. “No”- не использовать эту процедуру.(Значение по умолчанию – “No”)

Shuffle ПЕРЕМЕШИВАНИЕ ВЕКТОРОВ ПРИЗНАКОВ

При значении параметра “Yes” – входные вектора будут предварительно перемешаны. При “No” – вектора будут подаваться на вход сети в той последовательности, в которой они расположены во входном файле (PATTERNFILE). (Значение по умолчанию – “Yes”).

Scaling ПРЕДВАРИТЕЛЬНАЯ ОБРАБОТКА ВЕКТОРОВ ПРИЗНАКОВ.

Этот параметр служит для использования в рамках программы “nvclass” процедуры масштабирования входных данных. Эта процедура позволяет значительно ускорить процесс обучения нейронной сети, а также качественно улучшает результаты тестирования. Возможные значения параметра: “Yes”,”No”. (Значение по умолчанию – “Yes”).

LearnToleranse ТОЧНОСТЬ ОБУЧЕНИЯ.

Параметр определяющий качество обучения нейронной сети. При достижении заданной точности ε для каждого вектора признаков из обучающей выборки настройка весовых коэффициентов сети заканчивается и сеть считается обученной. (Значение по умолчанию – 0.1).

Eta КОЭФФИЦИЕНТ ОБУЧЕНИЯ НЕЙРОННОЙ СЕТИ.

Значение коэффициента задает скорость и качество обучения нейронной сети. Используется для алгоритма обратного распространения ошибки. (Значение по умолчанию–1.0)

MaxLearnCycles МАКСИМАЛЬНОЕ КОЛИЧЕСТВО ИТЕРАЦИЙ ОБУЧЕНИЯ

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

Loop КОЛИЧЕСТВО ПОВТОРОВ ОБУЧЕНИЯ.

Параметр задает величину полных циклов функционирования программы (целое нечетное число). В каждом цикле формируются начальные матрицы весов производится обучение сети и осуществляется классификация тестового вектора. Результаты всех циклов обрабатываются, и формируется итоговое заключение . (Значение по умолчанию=1).

7.5 Алгоритм работы программы.

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

1. Инициализация сети;

2. Настройка;

3. Проверка тестовых векторов.

Инициализация

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

Настройка.

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

Проверка тестовых векторов.

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

7.6 Эксплуатация программного продукта.

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

Для корректной работы в дальнейшем желательно придерживаться определенной последовательности действий:

1. Подготовить исходные данные согласно принятом формату.

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

3. Запустить программу.

4. Проанализировать результат, записанный в соответствующем файле.

7.7 Результат работы программы.

Для исследований возможностей разработанного программного обеспечения были проведены различные эксперименты, основная цель которых - подобрать значения параметров настройки программы, при которых итоговые результаты ее работы содержали наименьшее количество ошибок идентификации. Методика, по которой оценивалась ошибка классификации, основана на подходе “cross-validation”.

Эксперименты проводились на данных, полученных из сейсмограмм, записанных в Норвежской сейсмологической сети. В исходной выборке насчитывалось 86 событий из разных классов, из них соответственно 50 – землетрясений и 36 – взрывов. Исследования проводились для разного числа признаков идентификации, а именно для 18 и 9 размерных векторов признаков.

Первая серия экспериментов была проведена на 18 размерных векторах. Структура нейронной сети соответствовала <18,9,1>, где 18 – количество нейронов во входном слое, 9- число нейронов на первом скрытом слое , 1-размерность выхода сети. Увеличение нейронов на скрытом слое не приводило к улучшению результатов, а при уменьшении возникали дополнительные ошибки, в следствии чего такая структура предлагается в качестве оптимальной.

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

В качестве начальной конфигурации использовались следующие значения настраиваемых параметров в файле “nvclass.inp”:

TYPE=2_2

NDATA=18

NPATTERN=86

PatternFile=norv18.pat

NetStructure=[18,9,1]

WidrowInit=No

Shuffle=Yes

Scaling=Yes

Eta=0.7

MaxLearnCycles=1950

Loop=5

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

Для примера рассмотрим влияние процедуры начальной инициализации весовых коэффициентов и точности обучения на ошибку классификации. На рисунках 7.1 и 7.2 едставлены эти результаты.


Отметим, что более стабильные результаты получаются в случае инициализации весов при помощи нормально распределенных величин. Можно добиться всего лишь 4-5 ошибок из 86, что соответствует ошибке идентификации равной 5-6 процентов.

Для 9 размерных векторов признаков была использована следующая структура нейронной сети <9,5,1>, т.е. 5 нейронов на скрытом слое было достаточно для получения хороших результатов.

В качестве примера приведем исследования аналогичные тем, которые описаны выше.(Рис. 7.3, 7.4).