Допустим, одна итерация вашего обучения принимает один образец из вашего набора данных. Так как вы используете регрессию logisti c, ваш начальный прогноз будет
p = sigmoid(x1*w1 + x2*w2 + b)
, где x1
и x2
- изученные и спящие входные значения. w1
и w2
- веса вашей модели, а b
- вектор смещения. Это вернет значение от 0 до 1.
Также обратите внимание, что я назвал значение слева p
, так как это прогнозируемое значение модели.
Стоимость для этой итерации, если вы используете двоичную кросс-энтропию, составит:
−(y*log(p) + (1−y)*log(1−p))
, где y - истинное значение входных данных образец. Если мы возьмем первую входную выборку в ваших тренировочных данных, истинное значение будет 1
.
Следовательно, ваша стоимость , J
, равна:
J = -(1*log(p) + (1-1)*log(1-p))
= -log(p)
Так как теперь мы знаем значение стоимости , которое является функцией параметров модели, мы можем использовать правило цепочки, чтобы найти градиент параметров относительно стоимости (или ошибка).
Затем вы обновите параметры модели следующими уравнениями:
wn = wn - alpha * dJ/dwn
b = b - alpha * dJ/db
, где n = 1, 2
и alpha
- скорость обучения вашей модели.
Для следующей итерации вы просто выполните тот же процесс с другим образцом из набора данных.