Сначала, чтобы рассчитать потери как по тренировочным данным, так и по тесту, я использую следующую формулу из python обязательного задания 10-го вопроса. Где я буду рассчитывать потери как для тренировочного, так и для тестового набора данных. Вот мой код.
def l2regularizer(coefficient):
l2_reg = 0
l2_reg = [i**2 for i in coefficient]
return (alpha/2)*(sum(l2_reg))
def sigmoid(coefficient,x,intercept):
y_hat = intercept
for i in range(len(x)):
y_hat += (coefficient[i] * x[i])
return 1.0/(1.0+exp(-(y_hat)))
train_loss += (((-(y_train[0])) * (math.log10(sigmoid(w,X_train[i],b)))) - ((1-y_train[i]) * math.log10(sigmoid(w,X_train[i],b)))) + l2regularizer(w);
, так что это даст убытки. Как я могу рассчитать новый перехват для каждой функции. new_intercept_for_each_feature = old_intercept _for_each_feature - (sum_of_derivative_for_each_feature) * learning
Как найти новые веса для каждой функции?