Как найти весовые коэффициенты для каждой функции, используя регрессию logisti c без sklearn? - PullRequest
0 голосов
/ 15 марта 2020

Сначала, чтобы рассчитать потери как по тренировочным данным, так и по тесту, я использую следующую формулу из 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

Как найти новые веса для каждой функции?

...