Искусственные нейронные сети. Каширина И.Л. - 22 стр.

UptoLike

Составители: 

22
УПРАЖНЕНИЯ
1. Напишите программу, обучающую сеть обратного распространения игре в кре-
стики-нолики” 3×3. Клетки доски закодированы позициями 1..9. Входным
вектором является девятимерный вектор , в котором в соответствующей пози -
ции задается 0.1, если в ней находится нолик”, 0.9 - если крестик” и 0.5, если
клетка пуста . На выходе нейросети получается новое положение после хода
нейросети (нейросеть учится играть ноликами). Начинают крестики. Например:
Позиция на входе :
Код входа : 0.5 0.5 0.5 0.5 0.9 0.5 0.5 0.5 0.5
Ответ нейросети : 0.5 0.5 0.5 0.5 0.9 0.1 0.5 0.5 0.5
Позиция после хода нейросети:
Предварительно сыграйте сами с собой несколько примерных пар-
тий , записывая последовательности ходов . Обучите нейросеть, задав все ходы -
ответы ноликами. Далее пытайтесь играть с нейросетью, если она будет выда -
вать неверный (или невозможный ) ответ, сделайте ход за нее и включите этот
пример в обучающую выборку, продолжите обучение.
2. Напишите программу, обучающую сеть обратного распространения распозна -
ванию букв латинского алфавита . На вход сети подаются графические изобра -
жения букв, разбитые на квадраты (или пиксели) аналогично, как для одно-
слойного персептрона . Желательно использовать не менее 10-15 различных
шрифтов (например, шрифты True Type). Выходом сети может служить двоич -
ное представление порядкового номера буквы (можно также положить число
выходов сети равным числу букв, но это существенно увеличит размер сети и
время ее обучения).
3. Для сетей обратного распространения часто в качестве функции активации ис -
пользуют двухполюсный сигмоид. Эта функция имеет область значений (-1,1) и
определяется формулой : 1
1
2
)(
+
=
s
e
sf . Производную этой функции можно
выразить в виде:
))(1))((1(
2
1
)(' sfsfsf +=
. Выведите правило коррекции ве -
сов для выходного и скрытого слоев в этом случае.
4. Используя функцию активации из задачи 3, напишите программу, обучающую
сеть обратного распространения прогнозированию курса доллара (по отноше-
нию к рублю). Сеть имеет 30 входов , на которые подается курс доллара в 30
последовательных дней . Выходной слой содержит всего один нейрон, выдаю-
щий величину изменения курса на 31-й день (по сравнению с 30-м ). Для обу-
чения сети необходимо иметь статистику курса доллара за несколько последних
месяцев (доступную , например, в сети Интернет).
x
x
o
                                           22
                                   УПРАЖНЕНИЯ

1. Напишите программу, обучающую сеть обратного распространения игре в ‘кре-
   стики-нолики” 3×3. Клетки доски закодированы позициями 1..9. Входным
   вектором является девятимерный вектор, в котором в соответствующей пози-
   ции задается 0.1, если в ней находится “нолик”, 0.9 - если “крестик” и 0.5, если
   клетка пуста. На выходе нейросети получается новое положение после хода
   нейросети (нейросеть учится играть ноликами). Начинают крестики. Например:
   Позиция на входе :

     x

 Код входа : 0.5 0.5 0.5 0.5 0.9 0.5 0.5 0.5 0.5
 Ответ нейросети :   0.5 0.5 0.5 0.5 0.9 0.1 0.5 0.5 0.5
 Позиция после хода нейросети:

     x o
             Предварительно сыграйте сами с собой несколько примерных пар-
   тий, записывая последовательности ходов. Обучите нейросеть, задав все ходы -
   ответы ноликами. Далее пытайтесь играть с нейросетью, если она будет выда-
   вать неверный (или невозможный) ответ, сделайте ход за нее и включите этот
   пример в обучающую выборку, продолжите обучение.
2. Напишите программу, обучающую сеть обратного распространения распозна-
   ванию букв латинского алфавита. На вход сети подаются графические изобра-
   жения букв, разбитые на квадраты (или пиксели) аналогично, как для одно-
   слойного персептрона. Желательно использовать не менее 10-15 различных
   шрифтов (например, шрифты True Type). Выходом сети может служить двоич-
   ное представление порядкового номера буквы (можно также положить число
   выходов сети равным числу букв, но это существенно увеличит размер сети и
   время ее обучения).
3. Для сетей обратного распространения часто в качестве функции активации ис-
   пользуют двухполюсный сигмоид. Эта функция имеет область значений (-1,1) и
                                           2
   определяется формулой: f ( s ) =            −1 . Производную этой функции можно
                                       1 +e −s
                              1
   выразить в виде: f ' ( s) = (1 + f ( s))(1 − f ( s )) . Выведите правило коррекции ве-
                              2
   сов для выходного и скрытого слоев в этом случае.
4. Используя функцию активации из задачи 3, напишите программу, обучающую
   сеть обратного распространения прогнозированию курса доллара (по отноше-
   нию к рублю). Сеть имеет 30 входов, на которые подается курс доллара в 30
   последовательных дней. Выходной слой содержит всего один нейрон, выдаю-
   щий величину изменения курса на 31-й день (по сравнению с 30-м). Для обу-
   чения сети необходимо иметь статистику курса доллара за несколько последних
   месяцев (доступную, например, в сети Интернет).