Читаем Учебное пособие по курсу «Нейроинформатика» полностью

НазваниеСмысл
ТочкаТочка в пространстве параметров или входных сигналов. Аналогична вектору.
ВекторВектор в пространстве параметров или входных сигналов. Аналогичен точке.
Вектор_минимумовВектор минимальных значений параметров или входных сигналов.
Вектор_максимумовВектор максимальных значений параметров или входных сигналов.
Указатель_на_векторАдрес вектора. Используется для передачи векторов в макрокоманды.
Пустой_указательУказатель на отсутствующий вектор.

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

Таблица 2. Список макрокоманд, используемых для описания учителя

НазваниеАргументы (типы)Выполняемые действия
Модификация_вектораУказатель_на_вектор Старый_Шаг Новый_ШагГенерирует запрос на модификацию вектора (см. раздел «Провести обучение (Modify)»).
Вычислить_градиентВычисляет градиент функции оценки.
Установить_параметрыУказатель_на_векторСкопировать вектор, указанный в аргументе, в текущий вектор.
Создать_векторУказатель_на_векторСоздает экземпляр вектора с неопределенными значениями. Адрес вектора помещается в аргумент.
Освободить_векторУказатель_на_векторОсвобождает память занятую вектором, расположенным по адресу Указатель_на_вектор.
Случайный_векторУказатель_на_векторВ векторе, на который указывает Указатель_на_вектор, генерируется вектор, каждая из координат которого является случайной величиной, равномерно распределенной на интервале между значениями соответствующих координат векторов Вектор_минимумов и Вектор_максимумов.
Оптимизация_шагаУказатель_на_вектор Начальный_ШагПроизводит подбор оптимального шага (см. рис. 3).
Сохранить_векторУказатель_на_векторСкопировать текущий вектор в вектор, указанный в аргументе.
Вычислить_оценкуОценкаВычисляет оценку текущего вектора. Вычисленную величину складывает в аргумент Оценка.
<p>Неградиентные методы обучения</p>

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

1. Метод случайной стрельбы (представитель семейства методов Монте-Карло).

2. Метод покоординатного спуска (псевдоградиентный метод).

3. Метод случайного поиска (псевдоградиентный метод).

4. Метод Нелдера-Мида.

Метод случайной стрельбы

1.  Создать_вектор В1

2.  Создать_вектор В2

3.  Вычислить_оценку О1

4.  Сохранить_вктор В1

5.  Установить_параметры В1

6.  Случайный_вектор В2

7.  Модификация_вектора В2, 0, 1

8.  Вычислить_оценку О2

9.  Если О2<О1 то переход к шагу 11

10. Переход к шагу 5

11. О1=О2

12. Переход к шагу 4

13. Установить_параметры В1

14. Освободить_вектор В1

15. Освободить_вектор В2

Рис. 1. Простейший алгоритм метода случайной стрельбы

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

Перейти на страницу:

Похожие книги