Для дополнительной настройки нейронной сети в программе реализован ряд процедур, описанных в разделе 6. Из них можно выделить следующие: . Различные процедуры начальной инициализации весовых коэффициентов; . Пакетный режим обучения; . Алгоритм коррекции шага обучения; . Процедуры предварительной обработки данных; . Алгоритм оценки эффективности – cross-validation. . Процедура многократного обучения.
Последняя процедура (многократное обучение сети) предусмотрена для устранения возможных ошибок идентификации. Для нейронной сети заданное число раз (Cycle) генерируются матрицы начальных весовых коэффициентов и выполняется алгоритм обучения и идентификации тестового вектора. По полученным результатам обучения и тестирования выбирается вариант наибольшего повторения и итоговое решение принимается исходя из него. Для исключения неоднозначности это число выбирается положительным , целым, нечетным.
В программе “nvclass” предусмотрены следующие режимы функционирования: . «Внешний» режим – идентификации тестового входного вектора признаков; . «Внутренний» режим – идентификация вектора признаков из набора векторов предыстории.
«Внешний» режим предназначен для классификации вновь поступивших сейсмических данных и может быть использовать в следующих случаях
. Классификация на нейронных сетях, уже обученных на данных из конкретных регионов регионов, . Классификация с повторным обучением нейронной сети.
«Внутренний» режим служит для оценки вероятности ошибки идентификации сети и включает два подрежима – проверки правильности идентификации одного из векторов набора предыстории и последовательной проверки всех заданных векторов (“cross-validation”).
Режим работы программы устанавливается в файле настроек.
После завершения работы основные результаты записываются в соответствующий файл отчета, который потом можно использовать для детального анализа. Пример файла приведен в приложении 4.
7.2 Общие сведения. 1. Программный пакет предназначенный для идентификации типа сейсмического события включает следующие модули: . Исходный код программы “nvclass.c” и “nvclass.h”; . Файл с настройками режима работы программы “nvclass.inp”; . Файл с обучающей выборкой векторов “vector.txt”; . Файл с векторами для тестирования сети “vector.tst”; . Файл, содержащий описание определенной конфигурации сети и весовые коэффициенты этой уже обученной сети “nor18.net”. . Файл автоматической компиляции “Makefile” (Только для версии под Unix). . Файл отчета о результатах работы программы “Report.txt”.
2. В настоящий момент разработано две версии программы. Одна работает под операционной системой Dos 6.2 и выше, а другая под Unix (Linux, Solaris
V4.2). 3. Необходимое средство компиляции: . Для Dos (Windows) – любой компилятор Си. Например, Borland C++ 3.1 или выше. . Для Unix стандартный компилятор cc, входящий в состав базовой комплектации любой операционной системы семейства Unix. 7.3 Описание входного файла с исходными данными.
В качестве исходных данных используется отформатированный текстовый файл, в котором хранится информация о размерности векторов, их количестве и сами вектора данных. Файл должен иметь форму числовой матрицы. Каждая строка матрицы соответствует одному вектору признаков. Количество признаков должно совпадать с параметром NDATA. Количество столбцов равно количеству признаков плюс два. Первый столбец содержит порядковый номер вектора в общей совокупности данных (соответствует последовательности 1, 2, 3,...,NPATTERN), а в последнем столбце записаны значения указателя классификатора: 1- для вектора из первого класса, 0 – для вектора из второго класса. Все числовые параметры разделяются пробелами и записываются в кодах ASCII. Пример файла приведен в приложении 2.
7.4 Описание файла настроек.
Параметры настройки программы содержаться во входном файле “nvclass.inp”. Пример файла приведен в приложении 3. Для настройки используются следующие переменные: TYPE - РЕЖИМ РАБОТЫ ПРОГРАММЫ
TYPE=1_1
Это значение соответствует внешнему режиму функционирования программы без обучения нейронной сети, т.е. тестирование на заранее обученной нейронной сети. При этом надо задать следующие параметры:
1. NDATA –Размерность входных данных
2. TESTVECTOR – Имя файла с тестируемым вектором
3. NETWORKFILE – Имя файла с матрицами весов предварительно обученной сети
TYPE=1_2
Это значение соответствует внешнему режиму функционирования программы с обучением нейронной сети и тестированием на ней заданного вектора. Необходимо задать следующие параметры:
2. NPATTERN –Количество векторов признаков
3. PATTERNFILE-Имя файла с набором векторов признаков
4. TESTVECTOR – Имя файла с тестируемым вектором;
5. RESNETFNAME- Имя выходного файла с матрицами весов обученной сети.
TYPE=2_1
Данное значение соответствует внутреннему режиму с проверкой одного из векторов из представленной выборки. Для функционирования программы необходимо задать следующие параметры:
3. PATTERNFILE -Имя файла с набором векторов признаков
4. NUMBERVECTOR -Номер тестового вектора признаков из заданной выборки
TYPE=2_2
При данном значении параметра программа будет функционировать во внутреннем режиме с последовательной проверкой всех векторов
(“cross_validation”). Необходимо задать следующие параметры :
1. NDATA -Размерность входных данных
NDATA РАЗМЕРНОСТЬ ВЕКТОРОВ ПРИЗНАКОВ
Задается размерность векторов признаков, или количество признаков в каждом векторе наблюдений. Этой величине должны соответствовать все входные данные в текущем сеансе работы программы.
NPATTERN КОЛИЧЕСТВО ВЕКТОРОВ ПРИЗНАКОВ
Этот числовой параметр характеризует объем обучающей выборки и соответствует количеству строк во входном файле 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 СРЕДНЕКВАДРАТИЧЕСКОЕ ОТКЛОНЕНИЕ НОРМАЛЬНО РАСПРЕДЕЛЕН-НЫХ
СЛУЧАЙНЫХ ВЕЛИЧИН
Alfa МАТЕМАТИЧЕСКОЕ ОЖИДАНИЕ НОРМАЛЬНО РАСПРЕДЕЛЕННЫХ СЛУЧАЙНЫХ
ВЕЛИЧИН
WidrowInit NGUYEN-WIDROW ИНИЦИАЛИЗАЦИЯ .
Параметр позволяет сформировать начальные весовые коэффициенты по методике предложенной Nguyen и Widrow. Возможные варианты: “Yes” – провести соответствующую инициализацию. “No”- не использовать эту процедуру.(Значение по умолчанию – “No”)
Shuffle ПЕРЕМЕШИВАНИЕ ВЕКТОРОВ ПРИЗНАКОВ
При значении параметра “Yes” – входные вектора будут предварительно перемешаны. При “No” – вектора будут подаваться на вход сети в той последовательности, в которой они расположены во входном файле (PATTERNFILE). (Значение по умолчанию – “Yes”). Scaling ПРЕДВАРИТЕЛЬНАЯ ОБРАБОТКА ВЕКТОРОВ ПРИЗНАКОВ.
Этот параметр служит для использования в рамках программы
“nvclass” процедуры масштабирования входных данных. Эта процедура позволяет значительно ускорить процесс обучения нейронной сети, а также качественно улучшает результаты тестирования. Возможные значения параметра: “Yes”,”No”. (Значение по умолчанию – “Yes”). LearnToleranse ТОЧНОСТЬ ОБУЧЕНИЯ.
Параметр определяющий качество обучения нейронной сети. При достижении заданной точности ? для каждого вектора признаков из обучающей выборки настройка весовых коэффициентов сети заканчивается и сеть считается обученной. (Значение по умолчанию – 0.1).
Eta КОЭФФИЦИЕНТ ОБУЧЕНИЯ НЕЙРОННОЙ СЕТИ.
Значение коэффициента задает скорость и качество обучения нейронной сети. Используется для алгоритма обратного распространения ошибки. (Значение по умолчанию–1.0)
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10