русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Конструктивные алгоритмы


Дата добавления: 2013-12-23; просмотров: 938; Нарушение авторских прав


Алгоритмы сокращения

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

Способы настройки можно разбить на 2 группы: конструктивные алгоритмы и алгоритмы сокращения.

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

Существует 2 подхода к реализации алгоритма сокращения:

1. Метод штрафных функций:

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

Пример:

 

2. Метод проекций:

Синоптический вес обнуляется, если его значение попало в заданный диапазон.

Алгоритм сокращения имеет два недостатка:

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

2) В процессе работы алгоритма сеть содержит избыточное число нейронов, поэтому обучение идёт медленно;

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

1) Выбор начального числа нейронов в скрытых слоях;

2) Инициализация сети, т.е. присваивание синоптическим весам и смещениям сети случайные значения из заданного диапазона;

3) Обучение сети по заданной выборке;

4) Завершение в случае успешного обучения. Если сеть обучить не удалось, то число нейронов увеличивается и повторяются шаги 2-4;

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



1) Значения параметров – случайные числа из заданного диапазона;

2) Значения весов нового нейрона определяется путем расщепления одного из старых нейронов;

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

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

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



<== предыдущая лекция | следующая лекция ==>
Стохастические алгоритмы обучения | Радиальная базисная сеть


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.