Просчитать одну итерацию цикла обучения по -правилу однослойной бинарной неоднородной нейронной сети, состоящей из 2 нейронов и имеющей функции активации: гиперболический тангенс (k=2) и линейную (k=0,8). в качестве обучающей выборки использовать таблицу истинности для операций дизъюнкции и эквивалентности (не использовать первую строчку таблицы). синаптические веса задать
ΔWij = η * (dj - yj) * φ'(aj) * xi,
где:
- ΔWij - изменение синаптического веса между нейронами i и j,
- η - коэффициент обучения (learning rate),
- dj - желаемый (ожидаемый) выходной сигнал,
- yj - фактический выходной сигнал,
- φ'(aj) - производная функции активации (k * (1 - активация^2)),
- xi - входной сигнал.
Допустим, наша неоднородная нейронная сеть состоит из 2 нейронов. Инициализируем синаптические веса (Wij) случайными числами:
- W11 = 0.7,
- W12 = 0.2,
- W21 = 0.4,
- W22 = 0.9.
Для каждого обучающего примера (строки таблицы истинности) проведем одну итерацию обучения.
1. Обучение по операции дизъюнкции:
Возьмем первые две строки таблицы истинности (0 0 0 и 0 1 1).
- Переведем входные значения (0 и 0) в нейроны: x1 = 0, x2 = 0.
- Найдем взвешенную сумму для каждого нейрона:
a1 = x1 * W11 + x2 * W21 = 0 * 0.7 + 0 * 0.4 = 0,
a2 = x1 * W12 + x2 * W22 = 0 * 0.2 + 0 * 0.9 = 0.
- Рассчитаем выходной сигнал для каждого нейрона, используя функцию активации:
y1 = tanh(2 * a1) = tanh(2 * 0) = tanh(0) = 0,
y2 = 0.8 * a2 = 0.8 * 0 = 0.
- Найдем ошибку для каждого нейрона:
δ1 = y1 - dj = 0 - 0 = 0,
δ2 = y2 - dj = 0 - 0 = 0.
- Обновим синаптические веса:
ΔW11 = η * δ1 * φ'(a1) * x1 = η * 0 * (k * (1 - 0^2)) * 0 = 0,
ΔW12 = η * δ2 * φ'(a2) * x1 = η * 0 * (k * (1 - 0^2)) * 0 = 0,
ΔW21 = η * δ1 * φ'(a1) * x2 = η * 0 * (k * (1 - 0^2)) * 0 = 0,
ΔW22 = η * δ2 * φ'(a2) * x2 = η * 0 * (k * (1 - 0^2)) * 0 = 0.
- Итоговые синаптические веса:
W11 = W11 + ΔW11 = 0.7,
W12 = W12 + ΔW12 = 0.2,
W21 = W21 + ΔW21 = 0.4,
W22 = W22 + ΔW22 = 0.9.
Далее проводим аналогичные операции для оставшихся входных значений и рассчитываем новые веса сети. Обучение по операции эквивалентности происходит аналогичным образом.
Таким образом, каждая итерация обучения по циклу просчитывает взвешенные суммы, фактические выходы, ошибку и обновляет синаптические веса. В результате, сеть будет последовательно корректировать свои веса до достижения определенной точности и способности правильно предсказывать значения на новых входных данных.