- •Оглавление
- •Аналитические технологии
- •Формализация нейронных сетей
- •Принцип обучения искусственных нейронных сетей
- •Концепция обучения нейронной сети, предложенная Хэбом
- •Сбор данных для нейронной сети
- •Прикладные возможности нейронных сетей
- •Переобучение и обобщение
- •Персептрон
- •Алгоритм обратного распространения ошибки
- •Сигмоидальный нейрон
- •Нейрон типа «адалайн»
- •Инстар и оутстар Гроссберга
- •Нейрон типа wta (Winner Takes All)
- •08.10.2011 Модель нейрона Хэбба
- •Стохастическая модель нейрона
- •Стохастические алгоритмы обучения
- •Настройка числа нейронов в скрытых слоях многослойных сетей в процессе обучения
- •Алгоритмы сокращения
- •Конструктивные алгоритмы
- •Упрощенные алгоритмы расщепления
- •Радиальная базисная сеть
- •Вероятностные нейронные сети
- •Линейные нейронные сети
- •Обучение
- •Сети с самоорганизацией на основе конкуренции
- •12.11.2011 Модели ассоциативной памяти. Сети Хопфилда
- •Когнитивные карты
- •19.11.2011 Генетические алгоритмы Естественный отбор и генетическое наследование
- •Модель эволюции в природе, реализованная программно
- •Символьная модель простого генетического алгоритма
- •Работа простого генетического алгоритма
- •26.11.2011 Шима (Schema)
- •Применение аналитических технологий
- •03.12.2011
- •Бизнес-приложения
- •Программные реализации аналитических технологий
- •Список литературы
Настройка числа нейронов в скрытых слоях многослойных сетей в процессе обучения
Способы настройки можно разбить на 2 группы: конструктивные алгоритмы и алгоритмы сокращения.
Алгоритмы сокращения
В основе алгоритма сокращения лежит принцип постепенного удаления из нейросети синапсов и нейронов. В начале работы алгоритма обучения с сокращением число нейронов в скрытых слоях сети заведомо избыточна.
Существует 2 подхода к реализации алгоритма сокращения:
Метод штрафных функций:
В целевую функцию алгоритма обучения вводятся штрафы за то, что значения синоптических весов отличны от нуля.
Пример:
Метод проекций:
Синоптический вес обнуляется, если его значение попало в заданный диапазон.
Алгоритм сокращения имеет два недостатка:
Нет методики определения числа нейронов скрытых слоев, которые являются избыточными, поэтому перед началом работы алгоритма это число нужно угадать;
В процессе работы алгоритма сеть содержит избыточное число нейронов, поэтому обучение идёт медленно;
Конструктивные алгоритмы
Предшественником конструктивных алгоритмов можно считать методику обучения многослойных систем, включающий в себя следующие шаги:
Выбор начального числа нейронов в скрытых слоях;
Инициализация сети, т.е. присваивание синоптическим весам и смещениям сети случайные значения из заданного диапазона;
Обучение сети по заданной выборке;
Завершение в случае успешного обучения. Если сеть обучить не удалось, то число нейронов увеличивается и повторяются шаги 2-4;
В конструктивных алгоритмах число нейронов в скрытых слоях изначально мало и постепенно увеличивается. Сохраняются навыки, приобретенные сетью до увеличения числа нейронов. Конструктивные алгоритмы различаются правилами задания значений параметров вновь добавленных в есть нейронов:
Значения параметров – случайные числа из заданного диапазона;
Значения весов нового нейрона определяется путем расщепления одного из старых нейронов;
Первый способ не требует значительных вычислений, однако его использование приводит к некоторому увеличению значения функции ошибки после каждого добавления нового нейрона. В результате случайного задания значений параметров может появиться избыточность вычислений. Расщепление нейронов лишено указанных недостатков.
Суть алгоритма расщепления состоит в следующем: в процессе обучения векторы изменения весов, соответствуют отдельным обучающим примерам, имеют два преимущественных направления. Такие нейроны подвергаются расщеплению. В результате расщепления в сети оказывается два нейрона, первый из которых имеет вектор весов, представляющий собой сумму вектора весов исходного нейрона и вектора весов одного из преимущественных направлений.
Убирать из сети, т.е. расщеплять нейроны, вектора которых имеют 2 преимущественных направления необходимо, поскольку наличие таких нейронов приводит к осцилляциям при обучении классическим методом.
Упрощенные алгоритмы расщепления
Такие алгоритмы не требуют значительных вычислений. Общее число нейронов сети, построенной с помощью предлагаемого алгоритма по заданной обучающей выборке, может быть больше, чем у сети, построенной с помощью исходного алгоритма.
В упрощенном алгоритмом для расщепления выбирают нейрон с наибольшим значением функционала.
В качестве критерия нейрона используется отношение суммы длин вектором изменения весов нейронов, соответствующих различным обучающим примерам, к длине сумм этих вектором. В результате расщепления в место исходного нейрона в сеть вводятся 2 новых нейрона. Значением синоптического веса нового нейрона – значение соответствующего веса старого нейрона плюс некоторый небольшой шум.