Формирование обучающей выборки и оценка эффективности обученной нейросетевой модели

Формирование обучающей выборки и оценка эффективности обученной нейросетевой модели. Из исходных данных необходимо сформировать как минимум две выборки - обучающую и проверочную.

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

В разделе 4.4 был описан другой, наиболее точный метод расчета ошибки классификации.

Это, так называемый, метод скользящего экзамена синонимы cross-validation, plug-in -метод . 7,9 . В терминах нейронных сетей основную идею метода можно выразить так выбирается один вектор из всей совокупности данных, а остальные используются для обучения НС. Далее, когда процесс обучения будет завершен, предъявляется этот выбранный вектор и проверяется правильно сеть распознала его или нет. После проверки выбранный вектор возвращается в исходную выборку.

Затем выбирается другой вектор, на оставшихся сеть вновь обучается, и этот новый вектор тестируется. Так повторяется ровно n 1 n 2 раз, где n 1 -количество векторов первого класса, а n 2 - второго. По завершению алгоритма общая вероятность ошибки P подсчитывается следующим образом, где N n 1 n 2 - общее число примеров E- число ошибочных векторов сеть неправильно распознала предъявляемый пример. Недостатком этого метода являются большие вычислительные затраты, связанные с необходимость много раз проводить процедуру настройки весовых коэффициентов, а в следствии этого и большое количество времени, требуемое для вычисления величины. Однако в случае с малым количеством данных для определения эффективности обученной нейронной сети рекомендуется применять именно метод скользящего экзамена или некоторые его вариации.

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

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

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

Если же возникает необходимость построить нейросетевое решение, адаптированное под определенную задачу, и реализованное в виде отдельного программного модуля, то первый подход чаще всего неприемлем. Именно такие требования и были выдвинуты на начальном этапе исследований. Точнее, необходимо было разработать программу, предназначенную для классификации сейсмических данных при помощи нейросетевых технологий, а также работающую под операционной системой Unix Linux и Sun Solaris SystemV 4.2 . В результате была разработана программа, реализующая основные идеи нейроинформатики, изложенные в разделе 6. Следует отметить, что базовый алгоритм программы был выполнен под системой Windows 95, а лишь затем оптимизирован под Unix по той причине, что предложенная операционная система используется в узких научных и корпоративных кругах, и доступ к ней несколько ограничен, а для отладки программы требуется много времени.

Для большей совместимости версий под различные платформы использовались возможности языка программирования С. 7.1