2015-08-03 2 views
1

В обратном распространении нейронной сети, имеющая функция активации сигмовидной,Вес, Как записать его в виде матрицы?

Вес правила Updation определяется по формуле:

NewWeight = OldWeight - alpha * D * A 

где альфа скорости обучения, А активации из предыдущего слоя,

D = (Y - Y')Y'(1-Y') ;D = Error Minimization, delta 

где Y = заданное значение и Y 'вычисляется в нейронной сети с помощью выходного слоя

Y в моем случае 4x1 = [0,3,0,2,0,4,0,1], а экземпляр Y 'равен 4x1 = [0,2,0,1,0,1,0,2]

Как вычислить D = (Y - Y') Y '(1- Y ')

(Y-Y') = 4x1 и Y '= 4x1, и 1 <> 4, поэтому матричное умножение невозможно. Также (1-Y ') равен 4x1. Как можно умножить {(Y - Y '), Y', (1-Y ')}, чтобы получить D? Если мне нужно выполнить Transpose, какую матрицу следует перенести, чтобы чистый эффект не изменился?

Или это элементное умножение?

ответ

0

Это действительно элементное умножение. Вам нужно умножить каждую выходную ошибку (Y-Y ') на производную от соответствующего выхода (w.r.t. веса), которая является Y' (1-Y ') для сигмоидной активации. Подумайте об этом как «исправленный сигнал ошибки». Итак, D * A - векторное внешнее произведение, которое даст вам матрицу с тем же размером, что и веса.

Смежные вопросы