Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Нейронные_сети_1.doc
Скачиваний:
37
Добавлен:
24.04.2019
Размер:
2.66 Mб
Скачать

2.9Оценка и коррекция нейросетевой модели

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

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

Первым этапом коррекции модели является генерация нескольких экземпляров нейросети и их обучение, т.к. результаты обучения зависят от начальных значений весов синапсов, которые генерируются для каждой сети случайным образом. После обучения нескольких экземпляров, выбирается сеть с минимальной тестовой ошибкой. Различные нейросети могут ошибаться на различных примерах тестовой выборки. В этом случае можно сформировать комитет из нейросетей и вычислять окончательный ответ по задаче как среднее арифметическое ответов отдельных сетей. В этом случае средняя ошибка комитета будет меньше средней ошибки каждой нейросети [57]. Изменение вида или параметров функции оценки также может улучшить качество работы ИНС. В [41] предлагается следующая методика обучения сетей с оценкой МНК с допуском: устанавливается максимальное значение допуска, сеть обучается, затем величина допуска постепенно снижается с дообучением сети, пока оценка не достигнет требуемого уровня.

Если нейронная сеть заданной структуры не может удовлетворительно решить задачу, возможно несколько вариантов действий:

  1. Добавление новых нейронов, новых слоев.

  2. Увеличение значения характеристики крутизны функции (4.3).

  3. Уменьшение значения характеристики крутизны функции (4.3).

Первые два варианта исходят из предположения, что модель недостаточно сложна или имеет недостаточную величину константы Липшица (4.5) для освоения задачи. Третий вариант предполагает, что нейросетевая функция недостаточно гладка для удовлетворительной аппроксимации. Уменьшение характеристики приведет к сглаживанию функции (4.3).

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

2.10 Конструктор нейронной сети

При проектировании интеллектуальных компонентов важным этапом является настройка структуры нейронной сети на предметную область, структуру и параметры обучающих данных. Под выбором структуры в случае многослойной сети прямого распространения (4.2) понимается определение числа слоев k нейронной сети и числа нейронов mk на каждом слое. Слои нумеруются от слоя, принимающего входные сигналы (1-ый слой) к слою, посылающему сигналы выходному слою(k-ый слой). Выходной (k+1-ый) слой обычно формируется автоматически в соответствии с поставленной задачей. Выбор структуры нейросетевой модели для решения конкретной задачи обычно возложен на пользователя в связи с тем, что в настоящее время отсутствуют универсальные методы определения оптимальной структуры нейросети. В литературе приводится несколько практических замечаний по поводу определения структуры сети в зависимости от задачи. В [41], например, предлагается сравнить оценку константы Липшица для выборки (4.5) и для нейросетевой функции. Для нейронной сети вида (4.2) константа Липшица определяется по формуле

,

(4.27)

где с – характеристика крутизны функции (4.3), mi – число нейронов на i-ом слое, m0 – число входных параметров, k – число слоев в сети. Тогда нейросеть может аппроксимировать выборку только в случае, если Ls < LNN. Другим принципом построения структуры сети может быть условие, по которому нейронная сеть должна иметь число настраиваемых параметров, меньшее, чем число примеров в обучающей выборке.

Как отмечалось ранее, методы автоматизированного формирования структуры нейросети делятся на методы наращивания и методы прореживания. В [40,41] отмечается преимущество методов наращивания. В соответствие с принципом автоматизации построения решателя предлагается эвристический метод автоматизированного наращивания структуры нейросети, основанный на методе динамического создания узлов (Dynamic Node Creation) [261] (рис.4.17):

  1. Пользователем задается число слоев k и строится начальная структура сети, содержащая минимальное число нейронов на каждом слое. Определяется максимальное число нейронов на каждом слое mkmax.

  2. Инициализация сети случайными параметрами. t :=1, t0=1.

  3. Такт обучения всех нейронов с незафиксированными параметрами, t:=t+1;

  4. Проверка условий:

H(t) Hmin ;

,

(5.28)

где t – номер текущего такта обучения, H(ti) – оценка обучения сети на t такте, константа, 0<<1, и q задаются пользователем.

  1. Если условия (5.28) не выполняются, то перейти к п.3, иначе перейти к следующему пункту.

  2. Если H(t) Hmin , то КОНЕЦ ОБУЧЕНИЯ, иначе перейти к следующему пункту.

  3. Проверка условия

,

(5.29)

где t0 момент добавления первого нейрона из тех, параметры которых не зафиксированы, t1 момент добавления текущего нейрона,константа, 0<<1.

  1. ЕСЛИ условие (4.29) не выполняется, ТО параметры нейронов, добавленные после момента t0 ,фиксируются и в дальнейшем обучении не участвуют, ИНАЧЕ нейроны, добавленные после момента t0 , не внесли существенного улучшения в качество обучения сети и они маркируются для инициализации.

  2. Инициализация нового нейрона и всех маркированных нейронов.

  3. Добавление нового нейрона в слой с наименьшим номером k, для которого mk < mkmax .

  4. Переход к п.3

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

Рис. 4.17. Алгоритм автоматизированного формирования структуры многослойной нейронной сети

В [239] отмечается, что для ряда задач применение метода динамического создания узлов может приводить к значительному увеличению времени построения нейросети, т.к. вся сеть переобучается после добавления каждого нейрона. Предлагаемый алгоритм отличается от метода динамического создания узлов тем, что часть параметров сети фиксируется и не участвует в обучении. Это достигается введением условия в п.5 и константы, регулирующей количество обучаемых нейронов. При задании значения близкого к 1, вся сеть будет инициализироваться случайными параметрами после добавления каждого нового узла, что соответствует созданию новой сети. При задании значения , близкого к 0, обучаться будет только добавленный нейрон. Фиксация части параметров сети может значительно ускорить процесс обучения [239].