3.1.1 Формирование обучающей выборки: Вся информация, которую нейронная сеть будет иметь о задаче,

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

3.1.1 Формирование обучающей выборки: Вся информация, которую нейронная сеть будет иметь о задаче,

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

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

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

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

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

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

Приводятся примерные на оценки количества обучающих пар L обучающей выборки, например [3],  , где W — количество настраиваемых параметров сети (количество весов), ε — погрешность обучения.

В [1] число обучающих пар  для многослойных сетей прямого распространения с одним скрытым слоем приблизительно оценивается в зависимости от параметров сети как , где n, p, m ‒ число нейронов в слоях – во входном, в скрытом и в выходном соответственно.

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

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

  1. Принцип последовательного эксперимента – размеры обучающей и тестовой выборок постепенно увеличиваются до тех пор, пока не будет достигнуто обучение заданного качества. Это позволит в случае неудачного обучения доработать обучающую выборку, а не создавать ее заново.
  2. Нормализация факторов, то есть преобразование натуральных значений факторов в безразмерные. Разные факторы имеют различную размерность и диапазоны изменения значений. Числовые значения этих факторов могут существенно различаться. Факторы с большими числовыми значениями могут в большей мере влиять на выходы и «забивать» остальные [3]. Это особенно заметно, когда нейроны сети имеют одинаковые функции активации. Использование безразмерных значений факторов при обучении уменьшает возможность появления «паралича» сети и приводит к более высокой скорости обучения.
  3. Точки проведения опытов определяются в соответствии с полными и дробными факторными экспериментами ПФЭ  и ДФЭ . Это позволяет избежать необходимости проведения избыточного количества опытов при большом числе факторов (7 и более) и  гарантирует, что не будет пропущено ни одного возможного сочетания факторов и не будет повторения одинаковых опытов. А в случае недостаточности примеров полного факторного эксперимента  можно переходить на тот же план, но с другими диапазонами варьирования факторов.

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

Это позволит определить коэффициент дробности k плана ДФЭ .  При числе факторов 2, 3 или 4 это может быть и план ПФЭ , то есть k — 0.

Но при большом числе факторов и, особенно, при сложности проведения опытов дробность  может составлять 2…3 и выше.

Для ДФЭ  определяются основные и дополнительные факторы; задаются значения основных факторов, а значения дополнительных факторов рассчитываются по генерирующим соотношениям [2]. Составляется расширенная матрица плана, которая реализуется, то есть выполняются опыты и находится  примеров обучающей выборки.

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

  1. Заданная величина ошибки не достигается и сеть обучить не удается.

В этом случае план ДФЭ  достраивается до плана ДФЭ , то есть дробность плана уменьшается на единицу.

Генерирующие соотношения для  дополнительных факторов инвертируются, и определяется еще  точек плана.

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

  1. Обучение завершается успешно.

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

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

В зависимости от результатов обучения повторяются и последующие действия.

Общий алгоритм последовательного формирования обучающей и тестовой выборок при обучении нейронной сети представлен на рисунке 1.

Рисунок 1. Алгоритм последовательного формирования обучающей и тестовой выборок при обучении нейронной сети

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

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

В этом случае предлагается простое решение.

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

Вместо уровней -1 и +1 (как раньше) уровни могут быть, например,   -0,5 и +0,5 и в дальнейшем, в случае целесообразности, ±0,75, ±0,25. На рисунке 2 показаны возможные уровни варьирования для двух факторов и отмечены точки, в которых выполняются опыты.

Цифры, которыми помечены точки, означают порядок выполнения опытов (в соответствии с порядком, который принят в полных факторных экспериментах).

Рисунок 2. Возможные уровни варьирования для двух факторов

Такой подход позволяет экономно проводить эксперимент, в отличии, например, от перехода к планам , в которых факторы варьируются на трех уровнях.

Кроме того, такие планы ПФЭ с двумя уровнями варьирования значений факторов, отличных от ±1, сохраняют свои замечательные свойства – свойства ортогональности и симметричности. Это позволяет легко находить параметры регрессионной модели.

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

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

Список литературы:

  1. Борисов В.В., Круглов В.В. Искусственные нейронные сети. Теория и практика. — М.: Горячая линия – Телеком, 2003. — 382 с.: ил.
  2. Сидняев Н.И. Теория планирования эксперимента и анализ статистических данных: учебное пособие для магистров. — М.: ИД Юрайт, 2012. — 399 с.
  3. Хайкин, С. Нейронные сети: полный курс, 2-е издание. Пер. с англ. — М.

    : Издательский дом «Вильямс», 2006. — 1104 с.: ил.Формирование примеров обучающей и тестовой выборки нейронной сети на принципах планирования экспериментовПолучение примеров обучающей и тестовой выборки для нейронной сети во многих случаях связано с необходимостью выполнения сложных и дорогостоящих экспериментов.

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

    Written by: Никишечкин Анатолий Петрович, Абдерразек АбдесселлемPublished by: БАСАРАНОВИЧ ЕКАТЕРИНАDate Published: 12/21/2016Edition: euroasian-science.ru_25-26.03.2016_3(24)

Источник: https://euroasia-science.ru/physiko-matematicheskie-nauki/%D1%84%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%BE%D0%B2-%D0%BE%D0%B1%D1%83%D1%87%D0%B0%D1%8E%D1%89%D0%B5%D0%B9-%D0%B8-%D1%82%D0%B5/

Обзор методов решения проблемы ограниченного объёма обучающей выборки в нейросетевом моделировании

3.1.1 Формирование обучающей выборки: Вся информация, которую нейронная сеть будет иметь о задаче,

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

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

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

Если всё же принято решения использовать в работе нейронную сеть, современные исследователи предлагают несколько путей решения проблемы и, соответственно, методы, их реализующие:

Основные методы

– уменьшение объёма или отказ от тестовой выборки;– псевдослучайная генерация новых примеров;

– структурные изменения нейронной сети или нейросетевой модели.

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

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

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

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

После обучения считается единственное значение ошибки для исключённого примера. Аналогично поступают со всеми остальными примерами, исключая из выборки и возвращая в неё предыдущие.

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

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

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

В статье [1] также приводится еще один метод оценки качества работы нейронной сети в случае малой выборки, который носит название бутстрэп (bootstrap).

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

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

В статье [2] в качестве решения поставленной проблемы предлагается использовать теорию и методы нечёткой логики и нечётких множеств для решения проблемы малого объёма обучающих данных в диффузионных нейронных сетях.

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

С использованием этих правил и методов дефаззификации получаются новые примеры, за счёт которых расширяется имеющаяся обучающая выборка.

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

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

Статья подготовлена по материалам публикаций:

1. Коробкова С. В. Проблемы эффективной аппроксимации многомерных функций с помощью нейронных сетей/ Известия Южного федерального университета. Технические науки. – 2006. – Т. 58, № 3. – С. 121–127.

2. Huang C., Moraga C. A Diffusion-Neural-Network for Learning from Small Samples/ International Journal of Approximate Reasoning. – 2004. – V. 35 P. 137–161.

3. Дударов С. П. Нейросетевое моделирование на основе перцептронных комплексов при малых объемах обучающих выборок/ С. П. Дударов, А. Н. Диев. – Математические методы в технике и технологиях – ММТТ-26: сб. трудов XXVI Междунар. науч. конф. Секции 6, 7, 8, 9. – Нижний Новгород: Нижегород. гос. техн. ун-т, 2013. – с. 114–116.

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

Источник: https://neuronus.com/theory/nn/43-obzor-metodov-resheniya-problemy-ogranichennogo-ob-joma-obuchayushchej-vyborki-v-nejrosetevom-modelirovanii.html

Применение нейронных сетей для задач классификации

3.1.1 Формирование обучающей выборки: Вся информация, которую нейронная сеть будет иметь о задаче,

Решение задачи классификации является одним из важнейших применений нейронных сетей.

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

Примером таких задач может быть, например, задача определения кредитоспособности клиента банка, медицинские задачи, в которых необходимо определить, например, исход заболевания, решение задач управления портфелем ценных бумаг (продать купить или «придержать» акции в зависимости от ситуации на рынке), задача определения жизнеспособных и склонных к банкротству фирм.

Цель классификации

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

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

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

Классификатор таким образом относит объект к одному из классов в соответствии с определенным разбиением N-мерного пространства, которое называется пространством входов, и размерность этого пространства является количеством компонент вектора.

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

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

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

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

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

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

Использование нейронных сетей в качестве классификатора

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

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

Так Минский в своей работе «Персептроны» доказал, что простейшие однослойные нейронные сети способны решать только линейно разделимые задачи. Это ограничение преодолимо при использовании многослойных нейронных сетей.

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

Таким образом сеть распознает не только характеристики исходных данных, но и «характеристики характеристик», сформированные скрытым слоем.

Подготовка исходных данных

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

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

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

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

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

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

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

Кодирование выходных значений

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

Наиболее простым способом представления выходных данных в таком случае является вектор, компоненты которого соответствуют различным номерам классов. При этом i-я компонента вектора соответствует i-му классу. Все остальные компоненты при этом устанавливаются в 0. Тогда, например, второму классу будет соответствовать 1 на 2 выходе сети и 0 на остальных.

При интерпретации результата обычно считается, что номер класса определяется номером выхода сети, на котором появилось максимальное значение. Например, если в сети с тремя выходами мы имеем вектор выходных значений (0.2,0.6,0.

4), то мы видим, что максимальное значение имеет вторая компонента вектора, значит класс, к которому относится этот пример, – 2. При таком способе кодирования иногда вводится также понятие уверенности сети в том, что пример относится к этому классу.

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

Например, для рассмотренного выше примера уверенность сети в том, что пример относится ко второму классу, определится как разность между второй и третьей компонентой вектора и равна 0.6-0.4=0.2. Соответственно чем выше уверенность, тем больше вероятность того, что сеть дала правильный ответ. Этот метод кодирования является самым простым, но не всегда самым оптимальным способом представления данных.

Известны и другие способы. Например, выходной вектор представляет собой номер кластера, записанный в двоичной форме. Тогда при наличии 8 классов нам потребуется вектор из 3 элементов, и, скажем, 3 классу будет соответствовать вектор 011.

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

Другой подход состоит в разбиении задачи с k классами на k*(k-1)/2 подзадач с двумя классами (2 на 2 кодирование) каждая. Под подзадачей в данном случае понимается то, что сеть определяет наличие одной из компонент вектора. Т.е.

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

Число этих групп можно определить как количество неупорядоченных выборок по два из исходных компонент. Из комбинаторики

$A_kn = \frac{k!}{n!\,(k\,-\,n)!} = \frac{k!}{2!\,(k\,-\,2)!} = \frac{k\,(k\,-\,1)}{2}$

Тогда, например, для задачи с четырьмя классами мы имеем 6 выходов (подзадач) распределенных следующим образом:

N подзадачи(выхода)КомпонентыВыхода
11-2
21-3
31-4
42-3
52-4
63-4

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

N классаАкт. Выходы
11,2,3
21,4,5
32,4,6
43,5,6

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

Выбор объема сети

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

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

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

Иначе вместо обобщения сеть просто запомнит данные и утратит способность к классификации – результат будет неопределен для примеров, которые не вошли в обучающую выборку.

Выбор архитектуры сети

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

Алгоритм построения классификатора на основе нейронных сетей

  1. Работа с данными
    • Составить базу данных из примеров, характерных для данной задачи
    • Разбить всю совокупность данных на два множества: обучающее и тестовое (возможно разбиение на 3 множества: обучающее, тестовое и подтверждающее).
  2. Предварительная обработка
    • Выбрать систему признаков, характерных для данной задачи, и преобразовать данные соответствующим образом для подачи на вход сети (нормировка, стандартизация и т.д.). В результате желательно получить линейно отделяемое пространство множества образцов.
    • Выбрать систему кодирования выходных значений (классическое кодирование, 2 на 2 кодирование и т.д.)
  3. Конструирование, обучение и оценка качества сети
    • Выбрать топологию сети: количество слоев, число нейронов в слоях и т.д.
    • Выбрать функцию активации нейронов (например «сигмоида»)
    • Выбрать алгоритм обучения сети
    • Оценить качество работы сети на основе подтверждающего множества или другому критерию, оптимизировать архитектуру (уменьшение весов, прореживание пространства признаков)
    • Остановится на варианте сети, который обеспечивает наилучшую способность к обобщению и оценить качество работы по тестовому множеству
  4. Использование и диагностика
    • Выяснить степень влияния различных факторов на принимаемое решение (эвристический подход).
    • Убедится, что сеть дает требуемую точность классификации (число неправильно распознанных примеров мало)
    • При необходимости вернутся на этап 2, изменив способ представления образцов или изменив базу данных.
    • Практически использовать сеть для решения задачи.

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

Источник: https://basegroup.ru/community/articles/classification

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

3.1.1 Формирование обучающей выборки: Вся информация, которую нейронная сеть будет иметь о задаче,

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

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

Как правило, используют следующую методику: из всей совокупности данных случайным образом выбирают около 90% векторов для обучения, а на оставшихся 10% тестируют сеть.

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

Это, так называемый, метод скользящего экзамена (синонимы: cross-validation, “plug-in”-метод).[7,9].

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

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

Затем выбирается другой вектор, на оставшихся сеть вновь обучается, и этот новый вектор тестируется. Так повторяется ровно n1+n2 раз, где n1–количество векторов первого класса, а n2  — второго.

По завершению алгоритма общая вероятность ошибки P подсчитывается следующим образом:

, где

N= n1+n2 — общее число примеров;

E– число ошибочных векторов (сеть неправильно распознала предъявляемый пример).

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

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

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

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

7. Программная реализация.

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

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

И это сильно ограничивает их применение.

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

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

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

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

Следует отметить, что базовый алгоритм программы был выполнен под системой Windows 95, а лишь затем оптимизирован под Unix по той причине, что предложенная операционная система используется в узких научных и корпоративных кругах, и доступ к ней несколько ограничен, а для отладки программы требуется много времени.

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

7.1 Функциональные возможности программы.

В программе “nvclass.с” – (нейро-классификатор векторов данных) реализована модель двухслойного персептрона, представленная в разделе 6. Эта программа предназначена для соотнесения тестируемого вектора признаков сейсмической информации к одному из двух классов.

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

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

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

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

Для дополнительной настройки нейронной сети в программе реализован ряд процедур, описанных в разделе 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.

… МП к некритическому экстраполированию результата считается его слабостью. Сети РБФ более чувствительны к «проклятию размерности» и испытывают значительные трудности, когда число входов велико. 5.

МОДЕЛИРОВАНИЕ НЕЙРОННЫХ СЕТЕЙ ДЛЯ ПРОГНОЗИРОВАНИЯ СТОИМОСТИ НЕДВИЖИМОСТИ   5.1 Особенности нейросетевого прогнозирования в задаче оценки стоимости недвижимости Использование нейронных сетей можно …

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

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

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

… (ШД), адресов (ША) и управления (ШУ). Однокристальные микропроцессоры получаются при реализации всех аппаратных средств процессора в виде одной БИС или СБИС (сверхбольшой интегральной схемы).

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

..

… данных а разбивать входные данные на кластеры. •Рекурсивные сети Элмана, способные обрабатывать последовательности векторов.

•Вероятностные сети, аппроксимирующие Байесовские классификаторы с любой степенью точности.

  Общие принципы, характерные для нейросетей Согласно общепринятым представлениям наиболее общими принципами, характерными для современных нейросетей являются: коннекционизм, …

Источник: https://www.KazEdu.kz/referat/39054/11

Формирование обучающей выборки при использовании искусственных нейронных сетей в задачах поиска ошибок баз данных

3.1.1 Формирование обучающей выборки: Вся информация, которую нейронная сеть будет иметь о задаче,

Формирование обучающей выборки при использовании искусственных нейронных сетей в задачах поиска ошибок баз данных

,

Неотъемлемой частью современных информационных систем являются базы данных (БД), предназначенные для хранения и извлечения информации.

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

Соответственно среди требований к данным, хранимым в БД, на первый план выходят такие как полнота, актуальность и достоверность. Существующие подходы к обеспечению достоверности включают ограничения целостности, триггеры и использование хранимых процедур [1, 2].

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

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

Репрезентативность — соответствие характеристик выборки характеристикам популяции или генеральной совокупности в целом [4, 5]. Репрезентативность определяет, насколько возможно обобщать результаты исследования с привлечением определённой выборки на всю генеральную совокупность, из которой она была собрана.

В контексте аналитических технологий под репрезентативностью исходных данных следует понимать наличие достаточного количества разнообразных обучающих примеров, отражающих правила и закономерности, которые должны быть обнаружены моделью в процессе обучения [6]. Она имеет три аспекта [4]:

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

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

—  равномерность представления классов — примеры различных классов должны быть представлены в обучающей выборке примерно в одинаковых пропорциях. Если один из классов будет преобладать, то это может привести к «перекосу» в процессе обучения модели, и данный класс будет определен моделью как наиболее вероятный для любых новых наблюдений [8].

Рассмотрим каждое из требований более подробно.

Исходя из свойств нейронных сетей, число нейронов входного слоя, при использовании таблицы (отношения) БД для обучения ИНС равно числу столбцов в таблице, выбранных для проведения проверки [6, 8]. Оно хранится в метаданных БД и может быть извлечено из служебных таблиц [7, 8].

Для многослойной сети число нейронов в скрытом слое должно превышать число нейронов во входном слое в 1,5 — 2 раза [9], таким образом, общее число нейронов во входном и скрытом слое составляет от 2,5n до 3n. Так как сеть полносвязная, т. е.

каждый нейрон предыдущего слоя соединён со всеми нейронами следующего слоя, то число связей между 1-ым и 2-м слоями равно n×2×n = 2×n2.

Общее же число связей для двухслойной сети:

,

где n — число входных нейронов,

m — число выходных нейронов.

Для сети Кохонена:

.

Однако число нейронов в выходном слое m является неизвестным, так как зависит от количества классов объектов [9, 10], информация о которых хранится в данной таблице. Таким образом, число связей между нейронами скрытого и выходного слоя равное 2n×m невозможно определить до окончания этапа кластеризации.

При n > 1 и m > 1

.

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

Воспользуемся эмпирическим предположением, основанным на предыдущих практических результатах, и примем число классов m равным 10, тогда:

.

Выберем KM строк из таблицы в качестве обучающей выборки для обучения сети Кохонена, т. е. KK = KM, тогда

,

. (1)

То есть, сеть Кохонена обученная на KM примерах должна иметь возможность выделить до 2n+20 кластеров, что является достаточным для большинства задач и предметных областей.

Следующие два требования — разнообразие и равномерность возможно обеспечить случайным выбором строк из таблицы для обучающей выборки [11].

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

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

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

Рассмотрим результаты, полученные при использовании разработанного метода для поиска ошибок в тестовой БД, которая содержит 485 строк с информацией о деятельности некоторой транспортной компании, в 5 из которых намеренно внесены ошибки.

Известно, что в таблице представлена информация о n = 3 кластерах различных объектов, тогда, в соответствии с формулой (1) m = 26 строк. Так как объем обучающей выборки должен превышать полученное значение в несколько (т. е.

минимум в 2) раз и, так как в соответствии с разработанным методом [1], используются 2 выборки, то обще число строк равно 26 × 2 × 2 = 104.

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

На графике (рис. 1) видно, что наилучший результат достигается при объёме обучающей выборки, составляющем 20% от всей таблицы, то есть 485 × 0.2 = 97 строк, что соответствует рассчитанному ранее объёму выборки.

Рис. 1 — Зависимость положения ошибочной строки от объема обучающей выборки

Для указанного объема обучающей выборки были проведены эксперименты по обучению ИНС и классификации строк тестовой таблицы. В результате каждой строке было поставлено в соответствие некоторое число — уверенность ИНС в принадлежности строки к одному из классов данных, выделенных в обучающей выборке.

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

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

Рис. 2 — Распределение ошибочных строк

Таким образом, результаты экспериментов подтверждают теоретические расчёты достаточного объёма обучающей выборки, а также эффективность случайного выбора строк из таблицы БД, и позволяют сделать вывод о том, что в случае наличия в обучающей выборке достоверных данных, значение принадлежности строки к какому-либо классу является адекватным критерием её достоверности.

Литература

  1.  Карпова данных: модели, разработка, реализация [Текст]. — СПб.: Питер, 2001. — 304 с.; ил.

  2.  Nicolas J.-M. Logic for improving integrity checking in relational databases, Acta Informica, 18:3 (1982), p. 227 — 253.

  3.  , , Фатхи многослойных радиально-базисных нейронных сетей для верификации реляционных баз данных [Электронный ресурс] // «Инженерный вестник Дона», 2012, №1. – Режим доступа: http://*****/magazine/archive/n1y2012/686 (доступ свободный) – Загл. с экрана. – Яз. рус.

  4.  Репрезентативность данных (Representativeness of data) // BaseGroup Labs — Глоссарий [Электронный ресурс] URL: http://www. *****/glossary/definitions/representativeness/ (дата обращения 26.07.2011)

  5.  Кобзарь математическая статистика. Для инженеров и научных работников [Текст]. — М.: Физматлит. — 2006 г. — 814 с.

  6.  , , Холод анализа данных: Data Mining, Visual Mining, Text Mining, OLAP [Текст] — 2-е изд. перераб. и доп. — СПб.: БХВ-Петербург, 2007. — 384 с.: ил.

  7.  Сахил Малик Microsoft 2.0 для профессионалов = Pro 2.0. [Текст] — М.: «Вильямс», 2006. — с. 560.

  8.  Ian H. Witten, Eibe Frank and Mark A. Hall Data Mining: Practical Machine Learning Tools and Techniques. — 3rd Edition. — Morgan Kaufmann, 2011. — p. 664.

  9.  Саймон Хайкин Нейронные сети: полный курс = Neural Networks: A Comprehensive Foundation. [Текст] — 2-е. — М.: «Вильямс», 2006. — с. 1104.

10.  , Нейросетевое распознавание классов в режиме реального времени [Электронный ресурс] // «Инженерный вестник Дона», 2013, №1. — Режим доступа: http://www. *****/magazine/archive/n1y2013/1494 (доступ свободный) – Загл. с экрана. — Яз. рус.

11.  Загоруйко методы анализа данных и знаний. [Текст] — Новосибирск: ИМ СО РАН. — 1999. — 270 с.

Источник: https://pandia.ru/text/78/203/3396.php

Scicenter1
Добавить комментарий